dynamically enable/disable kernel config options for kmod packages based on build...
[openwrt/svn-archive/archive.git] / include / kernel-defaults.mk
index 6930a962a565fc8e90e9d375acc1aa052d34375c..409b7d723ad8fc85fd288fd907f2b843c3925cbe 100644 (file)
@@ -33,7 +33,7 @@ KERNEL_MAKEOPTS := -C $(LINUX_DIR) \
 # defined in quilt.mk
 Kernel/Patch:=$(Kernel/Patch/Default)
 define Kernel/Prepare/Default
-       bzcat $(DL_DIR)/$(LINUX_SOURCE) | tar -C $(KERNEL_BUILD_DIR) $(TAR_OPTIONS)
+       bzcat $(DL_DIR)/$(LINUX_SOURCE) | $(TAR) -C $(KERNEL_BUILD_DIR) $(TAR_OPTIONS)
        $(Kernel/Patch)
 endef
 
@@ -46,11 +46,11 @@ define Kernel/Configure/2.6
        -$(MAKE) $(KERNEL_MAKEOPTS) CC="$(KERNEL_CC)" oldconfig prepare scripts
 endef
 define Kernel/Configure/Default
-       @if [ -f "./config/profile-$(PROFILE)" ]; then \
-               $(SCRIPT_DIR)/config.pl '+' $(GENERIC_LINUX_CONFIG) '+' $(LINUX_CONFIG) ./config/profile-$(PROFILE) > $(LINUX_DIR)/.config; \
-       else \
-               $(SCRIPT_DIR)/config.pl '+' $(GENERIC_LINUX_CONFIG) $(LINUX_CONFIG) > $(LINUX_DIR)/.config; \
-       fi
+       $(SCRIPT_DIR)/config.pl '+' $(GENERIC_LINUX_CONFIG) \
+               $(if $(wildcard ./config/profile-$(PROFILE)),'+' $(LINUX_CONFIG) ./config/profile-$(PROFILE), $(LINUX_CONFIG)) \
+               > $(LINUX_DIR)/.config.target
+       $(SCRIPT_DIR)/metadata.pl kconfig $(TMP_DIR)/.packageinfo $(TOPDIR)/.config > $(LINUX_DIR)/.config.override
+       $(SCRIPT_DIR)/config.pl 'm+' $(LINUX_DIR)/.config.target $(LINUX_DIR)/.config.override >$(LINUX_DIR)/.config
        $(call Kernel/Configure/$(KERNEL))
        rm -rf $(KERNEL_BUILD_DIR)/modules
        @rm -f $(BUILD_DIR)/linux