diff options
author | Waldemar Brodkorb <wbx@openadk.org> | 2017-03-21 00:26:05 +0100 |
---|---|---|
committer | Waldemar Brodkorb <wbx@openadk.org> | 2017-03-21 06:57:41 +0100 |
commit | 263bba08cb03659c1e1d54b43ae8c9c18d67b77a (patch) | |
tree | edef79b77b387edb95024c2f1de5c89c7e850e6f /mk/kernel-build.mk | |
parent | 0bb7e3f588f5727390259df1644edf19f15f608f (diff) |
rework kernel build process, changes to kernelconfig are reflected now
Cleanup the package directory which is always used as intermediate step
to build in the default some xz compressed archives with all package
data. While reconfiguring the kernel mini.config or custom config
changes to the firmware did not happen always.
Some targets where redundant and the install step tries to compile, too.
Be more quiet with any cpio usage.
Diffstat (limited to 'mk/kernel-build.mk')
-rw-r--r-- | mk/kernel-build.mk | 41 |
1 files changed, 15 insertions, 26 deletions
diff --git a/mk/kernel-build.mk b/mk/kernel-build.mk index 65d3baba9..5db052c33 100644 --- a/mk/kernel-build.mk +++ b/mk/kernel-build.mk @@ -31,6 +31,10 @@ KERNEL_FILE:=vmlinux KERNEL_TARGET:=$(ADK_TARGET_KERNEL) endif +ifneq ($(KERNEL_MODULES_USED),) +KERNEL_TARGET+=modules +endif + ifeq ($(ADK_RUNTIME_DEV_UDEV),y) ADK_DEPMOD:=$(STAGING_HOST_DIR)/usr/bin/depmod else @@ -53,7 +57,6 @@ endif $(LINUX_DIR)/.config: $(LINUX_DIR)/.prepared $(START_TRACE) "target/$(ADK_TARGET_ARCH)-kernel-configure.. " - -for f in $(TARGETS);do if [ -f $$f ];then rm $$f;fi;done echo "-${KERNEL_RELEASE}" >${LINUX_DIR}/localversion ifeq ($(ADK_TARGET_KERNEL_USE_DEFCONFIG),y) ${KERNEL_MAKE_ENV} $(MAKE) -C "${LINUX_DIR}" ${KERNEL_MAKE_OPTS} $(ADK_TARGET_KERNEL_DEFCONFIG) $(MAKE_TRACE) @@ -67,22 +70,19 @@ else $(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) endif - touch -c $(LINUX_DIR)/.config $(CMD_TRACE) " done" $(END_TRACE) $(LINUX_DIR)/$(KERNEL_FILE): $(LINUX_DIR)/.config $(START_TRACE) "target/$(ADK_TARGET_ARCH)-kernel-compile.. " ${KERNEL_MAKE_ENV} $(MAKE) -C "${LINUX_DIR}" ${KERNEL_MAKE_OPTS} -j${ADK_MAKE_JOBS} $(KERNEL_TARGET) $(MAKE_TRACE) - touch -c $(LINUX_DIR)/$(KERNEL_FILE) $(CMD_TRACE) " done" $(END_TRACE) -$(LINUX_BUILD_DIR)/modules: $(LINUX_DIR)/$(KERNEL_FILE) - $(START_TRACE) "target/$(ADK_TARGET_ARCH)-kernel-modules-compile.. " - ${KERNEL_MAKE_ENV} $(MAKE) -C "${LINUX_DIR}" ${KERNEL_MAKE_OPTS} -j${ADK_MAKE_JOBS} modules $(MAKE_TRACE) - $(CMD_TRACE) " done" - $(END_TRACE) +prepare: +compile: $(LINUX_DIR)/$(KERNEL_FILE) +install: +ifneq ($(KERNEL_MODULES_USED),) $(START_TRACE) "target/$(ADK_TARGET_ARCH)-kernel-modules-install.. " rm -rf $(LINUX_BUILD_DIR)/modules ${KERNEL_MAKE_ENV} $(MAKE) -C "${LINUX_DIR}" ${KERNEL_MAKE_OPTS} \ @@ -91,9 +91,9 @@ $(LINUX_BUILD_DIR)/modules: $(LINUX_DIR)/$(KERNEL_FILE) modules_install $(MAKE_TRACE) $(CMD_TRACE) " done" $(END_TRACE) -ifneq ($(ADK_RUNTIME_DEV_UDEV),y) - $(START_TRACE) "target/$(ADK_TARGET_ARCH)-create-packages.. " - @mkdir -p ${PACKAGE_DIR} +ifeq ($(ADK_RUNTIME_DEV_UDEV),) + $(START_TRACE) "target/$(ADK_TARGET_ARCH)-kernel-modules-create-packages.. " + rm -f ${PACKAGE_DIR}/kmod-* PATH='${HOST_PATH}' ${BASH} ${SCRIPT_DIR}/make-module-ipkgs.sh \ "${ADK_TARGET_CPU_ARCH}" \ "${KERNEL_VERSION}" \ @@ -103,21 +103,10 @@ ifneq ($(ADK_RUNTIME_DEV_UDEV),y) $(CMD_TRACE) " done" $(END_TRACE) endif - -prepare: -ifneq ($(KERNEL_MODULES_USED),) -compile: $(LINUX_BUILD_DIR)/modules -else -compile: $(LINUX_DIR)/$(KERNEL_FILE) -endif -install: compile -ifneq ($(KERNEL_MODULES_USED),) - $(START_TRACE) "target/${ADK_TARGET_ARCH}-modules-install.. " -ifeq ($(ADK_TARGET_PACKAGE_IPKG)$(ADK_TARGET_PACKAGE_OPKG),y) - $(PKG_INSTALL) $(wildcard ${PACKAGE_DIR}/kmod-*) $(MAKE_TRACE) -else - $(foreach pkg,$(wildcard ${PACKAGE_DIR}/kmod-*),$(shell $(PKG_INSTALL) $(pkg))) -endif + $(START_TRACE) "target/${ADK_TARGET_ARCH}-kernel-modules-install-packages.. " + for pkg in $(PACKAGE_DIR)/kmod-*; do \ + [[ -e "$$pkg" ]] && $(PKG_INSTALL) $$pkg; \ + done $(CMD_TRACE) " done" $(END_TRACE) endif |