Commit cf8dfd15 authored by Masahiro Yamada's avatar Masahiro Yamada
Browse files

kbuild: move flex and bison rules to Makefile.host



Flex and bison are used for kconfig, dtc, genksyms, all of which are
host programs. I never imagine the kernel embeds a parser or a lexer.

Move the flex and bison rules to scripts/Makefile.host. This file is
included only when hostprogs-y etc. is present in the Makefile in the
directory. So, parsing these rules are skipped in most of directories.

Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
parent 6ba7dc66
Loading
Loading
Loading
Loading
+17 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0

# LEX
# ---------------------------------------------------------------------------
quiet_cmd_flex = LEX     $@
      cmd_flex = $(LEX) -o$@ -L $<

$(obj)/%.lex.c: $(src)/%.l FORCE
	$(call if_changed,flex)

# YACC
# ---------------------------------------------------------------------------
quiet_cmd_bison = YACC    $(basename $@).[ch]
      cmd_bison = $(YACC) -o $(basename $@).c --defines=$(basename $@).h -t -l $<

$(obj)/%.tab.c $(obj)/%.tab.h: $(src)/%.y FORCE
	$(call if_changed,bison)

# ==========================================================================
# Building binaries on the host system
# Binaries are used during the compilation of the kernel, for example
+0 −16
Original line number Diff line number Diff line
@@ -187,22 +187,6 @@ $(foreach m, $(notdir $1), \
	$(addprefix $(obj)/, $(foreach s, $3, $($(m:%$(strip $2)=%$(s)))))))
endef

# LEX
# ---------------------------------------------------------------------------
quiet_cmd_flex = LEX     $@
      cmd_flex = $(LEX) -o$@ -L $<

$(obj)/%.lex.c: $(src)/%.l FORCE
	$(call if_changed,flex)

# YACC
# ---------------------------------------------------------------------------
quiet_cmd_bison = YACC    $(basename $@).[ch]
      cmd_bison = $(YACC) -o $(basename $@).c --defines=$(basename $@).h -t -l $<

$(obj)/%.tab.c $(obj)/%.tab.h: $(src)/%.y FORCE
	$(call if_changed,bison)

# Shipped files
# ===========================================================================