From a1f303c316be60e5a282a6a6a27726152b529a51 Mon Sep 17 00:00:00 2001 From: Phil Sutter Date: Tue, 24 Feb 2015 12:46:47 +0100 Subject: extend KERNEL_MAKE_OPTS by the target directory This change is straightforward but in toolchain/kernel-headers/Makefile which seems to be called before ${BUILD_DIR}/linux symlink exists. Therefore define LINUX_DIR to the correct value in between inclusion of vars.mk (through rules.mk) and kernel-vars.mk. --- mk/build.mk | 2 +- mk/image.mk | 2 +- mk/kernel-build.mk | 6 +++--- mk/kernel-vars.mk | 2 +- target/arm/Makefile | 5 ++--- target/ppc/Makefile | 2 +- toolchain/kernel-headers/Makefile | 11 ++++++++--- 7 files changed, 17 insertions(+), 13 deletions(-) diff --git a/mk/build.mk b/mk/build.mk index 214c52e88..29c99bd6f 100644 --- a/mk/build.mk +++ b/mk/build.mk @@ -223,7 +223,7 @@ kernelconfig: ${KERNEL_MAKE_ENV} ${MAKE} \ ARCH=$(ADK_TARGET_ARCH) \ ${KERNEL_MAKE_OPTS} \ - -C $(BUILD_DIR)/linux menuconfig + menuconfig # create a new package from package/.template newpackage: diff --git a/mk/image.mk b/mk/image.mk index bd7d66f96..1563c2a63 100644 --- a/mk/image.mk +++ b/mk/image.mk @@ -203,7 +203,7 @@ ifeq ($(ADK_KERNEL_COMP_BZIP2),y) echo "CONFIG_INITRAMFS_COMPRESSION_BZIP2=y" >> ${LINUX_DIR}/.config endif @-rm $(LINUX_DIR)/usr/initramfs_data.cpio* 2>/dev/null - env $(KERNEL_MAKE_ENV) $(MAKE) -C $(LINUX_DIR) $(KERNEL_MAKE_OPTS) \ + env $(KERNEL_MAKE_ENV) $(MAKE) $(KERNEL_MAKE_OPTS) \ -j${ADK_MAKE_JOBS} $(ADK_TARGET_KERNEL) $(MAKE_TRACE) @cp $(KERNEL) $(FW_DIR)/$(TARGET_KERNEL) diff --git a/mk/kernel-build.mk b/mk/kernel-build.mk index b66f71132..37570909e 100644 --- a/mk/kernel-build.mk +++ b/mk/kernel-build.mk @@ -35,18 +35,18 @@ $(LINUX_DIR)/.config: $(LINUX_DIR)/.prepared $(BUILD_DIR)/.kernelconfig $(ADK_TO $(TRACE) target/$(ADK_TARGET_ARCH)-kernel-configure -for f in $(TARGETS);do if [ -f $$f ];then rm $$f;fi;done $(CP) $(BUILD_DIR)/.kernelconfig $(LINUX_DIR)/mini.config - ${KERNEL_MAKE_ENV} $(MAKE) -C "${LINUX_DIR}" ${KERNEL_MAKE_OPTS} KCONFIG_ALLCONFIG=mini.config allnoconfig $(MAKE_TRACE) + ${KERNEL_MAKE_ENV} $(MAKE) ${KERNEL_MAKE_OPTS} KCONFIG_ALLCONFIG=mini.config allnoconfig $(MAKE_TRACE) touch -c $(LINUX_DIR)/.config $(LINUX_DIR)/$(KERNEL_FILE): $(LINUX_DIR)/.config $(TRACE) target/$(ADK_TARGET_ARCH)-kernel-compile - ${KERNEL_MAKE_ENV} $(MAKE) -C "${LINUX_DIR}" ${KERNEL_MAKE_OPTS} -j${ADK_MAKE_JOBS} LOCALVERSION="" $(KERNEL_TARGET) modules $(MAKE_TRACE) + ${KERNEL_MAKE_ENV} $(MAKE) ${KERNEL_MAKE_OPTS} -j${ADK_MAKE_JOBS} LOCALVERSION="" $(KERNEL_TARGET) modules $(MAKE_TRACE) touch -c $(LINUX_DIR)/$(KERNEL_FILE) $(LINUX_BUILD_DIR)/modules: $(LINUX_DIR)/$(KERNEL_FILE) $(TRACE) target/$(ADK_TARGET_ARCH)-kernel-modules-install rm -rf $(LINUX_BUILD_DIR)/modules - ${KERNEL_MAKE_ENV} $(MAKE) -C "${LINUX_DIR}" ${KERNEL_MAKE_OPTS} DEPMOD=true \ + ${KERNEL_MAKE_ENV} $(MAKE) ${KERNEL_MAKE_OPTS} DEPMOD=true \ INSTALL_MOD_PATH=$(LINUX_BUILD_DIR)/modules \ LOCALVERSION="" \ modules_install $(MAKE_TRACE) diff --git a/mk/kernel-vars.mk b/mk/kernel-vars.mk index 17a8d23a2..89ba10dd9 100644 --- a/mk/kernel-vars.mk +++ b/mk/kernel-vars.mk @@ -1,7 +1,7 @@ # This file is part of the OpenADK project. OpenADK is copyrighted # material, please see the LICENCE file in the top-level directory. -KERNEL_MAKE_OPTS:= V=1 \ +KERNEL_MAKE_OPTS:= V=1 -C "${LINUX_DIR}" \ ARCH="$(ADK_TARGET_KARCH)" \ CROSS_COMPILE="$(TARGET_CROSS)" \ CC="$(TARGET_CC)" \ diff --git a/target/arm/Makefile b/target/arm/Makefile index 9efddfac9..634bee924 100644 --- a/target/arm/Makefile +++ b/target/arm/Makefile @@ -108,11 +108,10 @@ kernel-install: kernel-strip dtb-install: ifeq ($(ADK_TARGET_SYSTEM_RASPBERRY_PI),y) - env $(KERNEL_MAKE_ENV) $(MAKE) -C $(LINUX_DIR) $(KERNEL_MAKE_OPTS) \ - dtbs $(MAKE_TRACE) + env $(KERNEL_MAKE_ENV) $(MAKE) $(KERNEL_MAKE_OPTS) dtbs $(MAKE_TRACE) endif ifeq ($(ADK_TARGET_SYSTEM_SOLIDRUN_IMX6),y) - env $(KERNEL_MAKE_ENV) $(MAKE) -C $(LINUX_DIR) $(KERNEL_MAKE_OPTS) \ + env $(KERNEL_MAKE_ENV) $(MAKE) $(KERNEL_MAKE_OPTS) \ imx6q-cubox-i.dtb imx6dl-cubox-i.dtb imx6dl-hummingboard.dtb imx6q-hummingboard.dtb $(MAKE_TRACE) endif for x in $(LINUX_DIR)/arch/arm/boot/dts/*.dtb; do \ diff --git a/target/ppc/Makefile b/target/ppc/Makefile index e1df1ef29..9a5529642 100644 --- a/target/ppc/Makefile +++ b/target/ppc/Makefile @@ -71,7 +71,7 @@ kernel-install: kernel-strip @cp $(BUILD_DIR)/$(TARGET_KERNEL) $(FW_DIR)/${TARGET_KERNEL} dtb-install: - env $(KERNEL_MAKE_ENV) $(MAKE) -C $(LINUX_DIR) $(KERNEL_MAKE_OPTS) \ + env $(KERNEL_MAKE_ENV) $(MAKE) $(KERNEL_MAKE_OPTS) \ -j${ADK_MAKE_JOBS} virtex440-ml507.dtb $(MAKE_TRACE) $(CP) $(LINUX_DIR)/arch/powerpc/boot/virtex440-ml507.dtb \ $(FW_DIR)/ppc.dtb diff --git a/toolchain/kernel-headers/Makefile b/toolchain/kernel-headers/Makefile index 1b28c151a..1d24d3853 100644 --- a/toolchain/kernel-headers/Makefile +++ b/toolchain/kernel-headers/Makefile @@ -5,9 +5,14 @@ include $(ADK_TOPDIR)/rules.mk include ../rules.mk include $(ADK_TOPDIR)/mk/kernel-ver.mk include $(ADK_TOPDIR)/mk/linux.mk -include $(ADK_TOPDIR)/mk/kernel-vars.mk include $(ADK_TOPDIR)/mk/buildhlp.mk +# override linux dir here, as build_bla_bla/linux does not exist yet +LINUX_DIR=${WRKBUILD} + +include $(ADK_TOPDIR)/mk/kernel-vars.mk + + $(TOOLCHAIN_BUILD_DIR)/w-$(PKG_NAME)-$(PKG_VERSION)-$(PKG_RELEASE)/linux-$(KERNEL_VERSION)/.patched: ifeq ($(ADK_TARGET_SYSTEM_PCENGINES_APU),y) ifeq ($(ADK_KERNEL_ROOT_NFS),y) @@ -60,8 +65,8 @@ endif touch $@ $(WRKBUILD)/.headers: $(TOOLCHAIN_BUILD_DIR)/w-$(PKG_NAME)-$(PKG_VERSION)-$(PKG_RELEASE)/linux-$(KERNEL_VERSION)/.patched - $(KERNEL_MAKE_ENV) $(MAKE) -C $(WRKBUILD) $(KERNEL_MAKE_OPTS) headers_check - $(KERNEL_MAKE_ENV) $(MAKE) -C $(WRKBUILD) $(KERNEL_MAKE_OPTS) \ + $(KERNEL_MAKE_ENV) $(MAKE) $(KERNEL_MAKE_OPTS) headers_check + $(KERNEL_MAKE_ENV) $(MAKE) $(KERNEL_MAKE_OPTS) \ INSTALL_HDR_PATH=$(STAGING_TARGET_DIR)/usr \ headers_install ifeq ($(ADK_TARGET_ARCH_CRIS),y) -- cgit v1.2.3