mirror of
https://github.com/hak5/wifipineapple-openwrt.git
synced 2025-10-29 16:57:19 +00:00
make kernel module packaging code reusable and use it in madwifi
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@5189 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
@@ -59,6 +59,69 @@ else
|
||||
LINUX_KERNEL:=$(KERNEL_BUILD_DIR)/vmlinux
|
||||
endif
|
||||
|
||||
|
||||
define KernelPackage/Defaults
|
||||
FILES:=
|
||||
KCONFIG:=m
|
||||
AUTOLOAD:=
|
||||
endef
|
||||
|
||||
define ModuleAutoLoad
|
||||
export modules=; \
|
||||
add_module() { \
|
||||
mkdir -p $(2)/etc/modules.d; \
|
||||
echo "$$$$$$$$2" > $(2)/etc/modules.d/$$$$$$$$1-$(1); \
|
||||
modules="$$$$$$$${modules:+$$$$$$$$modules }$$$$$$$$1-$(1)"; \
|
||||
}; \
|
||||
$(3) \
|
||||
if [ -n "$$$$$$$$modules" ]; then \
|
||||
mkdir -p $(2)/etc/modules.d; \
|
||||
echo "#!/bin/sh" > $(2)/CONTROL/postinst; \
|
||||
echo "[ -z \"\$$$$$$$$IPKG_INSTROOT\" ] || exit 0" >> $(2)/CONTROL/postinst; \
|
||||
echo ". /etc/functions.sh" >> $(2)/CONTROL/postinst; \
|
||||
echo "load_modules $$$$$$$$modules" >> $(2)/CONTROL/postinst; \
|
||||
chmod 0755 $(2)/CONTROL/postinst; \
|
||||
fi
|
||||
endef
|
||||
|
||||
|
||||
define KernelPackage
|
||||
NAME:=$(1)
|
||||
$(eval $(call KernelPackage/Defaults))
|
||||
$(eval $(call KernelPackage/$(1)))
|
||||
$(eval $(call KernelPackage/$(1)/$(KERNEL)))
|
||||
$(eval $(call KernelPackage/$(1)/$(BOARD)-$(KERNEL)))
|
||||
|
||||
define Package/kmod-$(1)
|
||||
TITLE:=$(TITLE)
|
||||
SECTION:=kernel
|
||||
CATEGORY:=Kernel modules
|
||||
DEFAULT:=m
|
||||
DESCRIPTION:=$(DESCRIPTION)
|
||||
EXTRA_DEPENDS:='kernel (=$(PKG_VERSION)-$(PKG_RELEASE))'
|
||||
$(call KernelPackage/$(1))
|
||||
$(call KernelPackage/$(1)/$(KERNEL))
|
||||
$(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) $$(FILES) $$(1)/lib/modules/$(LINUX_VERSION)/
|
||||
$(call ModuleAutoLoad,$(1),$$(1),$(AUTOLOAD))
|
||||
$(call KernelPackage/$(1)/install,$$(1))
|
||||
endef
|
||||
endif
|
||||
endif
|
||||
$$(eval $$(call BuildPackage,kmod-$(1)))
|
||||
endef
|
||||
|
||||
define AutoLoad
|
||||
add_module $(1) "$(2)";
|
||||
endef
|
||||
|
||||
|
||||
# FIXME: remove this crap
|
||||
define KMOD_template
|
||||
ifeq ($$(strip $(4)),)
|
||||
|
||||
Reference in New Issue
Block a user