From d4b2b032a00c9922c9efa144b014dc086a7e48f1 Mon Sep 17 00:00:00 2001 From: "Yann E. MORIN" Date: Mon, 15 Dec 2014 22:19:10 +0100 Subject: [PATCH] linux: fix recursively defined variable When running 'make printvars', the output stops at the time we dump the Linux related variables, with: linux/linux.mk:109: *** Recursive variable `LINUX_TARGET_NAME' references itself (eventually). Stop. And that's expected, since we have: 109 LINUX_TARGET_NAME = $(LINUX_IMAGE_NAME) [...] 112 ifeq ($(LINUX_IMAGE_NAME),) 113 LINUX_IMAGE_NAME = $(LINUX_TARGET_NAME) 114 endif Even though they are defined in a way that ensures they are in fact not recursively defined (the if-block ensures that), 'printvars' does dump all our variables by evaluating all of them, which in that specific case implies they are recursively defined. Fix that by explicitly setting LINUX_IMAGE_NAME in each if-block. Signed-off-by: "Yann E. MORIN" Cc: Peter Korsgaard Cc: Thomas Petazzoni Signed-off-by: Peter Korsgaard --- linux/linux.mk | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/linux/linux.mk b/linux/linux.mk index 6740d012ff..36f0230dde 100644 --- a/linux/linux.mk +++ b/linux/linux.mk @@ -82,6 +82,7 @@ KERNEL_DTBS = $(addsuffix .dtb,$(KERNEL_DTS_NAME)) ifeq ($(BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM),y) LINUX_IMAGE_NAME = $(call qstrip,$(BR2_LINUX_KERNEL_IMAGE_NAME)) LINUX_TARGET_NAME = $(call qstrip,$(BR2_LINUX_KERNEL_IMAGE_TARGET_NAME)) +LINUX_IMAGE_NAME = $(LINUX_TARGET_NAME) else ifeq ($(BR2_LINUX_KERNEL_UIMAGE),y) LINUX_IMAGE_NAME = uImage @@ -106,13 +107,12 @@ LINUX_IMAGE_NAME = vmlinux else ifeq ($(BR2_LINUX_KERNEL_VMLINUZ),y) LINUX_IMAGE_NAME = vmlinuz endif +# The if-else blocks above are all the image types we know of, and all +# come from a Kconfig choice, so we know we have LINUX_IMAGE_NAME set +# to something LINUX_TARGET_NAME = $(LINUX_IMAGE_NAME) endif -ifeq ($(LINUX_IMAGE_NAME),) -LINUX_IMAGE_NAME = $(LINUX_TARGET_NAME) -endif - LINUX_KERNEL_UIMAGE_LOADADDR = $(call qstrip,$(BR2_LINUX_KERNEL_UIMAGE_LOADADDR)) ifneq ($(LINUX_KERNEL_UIMAGE_LOADADDR),) LINUX_MAKE_FLAGS += LOADADDR="$(LINUX_KERNEL_UIMAGE_LOADADDR)" -- 2.30.2