workaround/fix jam dependency problems
[cparser] / .build_plugin
1 DIRS = "" adt driver wrappergen ;
2 SOURCES = ;
3 for d in $(DIRS) {
4         SOURCES += [ Wildcard $(PLUGIN_DIR)/$(d) : *.c *.h ] ;
5 }
6
7 actions RunBuiltinGenerator bind GENERATOR {
8         $(GENERATOR) $(>) > $(<)
9 }
10
11 rule BuiltinGenerator {
12         local target = $(<) ;
13         local source = [ SearchSource $(>) ] ;
14         local generator = [ SearchSource $(3) ] ;
15         local header = $(target) ;
16         Depends $(target) : $(generator) ;
17         Depends $(target) : $(source) ;
18         RunBuiltinGenerator $(target) : $(source) ;
19         GENERATOR on $(target) = $(generator) ;
20
21         NP = $(header:D=) ;
22         Includes $(NP:G=) : $(header) ;
23
24         Clean clean : $(target) ;
25
26         return $(target) ;
27 }
28 BuiltinGenerator $(PLUGIN_DIR)/gen_builtins.h : $(PLUGIN_DIR)/builtins/builtins.c : $(PLUGIN_DIR)/create_builtins_h.sh ;
29
30 Application cparser : $(SOURCES) ;
31 IncludeDir cparser : libfirm/include libfirm/include/libfirm ;
32 IncludeDir cparser : $(PLUGIN_DIR) ;
33 CFlags cparser : -std=c99 ;
34 LinkWith cparser : firm ;
35 LFlags cparser : -lm ;