]> git.ipfire.org Git - thirdparty/bird.git/blobdiff - conf/Makefile
Conf: Fixed symbol redefinition
[thirdparty/bird.git] / conf / Makefile
index c1a906e3e77ba5f1766e30f77a65115621427c4a..19db9c2cac6332b48e2af9390f7ae2aca32387fb 100644 (file)
@@ -3,27 +3,31 @@ obj := $(src-o-files)
 
 $(all-daemon)
 
+tests_objs := $(tests_objs) $(src-o-files)
+
 ifdef DEBUG
 BISON_DEBUG=-t
 #FLEX_DEBUG=-d
 endif
 
-$(conf-y-targets): $(s)confbase.Y
-       $(M4) -P $| $^ >$@
+$(o)cf-parse.y: $(s)gen_parser.m4
+$(o)keywords.h: $(s)gen_keywords.m4
+$(o)commands.h: $(s)gen_commands.m4
 
-$(o)cf-parse.y: | $(s)gen_parser.m4
-$(o)keywords.h: | $(s)gen_keywords.m4
-$(o)commands.h: | $(s)gen_commands.m4 $(srcdir)/client/cmds.m4
+$(conf-y-targets): $(s)confbase.Y $(s)flowspec.Y
+       $(M4) $(M4FLAGS) -P $(if $(word 2,$(filter %.m4,$^)),$(error "Too many M4 scripts for one target"),$(filter %.m4,$^)) $(filter %.Y,$^) >$@
 
 $(o)cf-parse.tab.h: $(o)cf-parse.tab.c
 
 $(o)cf-parse.tab.c: $(o)cf-parse.y
-       $(BISON) $(BISON_DEBUG) -dv -pcf_ -b $(@:.tab.c=) $<
+       $(BISON) $(BISON_DEBUG) $(BISONFLAGS) -dv -pcf_ -b $(@:.tab.c=) $<
 
 $(o)cf-lex.c: $(s)cf-lex.l
-       $(FLEX) $(FLEX_DEBUG) -s -B -8 -Pcf_ -o$@ $<
+       $(FLEX) $(FLEX_DEBUG) -f -s -B -8 -Pcf_ -o$@ $<
+
+$(o)cf-lex.o: CFLAGS+=-Wno-sign-compare -Wno-unused-function
 
-$(o)cf-lex.o: $(o)cf-parse.tab.h $(o)keywords.h
+prepare: $(o)keywords.h $(o)commands.h $(o)cf-parse.tab.h
 
 $(addprefix $(o), cf-parse.y keywords.h commands.h cf-parse.tab.h cf-parse.tab.c cf-lex.c): $(objdir)/.dir-stamp