Linux-libre 5.4.48-gnu
[librecmc/linux-libre.git] / scripts / genksyms / Makefile
1 # SPDX-License-Identifier: GPL-2.0
2
3 hostprogs-y     := genksyms
4 always          := $(hostprogs-y)
5
6 genksyms-objs   := genksyms.o parse.tab.o lex.lex.o
7
8 # 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.
15 ifeq ($(findstring 1,$(KBUILD_EXTRA_WARN)),)
16
17 quiet_cmd_bison_no_warn = $(quiet_cmd_bison)
18       cmd_bison_no_warn = $(YACC) --version >/dev/null; \
19                           $(cmd_bison) 2>/dev/null
20
21 $(obj)/pars%.tab.c $(obj)/pars%.tab.h: $(src)/pars%.y FORCE
22         $(call if_changed,bison_no_warn)
23
24 endif
25
26 # -I needed for generated C source (shipped source)
27 HOSTCFLAGS_parse.tab.o := -I $(srctree)/$(src)
28 HOSTCFLAGS_lex.lex.o := -I $(srctree)/$(src)
29
30 # dependencies on generated files need to be listed explicitly
31 $(obj)/lex.lex.o: $(obj)/parse.tab.h