X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/40224d8b95396392e47e96e37a15734c54fe4ac7..93b646c8f58b3e84b3b3db1ab73f2cad4a44a650:/package/kernel/Makefile

diff --git a/package/kernel/Makefile b/package/kernel/Makefile
index 14fcda288..a030ad723 100644
--- a/package/kernel/Makefile
+++ b/package/kernel/Makefile
@@ -11,80 +11,48 @@ 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
 
 include $(INCLUDE_DIR)/package.mk
 ifeq ($(DUMP),)
--include $(LINUX_DIR)/.config
-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:=
+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" >> $(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)))
-
-  ifneq ($(findstring m,$(KCONFIG)),m)
-    CONFIG_PACKAGE_kmod-$(1):=
-  endif
-
-  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
 
-  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
-  $$(eval $$(call BuildPackage,kmod-$(1)))
-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