aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMasahiro Yamada <yamada.masahiro@socionext.com>2019-07-20 12:27:40 -0400
committerMasahiro Yamada <yamada.masahiro@socionext.com>2019-08-13 12:10:42 -0400
commitcf8dfd15e5fb280fa1e79e1d373456cb1e701222 (patch)
treed98293942f605d235b741e77d6b9ea3bcdb85e23
parent6ba7dc6616ce69ef667204df29597767c1c9ebcf (diff)
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>
-rw-r--r--scripts/Makefile.host17
-rw-r--r--scripts/Makefile.lib16
2 files changed, 17 insertions, 16 deletions
diff --git a/scripts/Makefile.host b/scripts/Makefile.host
index 2208ebbd8c4c..b402c619147d 100644
--- a/scripts/Makefile.host
+++ b/scripts/Makefile.host
@@ -1,4 +1,21 @@
1# SPDX-License-Identifier: GPL-2.0 1# SPDX-License-Identifier: GPL-2.0
2
3# LEX
4# ---------------------------------------------------------------------------
5quiet_cmd_flex = LEX $@
6 cmd_flex = $(LEX) -o$@ -L $<
7
8$(obj)/%.lex.c: $(src)/%.l FORCE
9 $(call if_changed,flex)
10
11# YACC
12# ---------------------------------------------------------------------------
13quiet_cmd_bison = YACC $(basename $@).[ch]
14 cmd_bison = $(YACC) -o $(basename $@).c --defines=$(basename $@).h -t -l $<
15
16$(obj)/%.tab.c $(obj)/%.tab.h: $(src)/%.y FORCE
17 $(call if_changed,bison)
18
2# ========================================================================== 19# ==========================================================================
3# Building binaries on the host system 20# Building binaries on the host system
4# Binaries are used during the compilation of the kernel, for example 21# Binaries are used during the compilation of the kernel, for example
diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
index 67d1165ab2ab..49d20f356263 100644
--- a/scripts/Makefile.lib
+++ b/scripts/Makefile.lib
@@ -187,22 +187,6 @@ $(foreach m, $(notdir $1), \
187 $(addprefix $(obj)/, $(foreach s, $3, $($(m:%$(strip $2)=%$(s))))))) 187 $(addprefix $(obj)/, $(foreach s, $3, $($(m:%$(strip $2)=%$(s)))))))
188endef 188endef
189 189
190# LEX
191# ---------------------------------------------------------------------------
192quiet_cmd_flex = LEX $@
193 cmd_flex = $(LEX) -o$@ -L $<
194
195$(obj)/%.lex.c: $(src)/%.l FORCE
196 $(call if_changed,flex)
197
198# YACC
199# ---------------------------------------------------------------------------
200quiet_cmd_bison = YACC $(basename $@).[ch]
201 cmd_bison = $(YACC) -o $(basename $@).c --defines=$(basename $@).h -t -l $<
202
203$(obj)/%.tab.c $(obj)/%.tab.h: $(src)/%.y FORCE
204 $(call if_changed,bison)
205
206# Shipped files 190# Shipped files
207# =========================================================================== 191# ===========================================================================
208 192