X-Git-Url: http://git.rohieb.name/openwrt.git/blobdiff_plain/031c35252f42ccf74566df2dfa92b83eebc5b698..622ea9fa13bf212e52c04602112ee1117a863af9:/package/kernel/Makefile diff --git a/package/kernel/Makefile b/package/kernel/Makefile index 7c81cda0a..bc0b88ba2 100644 --- a/package/kernel/Makefile +++ b/package/kernel/Makefile @@ -14,6 +14,10 @@ PKG_VERSION:=$(LINUX_VERSION)-$(BOARD) PKG_RELEASE:=$(LINUX_RELEASE) PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/packages +PKG_FILE_DEPEND:=$(MODULES_DIR) + +# build all in-tree kmod-* packages by default +KMOD_DEFAULT:=m include $(INCLUDE_DIR)/package.mk ifeq ($(DUMP),) @@ -26,66 +30,33 @@ define Build/Prepare mkdir -p $(PKG_BUILD_DIR) endef -define Build/Compile +define Build/Configure endef -define KernelPackage/Defaults - FILES:= - KCONFIG:=m - AUTOLOAD:= +define Build/Compile 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 +CONFIG_PACKAGE_kernel=y +define Package/kernel + SECTION:=sys + CATEGORY:=Kernel + DEFAULT:=y + TITLE:=Virtual kernel package + DESCRIPTION:=Virtual kernel package + VERSION:=$(LINUX_VERSION)-$(BOARD)-$(LINUX_RELEASE) endef - -define KernelPackage - NAME:=$(1) - $(eval $(call KernelPackage/Defaults)) - $(eval $(call KernelPackage/$(1))) - $(eval $(call KernelPackage/$(1)/$(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)) - endef - endif - endif - $$(eval $$(call BuildPackage,kmod-$(1))) +define Package/kernel/install + # nothing to do endef -define AutoLoad - add_module $(1) "$(2)"; -endef +# this is more robust than ifdef around eval/call +ifneq ($(DUMP),1) + define BuildKernel + $(call BuildPackage,kernel) + endef +endif +$(eval $(call BuildKernel)) +include $(TOPDIR)/target/linux/*/modules.mk include ./modules/*.mk