
########################################################
# You shouldn't need to change anything below this line

include ../../configure

SRCS = tl.lex tl.grm interface.sml join.sml main.sml tl2strl.sml

help:
	@echo "Pick one of the following targets:"
	@echo "    make all        - compile tl2strl"
	@echo "    make install    - install tl2strl"
	@echo "    make clean      - clean tl2strl"

all: $(TL2STRL).heap.$(ARCH)

new-$(TL2STRL):
	@echo '#!/bin/sh' > $(TL2STRL)
	@echo '$(SML) @SMLdebug=/dev/null @SMLquiet @SMLload=$(HEAPDIR)/$(TL2STRL).heap.$(ARCH) $$@' >> $(TL2STRL)

$(TL2STRL).heap.$(ARCH): $(SRCS)
	@echo 'Group is' > sources.cm
	@echo '$(SML_LIBS)/smlnj-lib.cm' >> sources.cm
	@echo '$(SML_LIBS)/ml-yacc-lib.cm' >> sources.cm
	@echo '' >> sources.cm
	@for i in $(SRCS); do ( echo $$i >> sources.cm); done
	echo 'CM.make(); TlToStrl.dump_heap "$(TL2STRL).heap";' | $(SML)

install: new-$(TL2STRL) $(TL2STRL).heap.$(ARCH)
	$(MKDIRHIER) $(BINDIR)
	$(MKDIRHIER) $(HEAPDIR)
	$(MKDIRHIER) $(MANDIR)
	$(INSTALL) -m 644 $(TL2STRL).1 $(MANDIR)
	$(INSTALL) -m 644 $(TL2STRL).heap.$(ARCH) $(HEAPDIR)/$(TL2STRL).heap.$(ARCH)
	$(INSTALL) -m 755 $(TL2STRL) $(BINDIR)/$(TL2STRL)

clean:
	rm -f $(TL2STRL).heap.$(ARCH) $(TL2STRL) tl.lex.sml tl.grm.sml tl.grm.sig tl.grm.desc
