1 # SPDX-License-Identifier: GPL-2.0
3 hostprogs-y
:= genksyms
4 always
:= $(hostprogs-y
)
6 genksyms-objs
:= genksyms.o parse.tab.o
lex.
lex.o
8 # FIXME: fix the ambiguous grammar in parse.y and delete this hack
10 # Suppress shift/reduce, reduce/reduce conflicts warnings
11 # unless W=1 is specified.
13 # Just in case, run "$(YACC) --version" without suppressing stderr
14 # so that 'bison: not found' will be displayed if it is missing.
15 ifeq ($(findstring 1,$(KBUILD_ENABLE_EXTRA_GCC_CHECKS
)),)
17 quiet_cmd_bison_no_warn
= $(quiet_cmd_bison
)
18 cmd_bison_no_warn
= $(YACC
) --version
>/dev
/null
; \
19 $(cmd_bison
) 2>/dev
/null
21 $(obj
)/parse.tab.c
: $(src
)/parse.y FORCE
22 $(call if_changed
,bison_no_warn
)
24 quiet_cmd_bison_h_no_warn
= $(quiet_cmd_bison_h
)
25 cmd_bison_h_no_warn
= $(YACC
) --version
>/dev
/null
; \
26 $(cmd_bison_h
) 2>/dev
/null
28 $(obj
)/parse.tab.h
: $(src
)/parse.y FORCE
29 $(call if_changed
,bison_h_no_warn
)
33 # -I needed for generated C source (shipped source)
34 HOSTCFLAGS_parse.tab.o
:= -I
$(src
)
35 HOSTCFLAGS_lex.
lex.o
:= -I
$(src
)
37 # dependencies on generated files need to be listed explicitly
38 $(obj
)/lex.
lex.o
: $(obj
)/parse.tab.h