X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fopenwrt.git;a=blobdiff_plain;f=include%2Fkernel.mk;h=2314ec73aa1f5fd3259e6c7bad864ad81a69b036;hp=6a613fe1fda7f56d8669adaf4d222cbfa1097665;hb=54ea0f45c8b375ff29478c1f0d659d1548e89fc9;hpb=120a88b9da6d8d1b7a04d60e1b25b9925d58eb19 diff --git a/include/kernel.mk b/include/kernel.mk index 6a613fe1fd..2314ec73aa 100644 --- a/include/kernel.mk +++ b/include/kernel.mk @@ -5,8 +5,15 @@ # See /LICENSE for more information. # +ifneq ($(filter check,$(MAKECMDGOALS)),) +CHECK:=1 +DUMP:=1 +endif + ifeq ($(__target_inc),) - include $(INCLUDE_DIR)/target.mk + ifndef CHECK + include $(INCLUDE_DIR)/target.mk + endif endif ifeq ($(DUMP),1) @@ -30,8 +37,8 @@ else endif ifeq ($(TARGET_BUILD),1) - PATCH_DIR ?= ./patches$(if $(wildcard ./patches-$(KERNEL_PATCHVER)),-$(KERNEL_PATCHVER)) - FILES_DIR ?= $(foreach dir,$(wildcard ./files ./files-$(KERNEL_PATCHVER)),"$(dir)") + PATCH_DIR ?= $(CURDIR)/patches$(if $(wildcard ./patches-$(KERNEL_PATCHVER)),-$(KERNEL_PATCHVER)) + FILES_DIR ?= $(foreach dir,$(wildcard $(CURDIR)/files $(CURDIR)/files-$(KERNEL_PATCHVER)),"$(dir)") endif KERNEL_BUILD_DIR ?= $(BUILD_DIR)/linux-$(BOARD)$(if $(SUBTARGET),_$(SUBTARGET)) LINUX_DIR ?= $(KERNEL_BUILD_DIR)/linux-$(LINUX_VERSION) @@ -64,6 +71,8 @@ ifneq (,$(findstring uml,$(BOARD))) LINUX_KARCH=um else ifneq (,$(findstring $(ARCH) , aarch64 aarch64_be )) LINUX_KARCH := arm64 +else ifneq (,$(findstring $(ARCH) , arceb )) + LINUX_KARCH := arc else ifneq (,$(findstring $(ARCH) , armeb )) LINUX_KARCH := arm else ifneq (,$(findstring $(ARCH) , mipsel mips64 mips64el )) @@ -79,6 +88,7 @@ endif define KernelPackage/Defaults FILES:= AUTOLOAD:= + PKGFLAGS+=nonshared endef define ModuleAutoLoad @@ -88,7 +98,7 @@ define ModuleAutoLoad mods="$$$$$$$$1"; \ boot="$$$$$$$$2"; \ shift 2; \ - for mod in $$$$$$$$mods; do \ + for mod in $(sort $$$$$$$$mods); do \ mkdir -p $(2)/etc/modules.d; \ echo "$$$$$$$$mod" >> $(2)/etc/modules.d/$(1); \ done; \ @@ -105,7 +115,7 @@ define ModuleAutoLoad mods="$$$$$$$$2"; \ boot="$$$$$$$$3"; \ shift 3; \ - for mod in $$$$$$$$mods; do \ + for mod in $(sort $$$$$$$$mods); do \ mkdir -p $(2)/etc/modules.d; \ echo "$$$$$$$$mod" >> $(2)/etc/modules.d/$$$$$$$$priority-$(1); \ done; \ @@ -145,6 +155,7 @@ define KernelPackage $(eval $(call KernelPackage/Defaults)) $(eval $(call KernelPackage/$(1))) $(eval $(call KernelPackage/$(1)/$(BOARD))) + $(eval $(call KernelPackage/$(1)/$(BOARD)/$(if $(SUBTARGET),$(SUBTARGET),generic))) define Package/kmod-$(1) TITLE:=$(TITLE) @@ -153,8 +164,10 @@ define KernelPackage DESCRIPTION:=$(DESCRIPTION) EXTRA_DEPENDS:=kernel (=$(LINUX_VERSION)-$(LINUX_RELEASE)-$(LINUX_VERMAGIC)) VERSION:=$(LINUX_VERSION)$(if $(PKG_VERSION),+$(PKG_VERSION))-$(if $(PKG_RELEASE),$(PKG_RELEASE),$(LINUX_RELEASE)) + PKGFLAGS:=$(PKGFLAGS) $(call KernelPackage/$(1)) $(call KernelPackage/$(1)/$(BOARD)) + $(call KernelPackage/$(1)/$(BOARD)/$(if $(SUBTARGET),$(SUBTARGET),generic)) endef ifdef KernelPackage/$(1)/conffiles @@ -178,7 +191,7 @@ $(call KernelPackage/$(1)/config) $(call KernelPackage/depends) ifneq ($(if $(filter-out %=y %=n %=m,$(KCONFIG)),$(filter m y,$(foreach c,$(filter-out %=y %=n %=m,$(KCONFIG)),$($(c)))),.),) - ifneq ($(if $(SDK),$(filter-out $(LINUX_DIR)/%.ko,$(FILES)),$(strip $(FILES))),) + ifneq ($(strip $(FILES)),) define Package/kmod-$(1)/install @for mod in $$(call version_filter,$$(FILES)); do \ if grep -q "$$$$$$$${mod##$(LINUX_DIR)/}" "$(LINUX_DIR)/modules.builtin"; then \ @@ -211,7 +224,7 @@ $(call KernelPackage/$(1)/config) $$(IPKG_kmod-$(1)): $$(wildcard $$(FILES)) endef -version_filter=$(if $(findstring @,$(1)),$(shell $(SCRIPT_DIR)/metadata.pl version_filter $(KERNEL_PATCHVER) $(1)),$(1)) +version_filter=$(if $(findstring @,$(1)),$(shell $(SCRIPT_DIR)/package-metadata.pl version_filter $(KERNEL_PATCHVER) $(1)),$(1)) define AutoLoad add_module "$(1)" "$(call version_filter,$(2))" "$(3)";