### ==========================================================================
### Makefile for generating a RCX binary with Quartz
### ==========================================================================

# name for the brickOS kernel
LIBDIR = /usr/lib/brickos
KERNEL = $(LIBDIR)/brickOS

MODULE = robot
IO = $(MODULE)_io.h

PROGRAMS=$(MODULE).lx

# extra dynamic sources
DOBJECTS=

all:: $(PROGRAMS)

include $(LIBDIR)/Makefile.common
include $(LIBDIR)/Makefile.user

$(MODULE).c: $(MODULE).qrz $(IO)
	qrz2aif --cpp --link $(MODULE).qrz
	aif2c --loop $(MODULE).aifs

$(IO): $(MODULE).conf
	saxonb-xslt -xsl:generate_io.xslt -s:$(MODULE).conf -o:$(IO)

rcx: $(MODULE).lx
	dll $(MODULE).lx

rcx-init:
	firmdl3 /usr/lib/brickos/brickOS.srec

clean::
	rm -f *.o *.dis *.dis2 *~ *.bak *.tgz *.s *.ds1 *.ds2 *.dmap *.dcoff
	rm -f *.srec *.map *.coff

realclean:: clean
	rm -f *.lx .depend tags TAGS
	rm -f $(IO)

.PHONY: all tag clean realclean
