blob: 03b7ce97de146c8e694e3fc3c49660498372f0ce [file] [log] [blame]
Greg Kroah-Hartmanb2441312017-11-01 15:07:57 +01001# SPDX-License-Identifier: GPL-2.0
Linus Torvalds1da177e2005-04-16 15:20:36 -07002
3hostprogs-y := genksyms
4always := $(hostprogs-y)
5
Arnaud Lacombe880f4492011-05-23 00:05:28 -04006genksyms-objs := genksyms.o parse.tab.o lex.lex.o
Linus Torvalds1da177e2005-04-16 15:20:36 -07007
Masahiro Yamada833e6222018-03-23 22:04:32 +09008# FIXME: fix the ambiguous grammar in parse.y and delete this hack
9#
10# Suppress shift/reduce, reduce/reduce conflicts warnings
11# unless W=1 is specified.
12#
13# Just in case, run "$(YACC) --version" without suppressing stderr
14# so that 'bison: not found' will be displayed if it is missing.
15ifeq ($(findstring 1,$(KBUILD_ENABLE_EXTRA_GCC_CHECKS)),)
16
Mauro Rossi0da7e432018-04-24 20:08:18 +090017quiet_cmd_bison_no_warn = $(quiet_cmd_bison)
Masahiro Yamada833e6222018-03-23 22:04:32 +090018 cmd_bison_no_warn = $(YACC) --version >/dev/null; \
19 $(cmd_bison) 2>/dev/null
20
21$(obj)/parse.tab.c: $(src)/parse.y FORCE
22 $(call if_changed,bison_no_warn)
23
Mauro Rossi0da7e432018-04-24 20:08:18 +090024quiet_cmd_bison_h_no_warn = $(quiet_cmd_bison_h)
Masahiro Yamada833e6222018-03-23 22:04:32 +090025 cmd_bison_h_no_warn = $(YACC) --version >/dev/null; \
26 $(cmd_bison_h) 2>/dev/null
27
28$(obj)/parse.tab.h: $(src)/parse.y FORCE
29 $(call if_changed,bison_h_no_warn)
30
31endif
32
Linus Torvalds1da177e2005-04-16 15:20:36 -070033# -I needed for generated C source (shipped source)
Arnaud Lacombe6b19e7e2011-06-07 18:09:02 -040034HOSTCFLAGS_parse.tab.o := -I$(src)
Arnaud Lacombe880f4492011-05-23 00:05:28 -040035HOSTCFLAGS_lex.lex.o := -I$(src)
Linus Torvalds1da177e2005-04-16 15:20:36 -070036
37# dependencies on generated files need to be listed explicitly
Linus Torvaldsbb3290d2017-08-19 10:17:02 -070038$(obj)/lex.lex.o: $(obj)/parse.tab.h