2 hostprogs-y
:= genksyms
3 always
:= $(hostprogs-y
)
5 genksyms-objs
:= genksyms.o parse.o
lex.o
7 # -I needed for generated C source (shipped source)
8 HOSTCFLAGS_parse.o
:= -Wno-uninitialized
-I
$(src
)
10 # dependencies on generated files need to be listed explicitly
11 $(obj
)/lex.o
: $(obj
)/parse.h
$(obj
)/keywords.c
13 # -I needed for generated C source (shipped source)
14 HOSTCFLAGS_lex.o
:= -I
$(src
)
20 quiet_cmd_keywords.c
= GPERF
$@
21 cmd_keywords.c
= gperf
-L ANSI-C
-a
-C
-E
-g
-H is_reserved_hash \
22 -k
1,3,$$ -N is_reserved_word
-p
-t
$< > $@
24 $(obj
)/keywords.c
: $(obj
)/keywords.gperf FORCE
25 $(call if_changed
,keywords.c
)
29 quiet_cmd_lex.c
= FLEX
$@
30 cmd_lex.c
= flex
-o
$@
-d
$(filter-out FORCE
,$^
)
32 $(obj
)/lex.c
: $(obj
)/lex.l
$(obj
)/parse.h FORCE
33 $(call if_changed
,lex.c
)
37 quiet_cmd_parse.c
= BISON
$@
38 cmd_parse.c
= bison
-o
$@
-dtv
$(filter-out FORCE
,$^
)
40 $(obj
)/parse.c
: $(obj
)/parse.y FORCE
41 $(call if_changed
,parse.c
)
43 $(obj
)/parse.h
: $(obj
)/parse.c
;
45 clean-files
+= parse.output
49 targets
+= keywords.c
lex.c parse.c parse.h