# Location of crt0, system includes, command.com and msxdos.sys
MSXBASE = ../msx

# Location of msxlib
MSXLIB = ../msxlib

CFLAGS = -mz80 -I$(MSXBASE) -I$(MSXLIB)

#LDFLAGS = --no-std-crt0 --data-loc 0

CODELOC = $(shell grep "1 _HEADER" crt0msx_msxdos_biisi.lst | sed "s/.*size//;s/flags.*//;s/ //g;s/\t//g" | tr -d "\n")

# Choose according to the needs of the project
LDFLAGS = --code-loc 0x$(CODELOC) --data-loc 0 --no-std-crt0\
	crt0msx_msxdos_biisi.o $(MSXBASE)/ioport.o $(MSXBASE)/interrupt.o $(MSXLIB)/msxlib.o\
	$(MSXBASE)/putchar.o
#LDFLAGS += --code-loc 0x106 $(MSXBASE)/crt0msx_msxdos.o
#LDFLAGS += --code-loc 0x170 $(MSXBASE)/crt0msx_msxdos_advanced.o

# Typical "libs" to be linked in
LIBS =  $(MSXLIB)/msxlib.o \
	$(MSXBASE)/ioport.o \
	$(MSXBASE)/interrupt.o

# Project name extracted from the directory name
PROJ = $(shell basename `pwd`)

# All objects needed for compilation
OBJ = $(PROJ).o ArkosTrackerPlayer_MSX_ehja.o operaciones.o dang.o \
hospitaali.o pills.o mv.o

# Other files to be copied to the disk image
EXTRAS = autoexec.bat $(MSXBASE)/msxdos.sys $(MSXBASE)/command.com readme.txt

$(PROJ).com: $(OBJ)
	sdcc $(CFLAGS) $(OBJ) $(LDFLAGS) $(LIBS)
	hex2bin -e com $(PROJ).ihx

%.o: %.c
	sdcc $(CFLAGS) -c $<

%.o: %.s
	as-z80 -o $@ $<

$(PROJ).dsk: $(PROJ).com $(EXTRAS)
	-rm $@
	wrdsk $@ $^

# Run in openMSX
run: $(PROJ).dsk
	om $<

# Run in Nowind
up: $(PROJ).dsk
	nwhostapp -2 -i $<

clean:
	-rm *.lnk *.lst *.asm *.map *.rel *.ihx *.com *~ *.sym *.dsk \
	*.lk *.noi *.o

biisi: 	crt0msx_msxdos_biisi.s biisi_0103.inc
	as-z80 -o crt0msx_msxdos_biisi.o crt0msx_msxdos_biisi.s
	as-z80 -l crt0msx_msxdos_biisi.lst crt0msx_msxdos_biisi.s

