aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Thomas Petazzoni <thomas.petazzoni@bootlin.com>2019-04-22 22:08:25 +0200
committerGravatar Thomas Petazzoni <thomas.petazzoni@bootlin.com>2019-04-24 22:46:11 +0200
commit2a7cf511f4cd4b708eb68d3fe98e291ee6a588b1 (patch)
tree4d44a919418ada51961df34b352c73940ac72325
parent2f23f7045413943c27ba7e0f7ff180570b709566 (diff)
downloadbuildroot-2a7cf511f4cd4b708eb68d3fe98e291ee6a588b1.tar.gz
buildroot-2a7cf511f4cd4b708eb68d3fe98e291ee6a588b1.tar.bz2
linux: split calling "all" and "$(LINUX_TARGET_NAME)" targets
In commit ffbe46a5295ce4e0442728f2ad3e19afa7eaa8ed ("linux: simplify LINUX_BUILD_CMDS"), we changed LINUX_BUILD_CMDS to essentially do: make all $(LINUX_TARGET_NAME) Unfortunately, it turns out that it breaks the build of a number of defconfigs, with errors such as: fixdep: error opening file: arch/xtensa/boot/lib/.inftrees.o.d: No such file or directory Calling "all" and "$(LINUX_TARGET_NAME)" as separate make invocations avoids this problem, and fixes the build of several defconfigs. Fixes: ts7680_defconfig https://gitlab.com/buildroot.org/buildroot/-/jobs/199339583 qemu_xtensa_lx60_defconfig https://gitlab.com/buildroot.org/buildroot/-/jobs/199339553 roseapplepi_defconfig https://gitlab.com/buildroot.org/buildroot/-/jobs/199339564 qemu_xtensa_lx60_nommu_defconfig https://gitlab.com/buildroot.org/buildroot/-/jobs/199339554 qemu_ppc64_e5500_defconfig https://gitlab.com/buildroot.org/buildroot/-/jobs/199339539 freescale_t2080_qds_rdb_defconfig https://gitlab.com/buildroot.org/buildroot/-/jobs/199339455 arcturus_ucp1020_defconfig https://gitlab.com/buildroot.org/buildroot/-/jobs/199339399 Cc: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Peter Korsgaard <peter@korsgaard.com> Cc: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> [Thomas: add comment in the code to explain why we call the two make targets separately, as suggested by Yann E. Morin] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
-rw-r--r--linux/linux.mk8
1 files changed, 6 insertions, 2 deletions
diff --git a/linux/linux.mk b/linux/linux.mk
index 1eac3287ab..51fd41fa15 100644
--- a/linux/linux.mk
+++ b/linux/linux.mk
@@ -439,12 +439,16 @@ endif
endif
# Compilation. We make sure the kernel gets rebuilt when the
-# configuration has changed.
+# configuration has changed. We call the 'all' and
+# '$(LINUX_TARGET_NAME)' targets separately because calling them in
+# the same $(MAKE) invocation has shown to cause parallel build
+# issues.
define LINUX_BUILD_CMDS
$(foreach dts,$(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_DTS_PATH)), \
cp -f $(dts) $(LINUX_ARCH_PATH)/boot/dts/
)
- $(LINUX_MAKE_ENV) $(MAKE) $(LINUX_MAKE_FLAGS) -C $(@D) all $(LINUX_TARGET_NAME)
+ $(LINUX_MAKE_ENV) $(MAKE) $(LINUX_MAKE_FLAGS) -C $(@D) all
+ $(LINUX_MAKE_ENV) $(MAKE) $(LINUX_MAKE_FLAGS) -C $(@D) $(LINUX_TARGET_NAME)
$(LINUX_BUILD_DTB)
$(LINUX_APPEND_DTB)
endef