Message ID | 20190822044613.5349-6-yamada.masahiro@socionext.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [1/6] kbuild: remove 'Using ... as source for kernel' message | expand |
On Thu, Aug 22, 2019 at 1:46 PM Masahiro Yamada <yamada.masahiro@socionext.com> wrote: > > Move the outputmakefile target to the leftmost in the prerequisite list > so that this is checked first. There is no guarantee that Make runs the > prerequisites from left to right, Looks like this is guaranteed. I did not know POSIX defined this. I will reword the commit log as follows: " kbuild: check clean srctree even earlier Move the outputmakefile target to the leftmost in the prerequisite list so that this is checked first. GNU Make processes the prerequisites left to right. GNU Make will keep to stick to this behavior, and it seems even POSIX standard, according to this: https://lists.gnu.org/archive/html/bug-make/2019-08/msg00030.html The POSIX standard of make is available here: https://pubs.opengroup.org/onlinepubs/9699919799/utilities/make.html Of course, when the parallel option -j given, other targets will be run simultaneously but it is nice to show the error as early as possible. " > but at least the released versions of > GNU Make work like that when the parallel build option is not given. > > Of course, when the parallel option -j given, other targets will be run > simultaneously but it is nice to show the error as early as possible. > > Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> > --- > > Makefile | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/Makefile b/Makefile > index 960df4d35b15..089983a8a028 100644 > --- a/Makefile > +++ b/Makefile > @@ -581,10 +581,10 @@ ifdef config-build > include arch/$(SRCARCH)/Makefile > export KBUILD_DEFCONFIG KBUILD_KCONFIG CC_VERSION_TEXT > > -config: scripts_basic outputmakefile FORCE > +config: outputmakefile scripts_basic FORCE > $(Q)$(MAKE) $(build)=scripts/kconfig $@ > > -%config: scripts_basic outputmakefile FORCE > +%config: outputmakefile scripts_basic FORCE > $(Q)$(MAKE) $(build)=scripts/kconfig $@ > > else #!config-build > @@ -1123,7 +1123,7 @@ scripts: scripts_basic scripts_dtc > > PHONY += prepare archprepare > > -archprepare: archheaders archscripts scripts include/config/kernel.release outputmakefile \ > +archprepare: outputmakefile archheaders archscripts scripts include/config/kernel.release \ > asm-generic $(version_h) $(autoksyms_h) include/generated/utsrelease.h > > prepare0: archprepare > -- > 2.17.1 >
diff --git a/Makefile b/Makefile index 960df4d35b15..089983a8a028 100644 --- a/Makefile +++ b/Makefile @@ -581,10 +581,10 @@ ifdef config-build include arch/$(SRCARCH)/Makefile export KBUILD_DEFCONFIG KBUILD_KCONFIG CC_VERSION_TEXT -config: scripts_basic outputmakefile FORCE +config: outputmakefile scripts_basic FORCE $(Q)$(MAKE) $(build)=scripts/kconfig $@ -%config: scripts_basic outputmakefile FORCE +%config: outputmakefile scripts_basic FORCE $(Q)$(MAKE) $(build)=scripts/kconfig $@ else #!config-build @@ -1123,7 +1123,7 @@ scripts: scripts_basic scripts_dtc PHONY += prepare archprepare -archprepare: archheaders archscripts scripts include/config/kernel.release outputmakefile \ +archprepare: outputmakefile archheaders archscripts scripts include/config/kernel.release \ asm-generic $(version_h) $(autoksyms_h) include/generated/utsrelease.h prepare0: archprepare
Move the outputmakefile target to the leftmost in the prerequisite list so that this is checked first. There is no guarantee that Make runs the prerequisites from left to right, but at least the released versions of GNU Make work like that when the parallel build option is not given. Of course, when the parallel option -j given, other targets will be run simultaneously but it is nice to show the error as early as possible. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> --- Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)