As Ahmad pointed out in [1], compilation failed if the prepare make target was not called before compiling the imx-usb-loader, which caused the generated file not to exist when building for the sandbox target and broke the build. As the included utsrelease file only contains a UTS_RELEASE macro generated from the KERNELVERSION make variable: use the variable directly and pass it via HOSTCFLAGS as a define. Leave the remaining code untouched to still support compiling the imx-usb-loader from an external makefile which does not define the UTS_RELEASE macro. while at it: also propagate the version number to the target imx-usb-loader. Fixes: c1b50061f4b3 ("imx-usb-loader: add commandline option for displaying version number") [1] 20230525181320.2277320-1-ahmad@xxxxxx Signed-off-by: Johannes Zink <j.zink@xxxxxxxxxxxxxx> --- scripts/imx/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/imx/Makefile b/scripts/imx/Makefile index b3be3886d8eb..dca6be2fe1f4 100644 --- a/scripts/imx/Makefile +++ b/scripts/imx/Makefile @@ -3,10 +3,10 @@ hostprogs-always-$(CONFIG_ARCH_IMX_IMXIMAGE) += imx-image hostprogs-always-$(CONFIG_ARCH_IMX_USBLOADER) += imx-usb-loader -HOSTCFLAGS_imx-usb-loader.o = `pkg-config --cflags libusb-1.0` -include $(objtree)/include/generated/utsrelease.h +HOSTCFLAGS_imx-usb-loader.o = `pkg-config --cflags libusb-1.0` -DUTS_RELEASE='"$(KERNELVERSION)"' HOSTLDLIBS_imx-usb-loader = `pkg-config --libs libusb-1.0` -imx-usb-loader-target-userccflags += `$(CROSS_PKG_CONFIG) --cflags libusb-1.0` +imx-usb-loader-target-userccflags += `$(CROSS_PKG_CONFIG) --cflags libusb-1.0` -DUTS_RELEASE='"$(KERNELVERSION)"' imx-usb-loader-target-userldlibs += `$(CROSS_PKG_CONFIG) --libs libusb-1.0` HOSTCFLAGS_imx.o = -I$(srctree)/include/mach -- 2.39.2