X-Git-Url: http://git.rohieb.name/openwrt.git/blobdiff_plain/aaa058cf5cf5dc603edcdf09a75eb08c77709a93..622ea9fa13bf212e52c04602112ee1117a863af9:/package/kernel/Makefile diff --git a/package/kernel/Makefile b/package/kernel/Makefile index b1155f428..bc0b88ba2 100644 --- a/package/kernel/Makefile +++ b/package/kernel/Makefile @@ -11,81 +11,52 @@ include $(INCLUDE_DIR)/kernel.mk PKG_NAME:=kernel PKG_VERSION:=$(LINUX_VERSION)-$(BOARD) -PKG_RELEASE:=1 +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),) --include $(LINUX_DIR)/.config -NF_KMOD:=1 -include $(INCLUDE_DIR)/netfilter.mk + -include $(LINUX_DIR)/.config + NF_KMOD:=1 + include $(INCLUDE_DIR)/netfilter.mk endif define Build/Prepare mkdir -p $(PKG_BUILD_DIR) endef -define Build/Compile +define Build/Configure endef -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" >> $(2)/CONTROL/postinst; \ - echo ". /etc/functions.sh" >> $(2)/CONTROL/postinst; \ - echo "load_modules $$$$$$$$modules" >> $(2)/CONTROL/postinst; \ - chmod 0755 $(2)/CONTROL/postinst; \ - fi +define Build/Compile 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))' - $(call KernelPackage/$(1)) - $(call KernelPackage/$(1)/$(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))) +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 AutoLoad -add_module $(1) "$(2)"; +define Package/kernel/install + # nothing to do endef -include ./modules.mk +# 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