Commit | Line | Data |
---|---|---|
abad11c5 C |
1 | # Compile all .ml files against some base libraries |
2 | # (defined in the plugin as unix,str,nums and bigarray) | |
3 | <**/*.ml>: use_base | |
4 | ||
5 | # | |
6 | # Cocci sources and directories | |
7 | # | |
8 | ||
9 | <commons>: include | |
10 | <commons/ocamlextra>: include | |
11 | <commons/ocollection>: include | |
12 | ||
13 | <globals>: include | |
14 | <globals/regexp_pcre.ml>: use_pcre | |
15 | ||
16 | <parsing_cocci>: include | |
17 | <parsing_cocci/parser_cocci_menhir.ml>: use_menhirLib, nowarn20 | |
18 | ||
19 | <parsing_c>: include | |
20 | <ctl>: include | |
21 | <engine>: include | |
22 | <popl09>: include | |
23 | <extra>: include | |
24 | ||
25 | <ocaml>: include | |
26 | <ocaml/coccilib.ml{,i}>: use_pcre | |
27 | ||
28 | <python>: include | |
29 | <python/yes_pycocci.ml>: thread, use_pycaml | |
30 | ||
31 | # some users have a symlink 'result' pointing to the outcome | |
32 | # of the build, which causes troubles with the hygiene check. | |
33 | <result>: -traverse | |
34 | ||
35 | ||
36 | # | |
37 | # Subdirectories | |
38 | # | |
39 | ||
40 | <engine/engine.{cma,cmxa}>: use_pcre | |
41 | <globals/globals.{cma,cmxa}>: use_pcre | |
42 | <ocaml/ocaml.{cma,cmxa}>: use_pcre | |
43 | <parsing_c/parsing_c.{cma,cmxa}>: use_pcre | |
44 | <parsing_cocci/parsing_cocci.{cma,cmxa}>: use_pcre, use_menhirLib | |
45 | <popl09/popl09.{cma,cmxa}>: use_pcre | |
46 | <python/python.{cma,cmxa}>: use_pcre, use_pycaml | |
47 | ||
48 | ||
49 | # | |
50 | # Bundled packages | |
51 | # | |
52 | ||
53 | # apriori remove the traverse tag from the bundle | |
54 | # directories to prevent them from being included. | |
55 | # The traverse tag will be added by the plugin for | |
56 | # the bundles that are included. | |
57 | <bundles/*>: -traverse | |
58 | ||
59 | <bundles/pcre/pcre.{cma,cmxa}>: use_pcre | |
60 | <bundles/pycaml/pycaml.{cma,cmxa}>: thread, use_pycaml | |
61 | ||
62 | # Interaction between the bundles and the plugin. | |
63 | <bundles/pcre/libpcre_stubs.a>: use_pcre | |
64 | <bundles/pcre/*/lib/pcre_stubs.c>: use_pcre | |
65 | <bundles/pycaml/libpycaml_stubs.a>: use_pycaml | |
66 | <bundles/pycaml/*/pycaml_stubs.c>: pp_pycaml, use_pycaml | |
67 | <bundles/pycaml/*/pycaml.ml>: pp_pycaml | |
68 | <bundles/menhirLib/*/src/*.cmx>: for-pack(MenhirLib) | |
69 | ||
70 | ||
71 | # | |
72 | # Hygiene | |
73 | # | |
74 | ||
75 | # Some lexers and parsers are precompiled in the | |
76 | # source distribution to make some preprocessors | |
77 | # optional | |
78 | ||
79 | <parsing_c/parser_c.mly>: not_hygienic | |
80 | <parsing_c/lexer_c.mll>: not_hygienic | |
81 | <parsing_cocci/lexer_cli.mll>: not_hygienic | |
82 | <parsing_cocci/lexer_script.mll>: not_hygienic | |
83 | <parsing_cocci/lexer_cocci.mll>: not_hygienic | |
84 | <parsing_cocci/parser_cocci_menhir.mly>: not_hygienic | |
85 | <parsing_cocci/parser_cocci_menhir.ml{,i}>: precious | |
86 | <ocaml/coccilib/coccilib.cmi>: not_hygienic | |
87 | ||
88 | ||
89 | # | |
90 | # Applications | |
91 | # Main is the entry point of spatch. | |
92 | # | |
93 | ||
94 | # library dependencies of spatch. | |
95 | <main.{byte,native}>: thread, use_base, use_menhirLib, use_pcre, use_pycaml | |
96 | ||
97 | # some test tools in the subdirectories | |
98 | <parsing_cocci/main.{byte,native}>: use_base, use_pcre | |
99 | <ctl/test_ctl.{byte,native}>: use_base | |
100 | ||
101 | ||
102 | # Build tools/all.otarget for all tools, or | |
103 | # tools/all.opt.otarget for all tools with the native compiler. | |
104 | ||
105 | <tools/gitgrep.{byte,native}>: use_base | |
106 | <tools/gitsort.{byte,native}>: use_base | |
107 | <tools/process_isoprofile.{byte,native}>: use_base | |
108 | <tools/alloc_free.{byte,native}>: use_base | |
109 | <tools/bridge.{byte,native}>: use_base | |
110 | <tools/spp.{byte,native}>: use_base | |
111 | <tools/splitpatch.{byte,native}>: use_base | |
112 | <tools/extract_c_and_res.{byte,native}>: use_base | |
113 | <tools/cstripenv.{byte,native}>: use_base, use_pcre | |
114 | <tools/distributed/cleanup.{byte,native}>: use_base | |
115 | ||
116 | ||
117 | # | |
118 | # Documentation | |
119 | # | |
120 | ||
121 | <ocaml/man.docdir/index.html>: gen_man, use_menhirLib, use_pcre, use_pycaml | |
122 | <ocaml/html.docdir/index.html>: gen_html, use_menhirLib, use_pcre, use_pycaml |