Browse Source

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.
Phil Sutter 9 years ago
parent
commit
a1f303c316
7 changed files with 17 additions and 13 deletions
  1. 1 1
      mk/build.mk
  2. 1 1
      mk/image.mk
  3. 3 3
      mk/kernel-build.mk
  4. 1 1
      mk/kernel-vars.mk
  5. 2 3
      target/arm/Makefile
  6. 1 1
      target/ppc/Makefile
  7. 8 3
      toolchain/kernel-headers/Makefile

+ 1 - 1
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:

+ 1 - 1
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)
 

+ 3 - 3
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)

+ 1 - 1
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)" \

+ 2 - 3
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 \

+ 1 - 1
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

+ 8 - 3
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)