adapt to latest firm (no need to explicitely invoke switch lowerer, backend does...
[cparser] / .build_plugin
index bbd79f6..f8128bd 100644 (file)
@@ -3,8 +3,32 @@ SOURCES = ;
 for d in $(DIRS) {
        SOURCES += [ Wildcard $(d) : *.c *.h ] ;
 }
+
+actions RunBuiltinGenerator bind GENERATOR {
+       $(GENERATOR) $(>) > $(<)
+}
+
+rule BuiltinGenerator {
+       local target = [ LocateTarget $(<) : $(SUBDIR) ] ;
+       local source = [ SearchSource $(>) ] ;
+       local generator = [ SearchSource $(3) ] ;
+       local header = $(target) ;
+       Depends $(<) : $(target) ;
+       Depends $(target) : $(generator) ;
+       Depends $(target) : $(source) ;
+       RunBuiltinGenerator $(target) : $(source) ;
+       GENERATOR on $(target) = $(generator) ;
+
+       Includes $(header:G=) : $(header) ;
+
+       Clean clean : $(target) ;
+
+       return $(target) ;
+}
+BuiltinGenerator gen_builtins.h : builtins/builtins.c : create_builtins_h.sh ;
+
 Application cparser : $(SOURCES) ;
-CppFlags cparser : -DFIRM_BACKEND -I$(top_srcdir)/libfirm/include ;
+CppFlags cparser : -I$(top_srcdir)/libfirm/include ;
 IncludeDir cparser : . ;
 CFlags cparser : -std=c99 ;
 LinkWith cparser : firm ;