summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhil Sutter <phil.sutter@viprinet.com>2011-01-07 18:21:52 +0100
committerWaldemar Brodkorb <wbx@openadk.org>2011-01-10 10:45:27 +0100
commiteebde77970ce3476e24d11e4adad992f5b670784 (patch)
treed2cf428dbc5bff9b8f37a81b8e6a7cbf2034f116
parent4935edd89d6019323d7c67fd9692cebe0f110496 (diff)
allow disabling kernel customisation completely
Signed-off-by: Phil Sutter <phil.sutter@viprinet.com>
-rw-r--r--Config.in2
-rw-r--r--mk/kernel.mk2
-rw-r--r--target/Makefile5
-rw-r--r--target/config/Config.in11
4 files changed, 19 insertions, 1 deletions
diff --git a/Config.in b/Config.in
index 1d8473380..9eb99d8e6 100644
--- a/Config.in
+++ b/Config.in
@@ -74,7 +74,7 @@ source "package/Config.in.auto"
endmenu
menu "Kernel configuration"
-depends on !ADK_TOOLCHAIN_ONLY && !ADK_CHOOSE_TARGET_ARCH && !ADK_CHOOSE_TARGET_SYSTEM
+depends on !ADK_TOOLCHAIN_ONLY && !ADK_CHOOSE_TARGET_ARCH && !ADK_CHOOSE_TARGET_SYSTEM && ADK_TARGET_KERNEL_CUSTOMISING
source "target/linux/Config.in"
endmenu
diff --git a/mk/kernel.mk b/mk/kernel.mk
index 2ce156694..d5288cd7e 100644
--- a/mk/kernel.mk
+++ b/mk/kernel.mk
@@ -33,6 +33,7 @@ IDEPENDK_$(1):=kernel ($(KERNEL_VERSION)) $(foreach pkg,$(5),", $(pkg)")
PKG_$(1) := $(PACKAGE_DIR)/kmod-$(2)_$(KERNEL_VERSION)-$(KERNEL_RELEASE)_$(CPU_ARCH).$(PKG_SUFFIX)
I_$(1) := $(KMOD_BUILD_DIR)/ipkg/$(2)
+ifeq ($${ADK_TARGET_KERNEL_CUSTOMISING},y)
ifeq ($$(ADK_KPACKAGE_KMOD_$(1)),m)
TARGETS+=$$(PKG_$(1))
endif
@@ -40,6 +41,7 @@ ifeq ($$(ADK_KPACKAGE_KMOD_$(1)),y)
TARGETS+=$$(PKG_$(1))
INSTALL_TARGETS+=$$(PKG_$(1))
endif
+endif
$$(PKG_$(1)):
rm -rf $$(I_$(1))
diff --git a/target/Makefile b/target/Makefile
index 3a5445890..184aaad45 100644
--- a/target/Makefile
+++ b/target/Makefile
@@ -32,6 +32,7 @@ all: install
# only if it does (so the timestamp stays intact)
# 8) remove the temporary .kernelconfig.tmp
###
+ifeq (${ADK_TARGET_KERNEL_CUSTOMISING},y)
config-prepare: $(TOPDIR)/.config
@sed -n '/^ADK_KPACKAGE_KMOD/s//CONFIG/p' ${TOPDIR}/.config | \
sed 's/=y/=m/' >${BUILD_DIR}/.kernelconfig.modules
@@ -74,6 +75,10 @@ endif
@cd ${BUILD_DIR} && cmp -s .kernelconfig.tmp .kernelconfig || \
cp .kernelconfig.tmp .kernelconfig
@-rm -f ${BUILD_DIR}/.kernelconfig.tmp
+else
+config-prepare: $(TOPDIR)/.config
+ @cp ${ADK_TARGET_ARCH}/kernel.config ${BUILD_DIR}/.kernelconfig
+endif
prepare: $(ADK_TARGET_ARCH)-prepare
compile: $(ADK_TARGET_ARCH)-compile
diff --git a/target/config/Config.in b/target/config/Config.in
index 47fde82ce..5e9f42073 100644
--- a/target/config/Config.in
+++ b/target/config/Config.in
@@ -89,6 +89,17 @@ config ADK_HARDWARE_QEMU
config ADK_NATIVE
boolean
+# the inverse of ADK_TARGET_KERNEL_CUSTOMISING,
+# allows for selecting it off (i.e., to disable it)
+config ADK_TARGET_FIXED_KERNEL
+ bool
+ default n
+
+config ADK_TARGET_KERNEL_CUSTOMISING
+ bool
+ default y
+ depends on !ADK_TARGET_FIXED_KERNEL
+
# cpu features
config ADK_TARGET_CPU_WITH_VT
boolean