CC = cmoc
COUT = --usim
COPTS = -c $(COUT)
CBLD = -i --org=0200 $(COUT)
CBLD2 = -i --org=2000 --data=d0 $(COUT)
CBLDA = -i --org=A000 --data=d0 $(COUT)
CBLDF0 = -i --org=F000 --data=d0 $(COUT)

SRECBIN = srec2bin
SRECOPTS = -q -o A000 -f FF
SREC_F0 = -q -o F000 -f FF

# OBJECTS2 = diskio.o ff.o ffunicode.o ffsystem.o main.o rtBIOS_F8.o

OBJECTSFF = diskio.o ff.o ffunicode.o ffsystem.o BIOS.o
OBJECTS = diskio.o ff.o ffunicode.o ffsystem.o main.o BIOS.o
OBJECTS_BIOS = jtBIOS.o BIOS.o main.o

TARGETS = fatfs_A.bin fatfs_2.s19 bios_F0.bin rtFATFS_2.o rtFATFS_A.o rtBIOS_F0.o testCOPY.s19

# ================ rules ==========================


all : ${TARGETS}


testCOPY.o : testCOPY.c ff.h ffconf.h
	$(CC) $(COPTS) $<

testCOPY.s19 : testCOPY.o $(OBJECTSFF)
	$(CC) $(CBLD) -o $@ $+


bios_F0.s19 :  $(OBJECTS_BIOS) bios.h
	$(CC) $(CBLDF0) -o $@ $(OBJECTS_BIOS)

bios_F0.bin : bios_F0.s19
	$(SRECBIN) $(SREC_F0) $^ $@

fatfs_2.s19 : jtFATFS.o  $(OBJECTS)
	$(CC) $(CBLD2) -o $@ $+

fatfs_A.s19 : jtFATFS.o  $(OBJECTS)
	$(CC) $(CBLDA) -o $@ $+

fatfs_A.bin : fatfs_A.s19
	$(SRECBIN) $(SRECOPTS) $^ $@

BIOS.o : BIOS.c BIOS.h
	$(CC) $(COPTS) $<

diskio.o : diskio.c diskio.h ff.h ffconf.h bios.h
	$(CC) $(COPTS) $<

main.o : main.c
	$(CC) $(COPTS) $<

ff.o : ff.c ff.h ffconf.h
	$(CC) $(COPTS) $<

ffunicode.o : ffunicode.c ff.h ffconf.h
	$(CC) $(COPTS) $<

ffsystem.o : ffsystem.c ff.h ffconf.h
	$(CC) $(COPTS) $<

jtFATFS.o : jtFATFS.s
	$(CC) $(COPTS) $<

jtBIOS.o : jtBIOS.s
	$(CC) $(COPTS) $<

rtFATFS_A.o : rtFATFS_A.s
	$(CC) $(COPTS) $<

rtFATFS_2.o : rtFATFS_2.s
	$(CC) $(COPTS) $<

rtBIOS_F0.o : rtBIOS_F0.s
	$(CC) $(COPTS) $<


clean:
	del $(TARGETS)
	del *.o
	del *.s19
	del *.srec
	del *.link
	del *.map
	del *.lst

