1 # SPDX-License-Identifier: GPL-2.0 1 # SPDX-License-Identifier: GPL-2.0 2 2 3 hostprogs-always-y += genksyms !! 3 hostprogs-y := genksyms >> 4 always := $(hostprogs-y) 4 5 5 genksyms-objs := genksyms.o parse.tab.o lex. 6 genksyms-objs := genksyms.o parse.tab.o lex.lex.o 6 7 7 # FIXME: fix the ambiguous grammar in parse.y 8 # FIXME: fix the ambiguous grammar in parse.y and delete this hack 8 # 9 # 9 # Suppress shift/reduce, reduce/reduce conflic 10 # Suppress shift/reduce, reduce/reduce conflicts warnings 10 # unless W=1 is specified. 11 # unless W=1 is specified. 11 # 12 # 12 # Just in case, run "$(YACC) --version" withou 13 # Just in case, run "$(YACC) --version" without suppressing stderr 13 # so that 'bison: not found' will be displayed 14 # so that 'bison: not found' will be displayed if it is missing. 14 ifeq ($(findstring 1,$(KBUILD_EXTRA_WARN)),) !! 15 ifeq ($(findstring 1,$(KBUILD_ENABLE_EXTRA_GCC_CHECKS)),) 15 16 16 quiet_cmd_bison_no_warn = $(quiet_cmd_bison) 17 quiet_cmd_bison_no_warn = $(quiet_cmd_bison) 17 cmd_bison_no_warn = $(YACC) --version >/ 18 cmd_bison_no_warn = $(YACC) --version >/dev/null; \ 18 $(cmd_bison) 2>/dev/ 19 $(cmd_bison) 2>/dev/null 19 20 20 $(obj)/pars%.tab.c $(obj)/pars%.tab.h: $(src)/ !! 21 $(obj)/parse.tab.c: $(src)/parse.y FORCE 21 $(call if_changed,bison_no_warn) 22 $(call if_changed,bison_no_warn) 22 23 >> 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 >> 27 >> 28 $(obj)/parse.tab.h: $(src)/parse.y FORCE >> 29 $(call if_changed,bison_h_no_warn) >> 30 23 endif 31 endif 24 32 25 # -I needed for generated C source to include !! 33 # -I needed for generated C source (shipped source) 26 HOSTCFLAGS_parse.tab.o := -I $(src) !! 34 HOSTCFLAGS_parse.tab.o := -I$(src) 27 HOSTCFLAGS_lex.lex.o := -I $(src) !! 35 HOSTCFLAGS_lex.lex.o := -I$(src) 28 36 29 # dependencies on generated files need to be l 37 # dependencies on generated files need to be listed explicitly 30 $(obj)/lex.lex.o: $(obj)/parse.tab.h 38 $(obj)/lex.lex.o: $(obj)/parse.tab.h
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.