Release coccinelle-0.2.3rc4
[bpt/coccinelle.git] / parsing_c / Makefile
index c0d1df0..3d720ba 100644 (file)
@@ -1,36 +1,69 @@
+
+-include ../Makefile.config
+
 ##############################################################################
 # Variables
 ##############################################################################
 TARGET=parsing_c
 
-SRC= \
- flag_parsing_c.ml ast_c.ml control_flow_c.ml semantic_c.ml \
+-include ../Makefile.config
+
+ifeq ($(FEATURE_TARZAN), 1)
+TARZANSRC=sexp_ast_c.ml
+ifeq ("$(SEXPDIR)","ocamlsexp")
+TARZANINCLUDE=-I ../$(SEXPDIR)
+else
+TARZANINCLUDE=-I $(SEXPDIR)
+endif # Use local ocamlsexp
+endif # FEATURE_TARZAN
+
+
+
+# - type_cocci.ml ast_cocci.ml  # + unparse_hrule
+SRC= flag_parsing_c.ml parsing_stat.ml \
+ token_c.ml ast_c.ml control_flow_c.ml \
+ $(TARZANSRC) \
  visitor_c.ml lib_parsing_c.ml \
- ast_to_flow.ml \
- lexer_parser.ml parser_c.ml lexer_c.ml \
- token_helpers.ml parsing_hacks.ml parse_c.ml \
- compare_c.ml type_annoter_c.ml  pretty_print_c.ml \
- unparse_cocci2.ml unparse_c2.ml unparse_hrule.ml \
+ control_flow_c_build.ml \
+ pretty_print_c.ml \
+ semantic_c.ml lexer_parser.ml parser_c.ml lexer_c.ml \
+ token_helpers.ml token_views_c.ml \
+ cpp_token_c.ml  \
+ parsing_hacks.ml \
+ cpp_analysis_c.ml \
+ unparse_cocci.ml unparse_c.ml unparse_hrule.ml  \
+ parsing_recovery_c.ml parsing_consistency_c.ml \
+ parse_c.ml type_c.ml \
+ cpp_ast_c.ml \
+ type_annoter_c.ml comment_annotater_c.ml \
+ compare_c.ml \
  test_parsing_c.ml
 
 
-SYSLIBS= str.cma unix.cma 
 
-# parsing_c now depends on cocci_parser because in addition to decorate the
-# token in Ast_c with some parse info, we now also make some place to
+# ast_cocci.ml and unparse_cocci.ml should be deleted in the futur
+# to make parsing_c really independent of coccinelle.
+# control_flow_c have also coccinelle dependencies.
+# old: parsing_c now depends on cocci_parser because in addition to decorate
+# the token in Ast_c with some parse info, we now also make some place to
 # welcome some mcodekind of Ast_cocci.
 LIBS=../commons/commons.cma ../globals/globals.cma \
      ../parsing_cocci/cocci_parser.cma
 
-INCLUDES= -I ../commons -I ../commons/ocamlextra \
-       -I ../globals -I  ../parsing_cocci 
+INCLUDESDEP= -I ../commons -I ../commons/ocamlextra -I ../commons/ocollection \
+  -I ../globals -I  ../parsing_cocci
+
+INCLUDES=$(INCLUDESDEP) $(TARZANINCLUDE)
 
+#LIBS=../commons/commons.cma
+#INCLUDES= -I ../commons
+SYSLIBS= str.cma unix.cma num.cma
 
 ##############################################################################
 # Generic variables
 ##############################################################################
 
-#for warning:  -w A 
+#for warning:  -w A
 #for profiling:  -p -inline 0   with OCAMLOPT
 OCAMLCFLAGS ?= -g -dtypes
 
@@ -38,7 +71,7 @@ OCAMLC=ocamlc$(OPTBIN) $(OCAMLCFLAGS) $(INCLUDES)
 OCAMLOPT=ocamlopt$(OPTBIN) $(OPTFLAGS) $(INCLUDES)
 OCAMLLEX=ocamllex$(OPTBIN) #-ml
 OCAMLYACC=ocamlyacc -v
-OCAMLDEP=ocamldep$(OPTBIN) $(INCLUDES)
+OCAMLDEP=ocamldep$(OPTBIN) $(INCLUDESDEP)
 OCAMLMKTOP=ocamlmktop -g -custom $(INCLUDES)
 
 
@@ -64,8 +97,6 @@ $(TARGET).top: $(OBJS) $(LIBS)
 clean::
        rm -f $(TARGET).top
 
-
-
 lexer_c.ml: lexer_c.mll
        $(OCAMLLEX) $<
 clean::
@@ -80,6 +111,37 @@ clean::
 beforedepend:: parser_c.ml parser_c.mli
 
 
+##############################################################################
+# Pad's rules
+##############################################################################
+# visitor_c.ml lib_parsing_c.ml \
+# type_annoter_c.ml  \
+# statistics_c.ml  \
+# pretty_print_c.ml unparse_c.ml \
+# test_parsing_c.ml
+#toreput: compare_c.ml ast_to_flow.ml
+
+COREPARSING= flag_parsing_c.ml parsing_stat.ml \
+ ast_cocci.ml \
+ ast_c.ml control_flow_c.ml \
+ semantic_c.ml lexer_parser.ml parser_c.mly lexer_c.mll \
+ token_helpers.ml parsing_hacks.ml parse_c.ml \
+
+locparsing:
+       wc -l $(COREPARSING)
+
+locindiv:
+       wc -l lexer_c.mll
+       wc -l parser_c.mly
+       wc -l parsing_hacks.ml
+       wc -l ast_c.ml
+       wc -l parse_c.ml
+
+##############################################################################
+# Literate Programming rules
+##############################################################################
+
+
 ##############################################################################
 # Generic rules
 ##############################################################################
@@ -93,16 +155,21 @@ beforedepend:: parser_c.ml parser_c.mli
 .ml.cmx:
        $(OCAMLOPT) -c $<
 
-.ml.mldepend: 
+.ml.mldepend:
        $(OCAMLC) -i $<
 
 clean::
        rm -f *.cm[ioxa] *.o *.a *.cmxa *.annot
-clean::
        rm -f *~ .*~ gmon.out #*#
 
+distclean::
+       rm -f .depend
+
 beforedepend::
 
+distclean::
+       rm -f .depend
+
 depend:: beforedepend
        $(OCAMLDEP) *.mli *.ml    > .depend