]> matita.cs.unibo.it Git - helm.git/blob - helm/ocaml/Makefile.common
1) .cma/.cmxa used to simplify META files.
[helm.git] / helm / ocaml / Makefile.common
1 # This Makefile must be included by another one defining:
2 #  $REQUIRES
3 #  $PREDICATES
4 #  $DEPOBJS
5 #  $OBJECTS
6 #  $PACKAGE
7 # and put in a directory where there is a .depend file.
8
9 BIN_DIR = /usr/local/bin
10 OCAMLOPTIONS = -package "$(REQUIRES)" -predicates "$(PREDICATES)"
11 OCAMLC = ocamlfind ocamlc $(OCAMLOPTIONS)
12 OCAMLOPT = ocamlfind ocamlopt $(OCAMLOPTIONS)
13 OCAMLDEP = ocamldep
14
15 ARCHIVE = $(PACKAGE).cma
16 #ARCHIVE_C = $(PACKAGE).a
17 ARCHIVE_OPT = $(PACKAGE).cmxa
18
19
20 $(ARCHIVE): $(OBJECTS)
21         $(OCAMLC) -a -o $@ $^
22
23 $(ARCHIVE_OPT): $(OBJECTS:.cmo=.cmx)
24         $(OCAMLOPT) -a -o $@ $^
25
26 all: $(ARCHIVE)
27 opt: $(ARCHIVE_OPT)
28
29 depend:
30         $(OCAMLDEP) $(DEPOBJS) > .depend
31
32 .SUFFIXES: .ml .mli .cmo .cmi .cmx
33 .ml.cmo:
34         $(OCAMLC) -c $<
35 .mli.cmi:
36         $(OCAMLC) -c $<
37 .ml.cmx:
38         $(OCAMLOPT) -c $<
39
40 clean:
41         rm -f *.cm[ioax] *.cmxa *.o
42
43 install:
44         #cp
45
46 uninstall:
47         #rm -f
48
49 .PHONY: all opt depend install uninstall clean
50
51 include .depend