archs38: only calculate entry point address when necessary
authorFelix Fietkau <nbd@nbd.name>
Thu, 16 Feb 2017 06:51:42 +0000 (07:51 +0100)
committerJo-Philipp Wich <jo@mein.io>
Wed, 1 Mar 2017 19:37:37 +0000 (20:37 +0100)
$(eval) runs even during prereq check, which can cause bogus error
messages

Signed-off-by: Felix Fietkau <nbd@nbd.name>
target/linux/archs38/image/Makefile

index 903c1ba..5d941bc 100644 (file)
@@ -10,9 +10,7 @@ include $(INCLUDE_DIR)/image.mk
 # On ARC initramfs is put before entry point and so entry point moves
 # in memory from build to built. Thus we need to extract EP from vmlinux
 # every time before generation of uImage.
-define Build/calculate-ep
-       $(eval KERNEL_ENTRY=$(shell $(KERNEL_CROSS)readelf -h $(1) | grep "Entry point address" | grep -o 0x.*))
-endef
+kernel_ep = `$(KERNEL_CROSS)readelf -h $(1) | grep "Entry point address" | grep -o 0x.*`
 
 define Build/patch-dtb
        $(STAGING_DIR_HOST)/bin/patch-dtb $@ $(DTS_DIR)/$(DEVICE_DTS).dtb
@@ -69,9 +67,8 @@ endef
 
 define Image/BuildKernel
        # Build unified uImage
-       $(call Build/calculate-ep, $(KDIR)/vmlinux.elf)
        $(call Image/BuildKernel/MkuImage, \
-               none, $(KERNEL_LOADADDR), $(KERNEL_ENTRY), \
+               none, $(KERNEL_LOADADDR),$(call kernel_ep,$(KDIR)/vmlinux.elf) , \
                $(KDIR)/vmlinux, \
                $(BIN_DIR)/$(IMG_PREFIX)-uImage \
        )