add broadcast setting for /etc/config/network interfaces
[openwrt.git] / package / kernel / Makefile
index 0a26cd6..e58b310 100644 (file)
@@ -11,77 +11,51 @@ 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
 
+# build all in-tree kmod-* packages by default
+KMOD_DEFAULT:=m
+
 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
-endef
-
-define KernelPackage/Defaults
-FILES:=
-KCONFIG:=
-AUTOLOAD:=
+define Build/Configure
 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)))
 
-  ifneq ($(findstring m,$(KCONFIG)),m)
-    CONFIG_PACKAGE_kmod-$(1):=
-  endif
-
-  define Package/kmod-$(1)
-    TITLE:=$(TITLE)
-    SECTION:=kernel
-    CATEGORY:=Kernel modules
-    DESCRIPTION:=$(DESCRIPTION)
-    EXTRA_DEPENDS:='kernel (=$(PKG_VERSION))'
-  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)))
+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