dynamically enable/disable kernel config options for kmod packages based on build system config

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@8026 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
Felix Fietkau
2007-07-18 11:31:01 +00:00
parent a2553569ed
commit cbd55fe6d7
19 changed files with 255 additions and 222 deletions

View File

@@ -98,7 +98,7 @@ define BuildKernel
$(call Kernel/Prepare)
touch $$@
$(STAMP_CONFIGURED): $(STAMP_PREPARED) $(LINUX_CONFIG) $(GENERIC_LINUX_CONFIG)
$(STAMP_CONFIGURED): $(STAMP_PREPARED) $(LINUX_CONFIG) $(GENERIC_LINUX_CONFIG) $(TOPDIR)/.config
$(call Kernel/Configure)
touch $$@

View File

@@ -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

View File

@@ -52,7 +52,6 @@ GENERIC_PATCH_DIR := $(GENERIC_PLATFORM_DIR)/patches$(shell [ -d "$(GENERIC_PLAT
define KernelPackage/Defaults
FILES:=
KCONFIG:=m
AUTOLOAD:=
endef
@@ -91,7 +90,6 @@ define KernelPackage
TITLE:=$(TITLE)
SECTION:=kernel
CATEGORY:=Kernel modules
DEFAULT:=$(KMOD_DEFAULT)
DESCRIPTION:=$(DESCRIPTION)
EXTRA_DEPENDS:=kernel (=$(LINUX_VERSION)-$(BOARD)-$(LINUX_RELEASE))
$(call KernelPackage/$(1))
@@ -99,15 +97,13 @@ define KernelPackage
$(call KernelPackage/$(1)/$(BOARD)-$(KERNEL))
endef
ifeq ($(findstring m,$(KCONFIG)),m)
ifneq ($(strip $(FILES)),)
define Package/kmod-$(1)/install
mkdir -p $$(1)/lib/modules/$(LINUX_VERSION)
$(CP) -L $$(FILES) $$(1)/lib/modules/$(LINUX_VERSION)/
$(call ModuleAutoLoad,$(1),$$(1),$(AUTOLOAD))
$(call KernelPackage/$(1)/install,$$(1))
endef
endif
ifneq ($(strip $(FILES)),)
define Package/kmod-$(1)/install
mkdir -p $$(1)/lib/modules/$(LINUX_VERSION)
$(CP) -L $$(FILES) $$(1)/lib/modules/$(LINUX_VERSION)/
$(call ModuleAutoLoad,$(1),$$(1),$(AUTOLOAD))
$(call KernelPackage/$(1)/install,$$(1))
endef
endif
$$(eval $$(call BuildPackage,kmod-$(1)))

View File

@@ -31,6 +31,7 @@ define Package/Default
SUBMENUDEP:=
TITLE:=
DESCRIPTION:=
KCONFIG:=
endef
Build/Patch:=$(Build/Patch/Default)

View File

@@ -28,6 +28,7 @@ ifneq ($(DUMP),)
echo "Category: $(CATEGORY)"; \
echo "Title: $(TITLE)"; \
echo "Maintainer: $(MAINTAINER)"; \
$(if $(KCONFIG),echo "Kernel-Config: $(KCONFIG)";) \
echo -n "Description: "; \
getvar $(call shvar,Package/$(1)/description); \
$(if $(URL),echo;echo "$(URL)";) \