]> matita.cs.unibo.it Git - helm.git/blob - helm/gTopLevel/topLevel/Makefile
Initial revision
[helm.git] / helm / gTopLevel / topLevel / Makefile
1 BIN_DIR = /usr/local/bin
2 REQUIRES = helm-urimanager helm-cic_textual_parser helm-cic_proof_checking helm-mathql helm-mathql_interpreter
3 PREDICATES =
4 OCAMLOPTIONS = -I .. -package "$(REQUIRES)" -predicates "$(PREDICATES)"
5 OCAMLC = ocamlfind ocamlc $(OCAMLOPTIONS)
6 OCAMLOPT = ocamlfind ocamlopt $(OCAMLOPTIONS)
7 OCAMLDEP = ocamldep
8
9 LIBRARIES = $(shell ocamlfind query -recursive -predicates "byte $(PREDICATES)" -format "%d/%a" $(REQUIRES))
10 LIBRARIES_OPT = $(shell ocamlfind query -recursive -predicates "native $(PREDICATES)" -format "%d/%a" $(REQUIRES))
11
12 all: topLevel
13 opt: topLevel.opt
14
15 DEPOBJS = topLevel.ml
16
17 TOPLEVELOBJS = ../mQueryGenerator.cmo topLevel.cmo
18
19 depend:
20         $(OCAMLDEP) $(DEPOBJS) > .depend
21
22 topLevel: $(TOPLEVELOBJS) $(LIBRARIES)
23         $(OCAMLC)  -linkpkg -o topLevel $(TOPLEVELOBJS)
24
25 topLevel.opt: $(TOPLEVELOBJS:.cmo=.cmx) $(LIBRARIES_OPT)
26         $(OCAMLOPT) -linkpkg -o topLevel.opt $(TOPLEVELOBJS:.cmo=.cmx)
27
28 .SUFFIXES: .ml .mli .cmo .cmi .cmx
29 .ml.cmo: $(LIBRARIES)
30         $(OCAMLC) -c $<
31 .mli.cmi: $(LIBRARIES)
32         $(OCAMLC) -c $<
33 .ml.cmx: $(LIBRARIES_OPT)
34         $(OCAMLOPT) -c $<
35
36 clean:
37         rm -f *.cm[iox] *.o topLevel topLevel.opt
38
39 install:
40         cp topLevel topLevel.opt $(BIN_DIR)
41
42 uninstall:
43         rm -f $(BIN_DIR)/topLevel $(BIN_DIR)/topLevel.opt
44
45 .PHONY: install uninstall clean
46
47 include .depend