# Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen # Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix # This file is part of Coccinelle. # # Coccinelle is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, according to version 2 of the License. # # Coccinelle is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with Coccinelle. If not, see . # # The authors reserve the right to distribute this or future versions of # Coccinelle under other licenses. -include ../Makefile.config ############################################################################## # Variables ############################################################################## TARGET=globals SRC= flag.ml config.ml LIBS= INCLUDES= ############################################################################## # Generic variables ############################################################################## OCAMLCFLAGS ?= -g -dtypes OCAMLC =ocamlc$(OPTBIN) $(OCAMLCFLAGS) $(INCLUDES) OCAMLOPT = ocamlopt$(OPTBIN) $(OPTFLAGS) $(INCLUDES) OCAMLDEP = ocamldep$(OPTBIN) $(INCLUDES) OCAMLMKTOP=ocamlmktop -g -custom $(INCLUDES) OBJS= $(SRC:.ml=.cmo) OPTOBJS= $(SRC:.ml=.cmx) ############################################################################## # Top rules ############################################################################## all: $(TARGET).cma all.opt: $(TARGET).cmxa $(TARGET).cma: $(OBJS) $(LIBS) $(OCAMLC) -a -o $(TARGET).cma $(OBJS) $(TARGET).cmxa: $(OPTOBJS) $(LIBS:.cma=.cmxa) $(OCAMLOPT) -a -o $(TARGET).cmxa $(OPTOBJS) ############################################################################## # Developer rules ############################################################################## .SUFFIXES: .ml .mli .cmo .cmi .cmx .ml.cmo: $(OCAMLC) -c $< .mli.cmi: $(OCAMLC) -c $< .ml.cmx: $(OCAMLOPT) -c $< .ml.mldepend: $(OCAMLC) -i $< clean:: rm -f *.cm[ioxa] *.o *.a *.cmxa *.annot rm -f *~ .*~ gmon.out #*# distclean:: rm -f .depend beforedepend:: depend:: beforedepend $(OCAMLDEP) *.mli *.ml > .depend -include .depend