X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/356535ffd7bc1343ce6bc2fc367f788cc2c1bd24..962cb816e27b2a385c51e82df8f6bb4cb58cd0f3:/include/kernel.mk?ds=sidebyside

diff --git a/include/kernel.mk b/include/kernel.mk
index b8af46c2b..d27f8ac6a 100644
--- a/include/kernel.mk
+++ b/include/kernel.mk
@@ -26,28 +26,32 @@ else
     KERNEL_CROSS:=$(TARGET_CROSS)
   endif
 
+  KERNEL_PATCHVER:=$(shell echo $(LINUX_VERSION) | cut -d. -f1,2,3 | cut -d- -f1)
   PLATFORM_DIR := $(TOPDIR)/target/linux/$(BOARD)-$(KERNEL)
+  PATCH_DIR := ./patches$(shell [ -d "./patches-$(KERNEL_PATCHVER)" ] && printf -- "-$(KERNEL_PATCHVER)" || true )
   KERNEL_BUILD_DIR:=$(BUILD_DIR)/linux-$(KERNEL)-$(BOARD)
   LINUX_DIR := $(KERNEL_BUILD_DIR)/linux-$(LINUX_VERSION)
 
   MODULES_SUBDIR:=lib/modules/$(LINUX_VERSION)
-  MODULES_DIR := $(KERNEL_BUILD_DIR)/modules/$(MODULES_SUBDIR)
   TARGET_MODULES_DIR := $(LINUX_TARGET_DIR)/$(MODULES_SUBDIR)
 
   LINUX_KERNEL:=$(KERNEL_BUILD_DIR)/vmlinux
 
   LINUX_SOURCE:=linux-$(LINUX_VERSION).tar.bz2
-  LINUX_SITE:=http://www.us.kernel.org/pub/linux/kernel/v$(KERNEL) \
-           http://www.us.kernel.org/pub/linux/kernel/v$(KERNEL) \
-           http://www.kernel.org/pub/linux/kernel/v$(KERNEL) \
-           http://www.de.kernel.org/pub/linux/kernel/v$(KERNEL)
+  TESTING:=$(if $(findstring -rc,$(LINUX_VERSION)),/testing,)
+  LINUX_SITE:=http://www.us.kernel.org/pub/linux/kernel/v$(KERNEL)$(TESTING) \
+           http://www.us.kernel.org/pub/linux/kernel/v$(KERNEL)$(TESTING) \
+           http://www.kernel.org/pub/linux/kernel/v$(KERNEL)$(TESTING) \
+           http://www.de.kernel.org/pub/linux/kernel/v$(KERNEL)$(TESTING)
 
+  PKG_BUILD_DIR ?= $(KERNEL_BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
 endif
+GENERIC_PLATFORM_DIR := $(TOPDIR)/target/linux/generic-$(KERNEL)
+GENERIC_PATCH_DIR := $(GENERIC_PLATFORM_DIR)/patches$(shell [ -d "$(GENERIC_PLATFORM_DIR)/patches-$(KERNEL_PATCHVER)" ] && printf -- "-$(KERNEL_PATCHVER)" || true )
 
 
 define KernelPackage/Defaults
   FILES:=
-  KCONFIG:=m
   AUTOLOAD:=
 endef
 
@@ -86,25 +90,24 @@ define KernelPackage
     TITLE:=$(TITLE)
     SECTION:=kernel
     CATEGORY:=Kernel modules
-    DEFAULT:=$(KMOD_DEFAULT)
     DESCRIPTION:=$(DESCRIPTION)
-    EXTRA_DEPENDS:='kernel (=$(LINUX_VERSION)-$(BOARD)-$(LINUX_RELEASE))'
+    EXTRA_DEPENDS:=kernel (=$(LINUX_VERSION)-$(BOARD)-$(LINUX_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
+  ifneq ($(strip $(FILES)),)
+    define Package/kmod-$(1)/install
+	  mkdir -p $$(1)/lib/modules/$(LINUX_VERSION)
+	  $(CP) -L $$(FILES) $$(1)/lib/modules/$(LINUX_VERSION)/
+	  $(call ModuleAutoLoad,$(1),$$(1),$(AUTOLOAD))
+	  $(call KernelPackage/$(1)/install,$$(1))
+    endef
   endif
   $$(eval $$(call BuildPackage,kmod-$(1)))
+
+  $$(IPKG_kmod-$(1)): $$(wildcard $$(FILES))
 endef
 
 define AutoLoad