diff options
author | Masahiro Yamada <yamada.masahiro@socionext.com> | 2019-07-21 01:27:40 +0900 |
---|---|---|
committer | Masahiro Yamada <yamada.masahiro@socionext.com> | 2019-08-14 01:10:42 +0900 |
commit | cf8dfd15e5fb280fa1e79e1d373456cb1e701222 (patch) | |
tree | d98293942f605d235b741e77d6b9ea3bcdb85e23 /scripts | |
parent | 6ba7dc6616ce69ef667204df29597767c1c9ebcf (diff) | |
download | linux-stable-cf8dfd15e5fb280fa1e79e1d373456cb1e701222.tar.gz linux-stable-cf8dfd15e5fb280fa1e79e1d373456cb1e701222.tar.bz2 linux-stable-cf8dfd15e5fb280fa1e79e1d373456cb1e701222.zip |
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>
Diffstat (limited to 'scripts')
-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 @@ # 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 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), \ $(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 # =========================================================================== |