mirror of
https://gitlab.nic.cz/labs/bird.git
synced 2024-11-15 07:38:43 +00:00
f93315c417
This is part of the multithreading journey. The parser and lexer were using loads of global variables and all of these are now packed into struct cf_context and others. Note that the config API has changed: * cfg_alloc[zu]?(size) is now cf_alloc[zu]?(ctx, size) * cf_error(msg, ...) is now cf_error(ctx, msg, ...) * config_parse() and cli_parse() are now called differently * there is a brand new CF_CTX section in *.Y files which participates in struct cf_context construction
35 lines
1009 B
Makefile
35 lines
1009 B
Makefile
src := cf-parse.tab.c cf-lex.c conf.c symbols.c
|
|
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 $(s)flowspec.Y
|
|
$(M4) $(M4FLAGS) -P $| $^ >$@
|
|
|
|
$(o)cf-parse.y: | $(s)gen_parser.m4
|
|
$(o)keywords.h: | $(s)gen_keywords.m4
|
|
$(o)context.h: | $(s)gen_context.m4
|
|
$(o)commands.h: | $(s)gen_commands.m4 $(srcdir)/client/cmds.m4
|
|
|
|
$(o)cf-parse.tab.h: $(o)cf-parse.tab.c
|
|
|
|
$(o)cf-parse.tab.c: $(o)cf-parse.y $(o)context.h
|
|
$(BISON) $(BISON_DEBUG) $(BISONFLAGS) -dv -pcfx_ -b $(@:.tab.c=) $<
|
|
|
|
$(o)cf-lex.c: $(s)cf-lex.l
|
|
$(FLEX) $(FLEX_DEBUG) -s -B -8 -Pcfx_ -o$@ $<
|
|
|
|
$(o)cf-lex.o: $(o)cf-parse.tab.h $(o)keywords.h $(o)context.h
|
|
$(o)cf-lex.o: CFLAGS+=-Wno-sign-compare -Wno-unused-function
|
|
|
|
$(addprefix $(o), cf-parse.y keywords.h commands.h cf-parse.tab.h cf-parse.tab.c cf-lex.c): $(objdir)/.dir-stamp
|
|
|
|
$(call clean,cf-parse.tab.h cf-parse.tab.c cf-parse.y keywords.h commands.h cf-lex.c cf-parse.output)
|