mirror of https://gitee.com/openkylin/linux.git
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: Masahiro Yamada <yamada.masahiro@socionext.com>
This commit is contained in:
parent
6ba7dc6616
commit
cf8dfd15e5
|
@ -1,4 +1,21 @@
|
|||
# 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
|
||||
|
|
|
@ -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
|
||||
# ===========================================================================
|
||||
|
||||
|
|
Loading…
Reference in New Issue