BIN_DIR = /usr/local/bin REQUIRES = zip # unix helm-cic_textual_parser \ # helm-mathql helm-mathql_interpreter helm-mathql_generator PREDICATES = OCAMLOPTIONS = -package "$(REQUIRES)" -predicates "$(PREDICATES)" OCAMLC = ocamlfind ocamlc $(OCAMLOPTIONS) OCAMLOPT = ocamlfind ocamlopt $(OCAMLOPTIONS) OCAMLDEP = ocamldep OCAMLYACC = ocamlyacc OCAMLLEX = ocamllex LIBRARIES = $(shell ocamlfind query -recursive -predicates "byte $(PREDICATES)" -format "%d/%a" $(REQUIRES)) LIBRARIES_OPT = $(shell ocamlfind query -recursive -predicates "native $(PREDICATES)" -format "%d/%a" $(REQUIRES)) HXPTOP = hxpTop.ml DEPOBJS = $(HXPTOP) AUXOBJS = hxpTypes.ml hxpParser.ml hxpParser.mli hxpLexer.ml hxpXML.ml all: hxp opt: hxp.opt depend: $(AUXOBJS) $(OCAMLDEP) $(DEPOBJS) $(AUXOBJS) > .depend hxp: hxpParser.cmi $(AUXOBJS:.ml=.cmo) $(HXPTOP:.ml=.cmo) $(LIBRARIES) $(OCAMLC) -linkpkg -o hxp $(AUXOBJS:.ml=.cmo) $(HXPTOP:.ml=.cmo) hxp.opt: $(AUXOBJS:.ml=.cmx) $(HXPTOP:.ml=.cmx) $(LIBRARIES_OPT) $(OCAMLOPT) -linkpkg -o hxp.opt $(AUXOBJS:.ml=.cmx) $(HXPTOP:.ml=.cmx) .SUFFIXES: .ml .mli .cmo .cmi .cmx .mly .mll .ml.cmo: $(LIBRARIES) $(OCAMLC) -c $< .mli.cmi: $(LIBRARIES) $(OCAMLC) -c $< .ml.cmx: $(LIBRARIES_OPT) $(OCAMLOPT) -c $< .mly.ml: $(OCAMLYACC) $< .mly.mli: $(OCAMLYACC) $< .mll.ml: $(OCAMLLEX) $< $(DEPOBJS:%.ml=%.cmo): $(LIBRARIES) $(DEPOBJS:%.ml=%.cmx): $(LIBRARIES_OPT) clean: rm -f *.cm[iox] *.o hxp hxp.opt \ hxpParser.ml hxpParser.mli hxpLexer.ml install: cp hxp hxp.opt $(BIN_DIR) uninstall: cd $(BIN_DIR) rm -f hxp hxp.opt .PHONY: install uninstall clean ifneq ($(MAKECMDGOALS), depend) include .depend endif