Browse Source

allow disabling kernel customisation completely

Signed-off-by: Phil Sutter <phil.sutter@viprinet.com>
Phil Sutter 14 years ago
parent
commit
eebde77970
4 changed files with 19 additions and 1 deletions
  1. 1 1
      Config.in
  2. 2 0
      mk/kernel.mk
  3. 5 0
      target/Makefile
  4. 11 0
      target/config/Config.in

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

+ 2 - 0
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))

+ 5 - 0
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

+ 11 - 0
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