
OBJDIR	:= obj
DBGDIR	:= debug

include Makefile.config

all: $(DBGDIR)/tmotcw_pal_2k.bin $(DBGDIR)/tmotcw_ntsc_2k.bin
	$(LS) $(DBGDIR)/*.bin

release: menu/menu.bin supercharger/tmotcw_pal.bin supercharger/tmotcw_ntsc.bin all

menu/menu.bin:
	make -C menu

supercharger/tmotcw_pal.bin supercharger/tmotcw_ntsc.bin:
	make -C supercharger

run: $(DBGDIR)/tmotcw_pal_2k.bin
	$(LS) $<
	$(EMU) -type cv -format pal $<

runntsc: $(DBGDIR)/tmotcw_ntsc_2k.bin
	$(LS) $<
	$(EMU) -type cv -format ntsc $<

hd: $(DBGDIR)/tmotcw_pal.bin
	$(HEXDUMP) $<

clean:
	$(RM) $(OBJDIR) $(DBGDIR)
	make -C formenu $@
	make -C menu $@
	make -C supercharger $@
	make -C tools $@

$(OBJDIR) $(DBGDIR):
	mkdir -p $(OBJDIR) $(DBGDIR)

$(DBGDIR)/tmotcw_pal.bin: $(OBJDIR)/main_pal.o65
	$(LD) -Catari2600_cv_fe.ld -o $@ $^ -m $(DBGDIR)/$(notdir $(basename $@)).map -Ln $(DBGDIR)/$(notdir $(basename $@)).labels -vm

$(DBGDIR)/tmotcw_ntsc.bin: $(OBJDIR)/main_ntsc.o65
	$(LD) -Catari2600_cv_fe.ld -o $@ $^ -m $(DBGDIR)/$(notdir $(basename $@)).map -Ln $(DBGDIR)/$(notdir $(basename $@)).labels -vm

$(DBGDIR)/tmotcw_pal_2k.bin: $(DBGDIR)/tmotcw_pal.bin
	$(CAT) $< $< $< $< >$@

$(DBGDIR)/tmotcw_ntsc_2k.bin: $(DBGDIR)/tmotcw_ntsc.bin
	$(CAT) $< $< $< $< >$@

$(OBJDIR)/main_pal.o65: main.s $(OBJDIR) $(wildcard *.inc)
	$(AS) $(ASFLAGS) -DNTSC=0 -o $@ $<

$(OBJDIR)/main_ntsc.o65: main.s $(OBJDIR) $(wildcard *.inc)
	$(AS) $(ASFLAGS) -DNTSC=1 -o $@ $<


