162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci
362306a36Sopenharmony_cihostprogs-always-y	+= genksyms
462306a36Sopenharmony_ci
562306a36Sopenharmony_cigenksyms-objs	:= genksyms.o parse.tab.o lex.lex.o
662306a36Sopenharmony_ci
762306a36Sopenharmony_ci# FIXME: fix the ambiguous grammar in parse.y and delete this hack
862306a36Sopenharmony_ci#
962306a36Sopenharmony_ci# Suppress shift/reduce, reduce/reduce conflicts warnings
1062306a36Sopenharmony_ci# unless W=1 is specified.
1162306a36Sopenharmony_ci#
1262306a36Sopenharmony_ci# Just in case, run "$(YACC) --version" without suppressing stderr
1362306a36Sopenharmony_ci# so that 'bison: not found' will be displayed if it is missing.
1462306a36Sopenharmony_ciifeq ($(findstring 1,$(KBUILD_EXTRA_WARN)),)
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ciquiet_cmd_bison_no_warn = $(quiet_cmd_bison)
1762306a36Sopenharmony_ci      cmd_bison_no_warn = $(YACC) --version >/dev/null; \
1862306a36Sopenharmony_ci			  $(cmd_bison) 2>/dev/null
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ci$(obj)/pars%.tab.c $(obj)/pars%.tab.h: $(src)/pars%.y FORCE
2162306a36Sopenharmony_ci	$(call if_changed,bison_no_warn)
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_ciendif
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_ci# -I needed for generated C source to include headers in source tree
2662306a36Sopenharmony_ciHOSTCFLAGS_parse.tab.o := -I $(srctree)/$(src)
2762306a36Sopenharmony_ciHOSTCFLAGS_lex.lex.o := -I $(srctree)/$(src)
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ci# dependencies on generated files need to be listed explicitly
3062306a36Sopenharmony_ci$(obj)/lex.lex.o: $(obj)/parse.tab.h
31