1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
|
# $Id: Makefile.facile,v 1.2 2003/08/06 14:01:31 brisset Exp $
# Generic Makefile for single files using FaCiLe. Allow to produce
# file.out (ocamlc) and file.opt (ocamlopt) from file.ml while linking
# with the FaCiLe library
FACILEDIR= +facile
INCLUDES= -I $(FACILEDIR)
OCAMLC= ocamlc -g
OCAMLMLI= ocamlc
OCAMLOPT= ocamlopt
OCAMLDEP= ocamldep
OCAMLC_INVOKE = $(OCAMLC) $(INCLUDES)
OCAMLOPT_INVOKE = $(OCAMLOPT) $(INCLUDES)
.SUFFIXES:
.SUFFIXES: .ml .mli .mly .mll .cmi .cmo .cmx .out .opt .p.cmx .popt
.ml.cmo :
$(OCAMLC_INVOKE) -c $<
.mli.cmi :
$(OCAMLMLI) $(INCLUDES) -c $<
.ml.cmx :
$(OCAMLOPT_INVOKE) -c $<
# To produce profiled objects
.ml.p.cmx :
$(OCAMLOPT_INVOKE) -p -c $<
mv $*.cmx $@
mv $*.o $*.p.o
.cmo.out :
$(OCAMLC_INVOKE) -o $@ facile.cma $<
# To produce profiled binaries
.p.cmx.popt :
$(OCAMLOPT_INVOKE) -p -o $@ facile.p.cmxa $<
.cmx.opt :
$(OCAMLOPT_INVOKE) -o $@ facile.cmxa $<
.mly.ml :
ocamlyacc $<
.mll.ml :
ocamllex $<
clean:
\rm -f *.cmo *.cmi *.cmx *.o *~ *.opt *.out .depend *.popt
.depend:
$(OCAMLDEP) $(INCLUDES) *.mli *.ml > $@
include .depend
|