#
# $Id: Makefile,v 1.11 2012-02-18 18:59:33 scg Exp $
#
# ...
#
# (C)2011 St(u)dio of Computer Games
# Alexander Ozumenko <a.ozumenko@gmail.com>
#


INCLUDES=-I../fx2lib/include
LIBS=-lfx2 -L../fx2lib/lib

AS=asx8051
ASFLAGS+=-plosgff
CC=sdcc
CFLAGS+=-mmcs51 --no-xinit-opt ${INCLUDES}
LDFLAGS= \
    --code-size 0x2000 \
    -Wl"-b INT2JT = 0x3f00" \
    -Wl"-b USBDESCSEG = 0xe000" \
    ${LIBS} ${CFLAGS}

BASENAME = umse2_slave

umse2_slave_SOURCES = descr.a51 main.c
umse2_slave_RELS = dscr.rel main.rel

all: $(BASENAME).iic

%.rel: %.a51
	$(AS) $(ASFLAGS) $<

%.rel : %.c
	$(CC) -c $(CFLAGS) $(CPPFLAGS) $< -o $@

$(BASENAME).hex: $(umse2_slave_RELS)
	$(CC) $(LDFLAGS) -o $@ $+

$(BASENAME).iic: $(BASENAME).hex
	../utils/hex2bix -i -f 0xC2 -m 0xffff $@ $<


.PHONY: load flash
load: $(BASENAME).hex
	sudo cycfx2prog prg:$(BASENAME).hex run

flash: $(BASENAME).iic
	

.PHONY: clean
clean:
	rm -f *.lnk *.asm *.lst *.map *.mem *.rel *.rst *.sym $(BASENAME).hex $(BASENAME).iic