.PHONY : all images clean
CA65FLAGS = -l $@.lst

IMAGES    = 800antsc.rom 800apal.rom 800bntsc.rom 800bpal.rom aa0r10.rom aa1r11.rom bb0r1.rom bb1r2.rom bb2r3.rom bb2r3v4.rom cc1r4.rom bb1r3.rom bb1r4.rom bb1r59.rom bb1r59a.rom

OBJS = 800-fpp.o 800antsc.o 800apal.o 800bntsc.o 800bpal.o aa0r10.o aa1r11.o bb0r1.o bb1r2.o bb2r3.o bb2r3v4.o cc1r4.o bb1r3.o bb1r4.o bb1r59.o bb1r59a.o chrorg.o

all : images

.SECONDARY : $(OBJS)

-include $(OBJS:.o=.d)

images : $(IMAGES)

800%.rom : 800%.rom-nocksum setchecksum-800
	./setchecksum-800 $* $< $@

800%.rom-nocksum : 800%.o 800-fpp.o chrorg.o 800.cfg
	ld65 -o $@ -C 800.cfg $< 800-fpp.o chrorg.o

%ntsc.o : %.s
	ca65 $(CA65FLAGS) -D PALFLG=0 --create-dep $*ntsc.d $< -o $@

%pal.o : %.s
	ca65 $(CA65FLAGS) -D PALFLG=1 --create-dep $*pal.d $< -o $@

%.rom : %.rom-nocksum setchecksum-xl
	./setchecksum-xl $< $@

%.rom-nocksum : %.o xl.cfg
	ld65 -o $@ -C xl.cfg $<

%.o : %.s
	ca65 $(CA65FLAGS) --create-dep $*.d $< -o $@

%.dump : %.rom
	od -tx1 -Ax -v $^ > $@

setchecksum-xl setchecksum-800 : %: %.c
	$(CC) -o $@ -Wall $^

clean :
	$(RM) *.o *.d *~ *.lst *.rom *.dump setchecksum-800 setchecksum-xl
