linux: replace shell for loop with make foreach loop
authorThomas Petazzoni <thomas.petazzoni@bootlin.com>
Thu, 16 Aug 2018 20:45:23 +0000 (22:45 +0200)
committerPeter Korsgaard <peter@korsgaard.com>
Fri, 17 Aug 2018 14:52:00 +0000 (16:52 +0200)
This commit replaces the loop copying out-of-tree DTS into the kernel
tree by a make foreach loop instead of a shell for loop. This allows
to error out if one of the DTS file cannot be copied (for example if
it doesn't exist).

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
linux/linux.mk

index 7527b116730915efb7cdcdca71bfbbc560b49b9a..e0d437427df6b510105147cb0da82b4059ed9453 100644 (file)
@@ -389,9 +389,9 @@ endif
 # Compilation. We make sure the kernel gets rebuilt when the
 # configuration has changed.
 define LINUX_BUILD_CMDS
-       @for dts in $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_DTS_PATH)); do \
-               cp -f $${dts} $(LINUX_ARCH_PATH)/boot/dts/ ; \
-       done
+       $(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) $(LINUX_TARGET_NAME)
        @if grep -q "CONFIG_MODULES=y" $(@D)/.config; then \
                $(LINUX_MAKE_ENV) $(MAKE) $(LINUX_MAKE_FLAGS) -C $(@D) modules ; \