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

include ../../configure

SRCS = oc5.lex oc5.grm oc.sml dirops.sml interface.sml join.sml main.sml

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

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

new-$(OCCHECK):
	@echo 's|sml_run_time_prototype|$(SML_RT_DIR)/run.'$(ARCH)'|' > sed-tmp
	@echo 's|occheck_heap_prototype|$(HEAPDIR)/$(OCCHECK).heap.$(ARCH)|' >> sed-tmp
	@echo '#!'`which perl` >  $(OCCHECK)
	@sed -f sed-tmp < occheck-prototype >> $(OCCHECK)
	@rm -f sed-tmp

$(OCCHECK).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(); OcCheckMain.dump_heap "$(OCCHECK).heap";' | $(SML)

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

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