summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhil Sutter <phil.sutter@viprinet.com>2015-02-24 12:46:47 +0100
committerWaldemar Brodkorb <wbx@openadk.org>2015-02-28 10:14:20 +0100
commita1f303c316be60e5a282a6a6a27726152b529a51 (patch)
tree61dc6385c385b37da1c790ad953a3862b3c95887
parentf2179916b592f8a0a1feb89f992e1d496f0d62cb (diff)
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.
-rw-r--r--mk/build.mk2
-rw-r--r--mk/image.mk2
-rw-r--r--mk/kernel-build.mk6
-rw-r--r--mk/kernel-vars.mk2
-rw-r--r--target/arm/Makefile5
-rw-r--r--target/ppc/Makefile2
-rw-r--r--toolchain/kernel-headers/Makefile11
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)