kbuild: rpm-pkg: do not force -jN in submake
authorMasahiro Yamada <yamada.masahiro@socionext.com>
Sat, 30 Sep 2017 01:10:11 +0000 (10:10 +0900)
committerMasahiro Yamada <yamada.masahiro@socionext.com>
Tue, 14 Nov 2017 14:19:02 +0000 (23:19 +0900)
The spec file always passes %{?_smp_mflags}, but we have two
problems here.

[1] "make -jN rpm-pkg" emits the following warning message:

    make[2]: warning: -jN forced in submake: disabling jobserver mode.

[2] We can not specify the number of jobs that run in parallel.
    Whether we give -jN or not from the top Makefile, the spec file
    always passes ${?_smp_mflags} to the build commands.

${?_smp_mflags} will be useful when we run rpmbuild by hand.  When we
invoke it from Makefile, -jN is propagated down to submake; it should
not be overridden because we want to respect the number of jobs given
by the user.  Set _smp_mflags to empty string in this case.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
scripts/package/Makefile

index 70eea1e..9ed96ae 100644 (file)
@@ -50,7 +50,8 @@ rpm-pkg rpm: FORCE
        $(MAKE) clean
        $(CONFIG_SHELL) $(MKSPEC) >$(objtree)/kernel.spec
        $(call cmd,src_tar,$(KERNELPATH),kernel.spec)
-       +rpmbuild $(RPMOPTS) --target $(UTS_MACHINE) -ta $(KERNELPATH).tar.gz
+       +rpmbuild $(RPMOPTS) --target $(UTS_MACHINE) -ta $(KERNELPATH).tar.gz \
+       --define='_smp_mflags %{nil}'
 
 # binrpm-pkg
 # ---------------------------------------------------------------------------