Makefile 951 B

123456789101112131415161718192021222324252627282930
  1. # SPDX-License-Identifier: GPL-2.0
  2. hostprogs-always-y += genksyms
  3. genksyms-objs := genksyms.o parse.tab.o lex.lex.o
  4. # FIXME: fix the ambiguous grammar in parse.y and delete this hack
  5. #
  6. # Suppress shift/reduce, reduce/reduce conflicts warnings
  7. # unless W=1 is specified.
  8. #
  9. # Just in case, run "$(YACC) --version" without suppressing stderr
  10. # so that 'bison: not found' will be displayed if it is missing.
  11. ifeq ($(findstring 1,$(KBUILD_EXTRA_WARN)),)
  12. quiet_cmd_bison_no_warn = $(quiet_cmd_bison)
  13. cmd_bison_no_warn = $(YACC) --version >/dev/null; \
  14. $(cmd_bison) 2>/dev/null
  15. $(obj)/pars%.tab.c $(obj)/pars%.tab.h: $(src)/pars%.y FORCE
  16. $(call if_changed,bison_no_warn)
  17. endif
  18. # -I needed for generated C source to include headers in source tree
  19. HOSTCFLAGS_parse.tab.o := -I $(srctree)/$(src)
  20. HOSTCFLAGS_lex.lex.o := -I $(srctree)/$(src)
  21. # dependencies on generated files need to be listed explicitly
  22. $(obj)/lex.lex.o: $(obj)/parse.tab.h