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 \
#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)
##############################################################################
# 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)
$(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
##############################################################################
.ml.cmx:
$(OCAMLOPT_CMD) -c $<
-.ml.mldepend:
- $(OCAMLC_CMD) -i $<
-
clean::
rm -f *.cm[ioxa] *.o *.a *.cmxa *.annot
rm -f *~ .*~ gmon.out #*#
ifneq ($(MAKECMDGOALS),clean)
ifneq ($(MAKECMDGOALS),distclean)
+ifneq ($(FEATURE_OCAMLBUILD),yes)
-include .depend
endif
endif
+endif
+
+include ../Makefile.common