
.PHONY : clean check

REVISIONS = 1200xl 1 2 3 4 arabic

INCDIR    = ../include

INC = $(INCDIR)/atari.inc $(INCDIR)/gtia.inc \
      $(INCDIR)/pokey.inc $(INCDIR)/pia.inc $(INCDIR)/antic.inc

CA65FLAGS = -l -I$(INCDIR)

IMAGES    = atarixl-rev0.rom \
            atarixl-rev1.rom  \
            atarixl-rev2.rom  \
            atarixl-rev3.rom  \
            atarixl-rev4.rom  \
            atarixl-rev59.rom

OBJ0 = c000cbff-rev0.o cc00cfff-rev0.o 500057ff-rev0.o d800dfff-rev0.o e000e3ff-rev0.o e400ffff-rev0.o
OBJ1 = c000cbff-rev1.o cc00cfff-rev1.o 500057ff-rev1.o d800dfff-rev1.o e000e3ff-rev1.o e400ffff-rev1.o
OBJ2 = c000cbff-rev2.o cc00cfff-rev2.o 500057ff-rev2.o d800dfff-rev2.o e000e3ff-rev1.o e400ffff-rev2.o
OBJ3 = c000cbff-rev3.o cc00cfff-rev3.o 500057ff-rev3.o d800dfff-rev3.o e000e3ff-rev1.o e400ffff-rev3.o
OBJ59 = c000cbff-rev59.o cc00cfff-arabic-rev59.o 500057ff-rev59.o d800dfff-rev59.o e000e3ff-arabic-rev59.o e400ffff-rev59.o
OBJ4 = c000cbff-rev4.o cc00cfff-rev4.o 500057ff-rev4.o d800dfff-rev4.o e000e3ff-rev1.o e400ffff-rev4.o

%-rev0.o : %.asm
	ca65 -DOS_REVISION=0  $(CA65FLAGS) $^ -o $@

%-rev1.o : %.asm
	ca65 -DOS_REVISION=1  $(CA65FLAGS) $^ -o $@

%-rev2.o : %.asm
	ca65 -DOS_REVISION=2  $(CA65FLAGS) $^ -o $@

%-rev3.o : %.asm
	ca65 -DOS_REVISION=3  $(CA65FLAGS) $^ -o $@

%-rev4.o : %.asm
	ca65 -DOS_REVISION=4  $(CA65FLAGS) $^ -o $@

%-rev59.o : %.asm
	ca65 -DOS_REVISION=59 $(CA65FLAGS) $^ -o $@

images : $(IMAGES)

atarixl-rev0.rom : $(OBJ0)
	ld65 -C atarixl.lnk $(OBJ0) -o $@

atarixl-rev1.rom : $(OBJ1)
	ld65 -C atarixl.lnk $(OBJ1) -o $@

atarixl-rev2.rom : $(OBJ2)
	ld65 -C atarixl.lnk $(OBJ2) -o $@

atarixl-rev3.rom : $(OBJ3)
	ld65 -C atarixl.lnk $(OBJ3) -o $@

atarixl-rev4.rom : $(OBJ4)
	ld65 -C atarixl.lnk $(OBJ4) -o $@

atarixl-rev59.rom : $(OBJ59)
	ld65 -C atarixl.lnk $(OBJ59) -o $@

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

$(IMAGES) : atarixl.lnk $(OBJ) $(INC)

check : $(IMAGES)
	md5sum -cv MD5SUM

clean :
	$(RM) *.o *~ *.lst *.rom *.dump
