| xj | b04a402 | 2021-11-25 15:01:52 +0800 | [diff] [blame] | 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_ENABLE_EXTRA_GCC_CHECKS)),) |
| 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)/parse.tab.c: $(src)/parse.y FORCE |
| 22 | $(call if_changed,bison_no_warn) |
| 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 | |
| 31 | endif |
| 32 | |
| 33 | # -I needed for generated C source (shipped source) |
| 34 | HOSTCFLAGS_parse.tab.o := -I$(src) |
| 35 | HOSTCFLAGS_lex.lex.o := -I$(src) |
| 36 | |
| 37 | # dependencies on generated files need to be listed explicitly |
| 38 | $(obj)/lex.lex.o: $(obj)/parse.tab.h |