1 BIN_DIR = /usr/local/bin
2 REQUIRES = unix helm-cic_textual_parser \
3 helm-mathql helm-mathql_interpreter
6 OCAMLOPTIONS = -package "$(REQUIRES)" -predicates "$(PREDICATES)"
7 OCAMLC = ocamlfind ocamlc $(OCAMLOPTIONS)
8 OCAMLOPT = ocamlfind ocamlopt $(OCAMLOPTIONS)
13 LIBRARIES = $(shell ocamlfind query -recursive -predicates "byte $(PREDICATES)" -format "%d/%a" $(REQUIRES))
14 LIBRARIES_OPT = $(shell ocamlfind query -recursive -predicates "native $(PREDICATES)" -format "%d/%a" $(REQUIRES))
20 DEPOBJS = $(MQTOP) $(MQITOP)
22 AUXOBJS = mQGTopParser.ml mQGTopParser.mli mQGTopLexer.ml
25 opt: $(DEPOBJS:.ml=.opt)
28 $(OCAMLDEP) $(DEPOBJS) $(AUXOBJS) > .depend
30 mqtop: $(MQTOP:.ml=.cmo) $(LIBRARIES)
31 $(OCAMLC) -linkpkg -o mqtop $(MQTOP:.ml=.cmo)
33 mqtop.opt: $(MQTOP:.ml=.cmx) $(LIBRARIES_OPT)
34 $(OCAMLOPT) -linkpkg -o mqtop.opt $(MQTOP:.ml=.cmx)
36 mqitop: $(MQITOP:.ml=.cmo) $(LIBRARIES)
37 $(OCAMLC) -linkpkg -o mqitop $(MQITOP:.ml=.cmo)
39 mqitop.opt: $(MQITOP:.ml=.cmx) $(LIBRARIES_OPT)
40 $(OCAMLOPT) -linkpkg -o mqitop.opt $(MQITOP:.ml=.cmx)
42 mqgtop: mQGTopParser.cmi $(AUXOBJS:.ml=.cmo) $(MQGTOP:.ml=.cmo) $(LIBRARIES)
43 $(OCAMLC) -linkpkg -o mqgtop $(AUXOBJS:.ml=.cmo) $(MQGTOP:.ml=.cmo)
45 mqgtop.opt: $(AUXOBJS:.ml=.cmx) $(MQGTOP:.ml=.cmx) $(LIBRARIES_OPT)
46 $(OCAMLOPT) -linkpkg -o mqgtop.opt $(AUXOBJS:.ml=.cmx) $(MQGTOP:.ml=.cmx)
48 .SUFFIXES: .ml .mli .cmo .cmi .cmx .mly .mll
51 .mli.cmi: $(LIBRARIES)
53 .ml.cmx: $(LIBRARIES_OPT)
62 $(DEPOBJS:%.ml=%.cmo): $(LIBRARIES)
63 $(DEPOBJS:%.ml=%.cmx): $(LIBRARIES_OPT)
66 rm -f *.cm[iox] *.o $(DEPOBJS:.ml=) $(DEPOBJS:.ml=.opt) \
67 mQGTopParser.ml mQGTopParser.mli mQGTopLexer.ml
70 cp $(DEPOBJS:.ml=) $(DEPOBJS:.ml=.opt) $(BIN_DIR)
74 rm -f $(DEPOBJS:.ml=) $(DEPOBJS:.ml=.opt)
76 .PHONY: install uninstall clean
78 ifneq ($(MAKECMDGOALS), depend)