]> git.ipfire.org Git - thirdparty/bird.git/blob - conf/Makefile
Conf: Switch for faster (and slightly bigger) lexer
[thirdparty/bird.git] / conf / Makefile
1 src := cf-parse.tab.c cf-lex.c conf.c
2 obj := $(src-o-files)
3
4 $(all-daemon)
5
6 tests_objs := $(tests_objs) $(src-o-files)
7
8 ifdef DEBUG
9 BISON_DEBUG=-t
10 #FLEX_DEBUG=-d
11 endif
12
13 $(conf-y-targets): $(s)confbase.Y $(s)flowspec.Y
14 $(M4) $(M4FLAGS) -P $| $^ >$@
15
16 $(o)cf-parse.y: | $(s)gen_parser.m4
17 $(o)keywords.h: | $(s)gen_keywords.m4
18 $(o)commands.h: | $(s)gen_commands.m4 $(srcdir)/client/cmds.m4
19
20 $(o)cf-parse.tab.h: $(o)cf-parse.tab.c
21
22 $(o)cf-parse.tab.c: $(o)cf-parse.y
23 $(BISON) $(BISON_DEBUG) $(BISONFLAGS) -dv -pcf_ -b $(@:.tab.c=) $<
24
25 $(o)cf-lex.c: $(s)cf-lex.l
26 $(FLEX) $(FLEX_DEBUG) -f -s -B -8 -Pcf_ -o$@ $<
27
28 $(o)cf-lex.o: $(o)cf-parse.tab.h $(o)keywords.h
29 $(o)cf-lex.o: CFLAGS+=-Wno-sign-compare -Wno-unused-function
30
31 $(addprefix $(o), cf-parse.y keywords.h commands.h cf-parse.tab.h cf-parse.tab.c cf-lex.c): $(objdir)/.dir-stamp
32
33 $(call clean,cf-parse.tab.h cf-parse.tab.c cf-parse.y keywords.h commands.h cf-lex.c cf-parse.output)