#
#
#SCM      = sxi
#HEAPOPT   = -s
SCM      = petite
HEAPOPT  = -s1

target   = q2c.heap
sdir     = sources
gsources = lalr.ss \
           common.ss \
           q.grammar
sources  = common.ss \
           reader.ss \
           numbers.ss \
           ast.ss \
           parser.ss \
           types.ss \
           checktypes.ss \
           fold.ss \
           mach.ss \
           gammas.ss \
           lr.ss \
           ir-to-lr.ss \
           hash.ss \
           optlr.ss \
           lr-to-c.ss \
           compiler.ss

.PHONY: all clean realclean install

all: $(target)

clean:
	$(RM) $(sdir)/q.output

realclean: clean
	$(RM) $(sdir)/q.tables $(target) q2c

install: $(target)
	cp $(target) $(INSTALL_ROOT)/usr/lib/q2c/
	sed -e 's%the-heap%/usr/lib/q2c/$(target)%' \
           < sources/q2c > q2c
	chmod +x q2c
	cp q2c $(INSTALL_ROOT)/usr/bin/

$(target): $(sources:%=$(sdir)/%) $(sdir)/q.tables $(sdir)/loadme.ss
	cd $(sdir); $(SCM) $(HEAPOPT) ../$(target) loadme.ss

$(sdir)/q.tables: $(sdir)/mk-q.ss
	cd $(sdir); $(SCM) mk-q.ss

$(sdir)/q.tables: $(gsources:%=$(sdir)/%)
