permit multiline comments and strings in macros
[bpt/coccinelle.git] / parsing_c / Makefile
index 1679e7e..9f9e794 100644 (file)
@@ -8,7 +8,7 @@ endif
 TARGET=parsing_c
 
 # - type_cocci.ml ast_cocci.ml  # + unparse_hrule
-SRC= flag_parsing_c.ml parsing_stat.ml \
+SRC= token_annot.ml flag_parsing_c.ml parsing_stat.ml \
  token_c.ml ast_c.ml control_flow_c.ml \
  visitor_c.ml lib_parsing_c.ml \
  control_flow_c_build.ml \
@@ -50,7 +50,8 @@ SYSLIBS= str.cma unix.cma num.cma
 
 #for warning:  -w A
 #for profiling:  -p -inline 0   with OCAMLOPT
-OCAMLCFLAGS ?= -g -dtypes
+OCAMLCFLAGS ?= -g
+OPTFLAGS ?= -g
 
 OCAMLC_CMD=$(OCAMLC) $(OCAMLCFLAGS) $(INCLUDES)
 OCAMLOPT_CMD=$(OCAMLOPT) $(OPTFLAGS) $(INCLUDES)
@@ -64,8 +65,10 @@ OPTOBJS = $(SRC:.ml=.cmx)
 ##############################################################################
 # Top rules
 ##############################################################################
+ifneq ($(FEATURE_OCAMLBUILD),yes)
 all: $(TARGET).cma
-all.opt: $(TARGET).cmxa
+all.opt:
+       @$(MAKE) $(TARGET).cmxa BUILD_OPT=yes
 
 $(TARGET).cma: $(OBJS)
        $(OCAMLC_CMD) -a -o $(TARGET).cma $(OBJS)
@@ -88,6 +91,16 @@ parser_c.ml parser_c.mli: parser_c.mly
        $(OCAMLYACC) -v $<
 clean::
        rm -f parser_c.ml parser_c.mli parser_c.output
+else
+all:
+       cd .. && $(OCAMLBUILD) parsing_c/parsing_c.cma
+
+all.opt:
+       cd .. && $(OCAMLBUILD) parsing_c/parsing_c.cmxa
+
+clean::
+       cd .. && $(OCAMLBUILD) -clean
+endif
 
 
 ##############################################################################
@@ -134,9 +147,6 @@ locindiv:
 .ml.cmx:
        $(OCAMLOPT_CMD) -c $<
 
-.ml.mldepend:
-       $(OCAMLC_CMD) -i $<
-
 clean::
        rm -f *.cm[ioxa] *.o *.a *.cmxa *.annot
        rm -f *~ .*~ gmon.out #*#
@@ -149,6 +159,10 @@ distclean: clean
 
 ifneq ($(MAKECMDGOALS),clean)
 ifneq ($(MAKECMDGOALS),distclean)
+ifneq ($(FEATURE_OCAMLBUILD),yes)
 -include .depend
 endif
 endif
+endif
+
+include ../Makefile.common