Greg Kroah-Hartman | b244131 | 2017-11-01 15:07:57 +0100 | [diff] [blame] | 1 | # SPDX-License-Identifier: GPL-2.0 |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 2 | |
| 3 | hostprogs-y := genksyms |
| 4 | always := $(hostprogs-y) |
| 5 | |
Arnaud Lacombe | 880f449 | 2011-05-23 00:05:28 -0400 | [diff] [blame] | 6 | genksyms-objs := genksyms.o parse.tab.o lex.lex.o |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 7 | |
Masahiro Yamada | 833e622 | 2018-03-23 22:04:32 +0900 | [diff] [blame] | 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 | |
Mauro Rossi | 0da7e43 | 2018-04-24 20:08:18 +0900 | [diff] [blame] | 17 | quiet_cmd_bison_no_warn = $(quiet_cmd_bison) |
Masahiro Yamada | 833e622 | 2018-03-23 22:04:32 +0900 | [diff] [blame] | 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 | |
Mauro Rossi | 0da7e43 | 2018-04-24 20:08:18 +0900 | [diff] [blame] | 24 | quiet_cmd_bison_h_no_warn = $(quiet_cmd_bison_h) |
Masahiro Yamada | 833e622 | 2018-03-23 22:04:32 +0900 | [diff] [blame] | 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 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 33 | # -I needed for generated C source (shipped source) |
Arnaud Lacombe | 6b19e7e | 2011-06-07 18:09:02 -0400 | [diff] [blame] | 34 | HOSTCFLAGS_parse.tab.o := -I$(src) |
Arnaud Lacombe | 880f449 | 2011-05-23 00:05:28 -0400 | [diff] [blame] | 35 | HOSTCFLAGS_lex.lex.o := -I$(src) |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 36 | |
| 37 | # dependencies on generated files need to be listed explicitly |
Linus Torvalds | bb3290d | 2017-08-19 10:17:02 -0700 | [diff] [blame] | 38 | $(obj)/lex.lex.o: $(obj)/parse.tab.h |