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 50 51 52
|
# $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 $(INCLUDES)
OCAMLMLI= ocamlc $(INCLUDES)
OCAMLOPT= ocamlopt $(INCLUDES)
OCAMLDEP= ocamldep $(INCLUDES)
jobshop.out : scheduling.cmo jobshop.cmo
$(OCAMLC) -o $@ str.cma facile.cma $^
jobshop.opt : scheduling.cmx jobshop.cmx
$(OCAMLOPT) -o $@ str.cmxa facile.cmxa $^
.SUFFIXES:
.SUFFIXES: .ml .mli .mly .mll .cmi .cmo .cmx .out .opt .p.cmx .popt
.ml.cmo :
$(OCAMLC) -c $<
.mli.cmi :
$(OCAMLMLI) -c $<
.ml.cmx :
$(OCAMLOPT) -c $<
# To produce profiled objects
.ml.p.cmx :
$(OCAMLOPT) -p -c $<
mv $*.cmx $@
mv $*.o $*.p.o
.cmo.out :
$(OCAMLC) -o $@ facile.cma $<
# To produce profiled binaries
.p.cmx.popt :
$(OCAMLOPT) -p -o $@ facile.p.cmxa $<
.cmx.opt :
$(OCAMLOPT) -o $@ facile.cmxa $<
.mly.ml :
ocamlyacc $<
.mll.ml :
ocamllex $<
clean:
\rm -f *.cmo *.cmi *.cmx *.o *~ *.opt *.out .depend *.popt
.depend:
$(OCAMLDEP) *.mli *.ml > $@
include .depend
|