FILESDIR	?= files
INCLS		= $(wildcard $(FILESDIR)/*.prc) $(wildcard $(FILESDIR)/*.pdb)
ROM			= rom.bin
MKROMDIR	= ../tools/mkrom
MKROM		= $(MKROMDIR)/mkrom
DALDIR		= dal
DAL			= $(DALDIR)/DAL.prc
TOKENS		= --token=snum303132333435363738394142 --token=knvp515745525459


emu: $(MKROM) $(DAL) $(INCLS)		#CortexEmu
	$(MKROM) $(TOKENS) -b 0xd0c00000 --hal-id CoEm $(DAL) $(INCLS) > $(ROM)

emu_loram: $(MKROM) $(DAL) $(INCLS)		#CortexEmu
	$(MKROM) $(TOKENS) -b 0x70c00000 -m Tpwv --hal-id CoEm $(DAL) $(INCLS) > $(ROM)

virtual: $(MKROM) $(DAL) $(INCLS)	#virtual
	$(MKROM) $(TOKENS) -b 0xd0c00000 --hal-id virt $(DAL) $(INCLS) > $(ROM)

virtual_loram: $(MKROM) $(DAL) $(INCLS)	#virtual, ram below 0x80000000
	$(MKROM) $(TOKENS) -b 0x70c00000 --hal-id virt $(DAL) $(INCLS) > $(ROM)

429: $(MKROM) $(DAL) $(INCLS)		#st32f429-discovery board
	$(MKROM) $(TOKENS) --hal-id d429 $(DAL) $(INCLS) > $(ROM)

respring: $(MKROM) $(DAL) $(INCLS)	#respring
	$(MKROM) $(TOKENS) --hal-id reSp -b 0x08000000 -s 0x200000 $(DAL) $(INCLS) > $(ROM)

469: $(MKROM) $(DAL) $(INCLS)		#st32f469-discovery board
	$(MKROM) $(TOKENS) --hal-id d469 -b 0x08000000 -s 0x200000 $(DAL) $(INCLS) > $(ROM)

msio_old: $(MKROM) $(DAL) $(INCLS)		#stm32h7 running out of mmu-mapped QSPI (2MB of rom)
	$(MKROM) $(TOKENS) --hal-id msio -b 0x70000000 -s 0x200000 $(DAL) $(INCLS) > $(ROM)

msio: $(MKROM) $(DAL) $(INCLS)		#stm32h7 running out of flash *1MB)
	$(MKROM) $(TOKENS) --hal-id msio -b 0x08000000 -s 0x200000 $(DAL) $(INCLS) > $(ROM)

t3: $(MKROM) $(DAL) $(INCLS)
	$(MKROM) $(TOKENS) --hal-id T_T3 -b 0x10000000 --extra-heap-ofst=4 -s 0x230000 $(DAL) $(INCLS) > $(ROM)

axim: $(MKROM) $(DAL) $(INCLS)
	$(MKROM) $(TOKENS) --hal-id AxX3 -b 0x10040000 --extra-heap-ofst=4 -s 0x2c0000 $(DAL) $(INCLS) > P16R_K0.NB0

RP2040_Waveshare: $(MKROM) $(DAL) $(INCLS)		#RP2040 (Waveshare board)
	$(MKROM) $(TOKENS) -b 0x10001000 -s 0x1ff000 --hal-id 2040 $(DAL) $(INCLS) > $(ROM)

RP2040_PalmCard: $(MKROM) $(DAL) $(INCLS)		#RP2040 (PalmCard)
	$(MKROM) $(TOKENS) -b 0x10001000 -s 0x1ff000 --hal-id pCrd $(DAL) $(INCLS) > $(ROM)


$(MKROM):
	make -C $(MKROMDIR)

$(FS):
	make -C $(FSDIR)

$(SLOT):
	make -C $(SLOTDIR)

$(DAL):
	make -C $(DALDIR)

clean:
	rm -f $(ROM)

