#note: if you add a file (a .mli or .ml), dont forget to do a make depend -include ../Makefile.config TARGET=ctl SRC=flag_ctl.ml ast_ctl.ml pretty_print_ctl.ml ctl_engine.ml wrapper_ctl.ml SYSLIBS=str.cma unix.cma LIBS=../commons/commons.cma ../globals/globals.cma INCLUDES=-I ../commons -I ../commons/ocamlextra -I ../globals #The Caml compilers. #for warning: -w A #for profiling: -p -inline 0 with OCAMLOPT OCAMLCFLAGS ?= -g -dtypes OCAMLC =ocamlc$(OPTBIN) $(OCAMLCFLAGS) $(INCLUDES) OCAMLOPT = ocamlopt$(OPTBIN) $(OPTFLAGS) $(INCLUDES) OCAMLDEP = ocamldep$(OPTBIN) $(INCLUDES) OCAMLMKTOP=ocamlmktop -g -custom $(INCLUDES) LIB=$(TARGET).cma OPTLIB=$(LIB:.cma=.cmxa) OBJS = $(SRC:.ml=.cmo) OPTOBJS = $(SRC:.ml=.cmx) all: $(LIB) all.opt: $(OPTLIB) $(TARGET).top: $(LIB) test_ctl.cmo $(OCAMLMKTOP) -o $(TARGET).top $(SYSLIBS) $(LIBS) $(OBJS) test_ctl.cmo $(LIB): $(OBJS) $(OCAMLC) -a -o $(LIB) $(OBJS) $(OPTLIB): $(OPTOBJS) $(OCAMLOPT) -a -o $(OPTLIB) $(OPTOBJS) clean:: rm -f $(LIB) $(OPTLIB) $(LIB:.cma=.a) $(TARGET).top .SUFFIXES: .SUFFIXES: .ml .mli .cmo .cmi .cmx .ml.cmo: $(OCAMLC) -c $< .mli.cmi: $(OCAMLC) -c $< .ml.cmx: $(OCAMLOPT) -c $< # clean rule for others files clean:: rm -f *.cm[iox] *.o *.annot rm -f *~ .*~ #*# depend: $(OCAMLDEP) *.mli *.ml > .depend distclean:: rm -f .depend .depend: $(OCAMLDEP) *.mli *.ml > .depend -include .depend