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
|
# 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
|
# Building binaries on the host system
|
||||||
# Binaries are used during the compilation of the kernel, for example
|
# 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)))))))
|
$(addprefix $(obj)/, $(foreach s, $3, $($(m:%$(strip $2)=%$(s)))))))
|
||||||
endef
|
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
|
# Shipped files
|
||||||
# ===========================================================================
|
# ===========================================================================
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user