diff options
author | Masahiro Yamada <yamada.masahiro@socionext.com> | 2019-07-20 12:27:40 -0400 |
---|---|---|
committer | Masahiro Yamada <yamada.masahiro@socionext.com> | 2019-08-13 12:10:42 -0400 |
commit | cf8dfd15e5fb280fa1e79e1d373456cb1e701222 (patch) | |
tree | d98293942f605d235b741e77d6b9ea3bcdb85e23 | |
parent | 6ba7dc6616ce69ef667204df29597767c1c9ebcf (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.host | 17 | ||||
-rw-r--r-- | scripts/Makefile.lib | 16 |
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 | # --------------------------------------------------------------------------- | ||
5 | quiet_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 | # --------------------------------------------------------------------------- | ||
13 | quiet_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))))))) |
188 | endef | 188 | endef |
189 | 189 | ||
190 | # LEX | ||
191 | # --------------------------------------------------------------------------- | ||
192 | quiet_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 | # --------------------------------------------------------------------------- | ||
200 | quiet_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 | ||