speed up metadata scanning a lot by avoiding unnecessary shell commands and make recursions

SVN-Revision: 14734
This commit is contained in:
Felix Fietkau 2009-03-03 13:54:29 +00:00
parent 2d1ed46c68
commit 127296bc45
6 changed files with 60 additions and 40 deletions

View File

@ -6,7 +6,9 @@
# #
TMP_DIR ?= $(TOPDIR)/tmp TMP_DIR ?= $(TOPDIR)/tmp
ifndef DUMP
-include $(TMP_DIR)/.host.mk -include $(TMP_DIR)/.host.mk
endif
export TAR FIND export TAR FIND

View File

@ -38,6 +38,8 @@ endif
# disable the md5sum check for unknown kernel versions # disable the md5sum check for unknown kernel versions
LINUX_KERNEL_MD5SUM?=x LINUX_KERNEL_MD5SUM?=x
KERNEL?=2.$(word 2,$(subst ., ,$(strip $(LINUX_VERSION)))) split_version=$(subst ., ,$(1))
KERNEL_PATCHVER=$(shell echo '$(LINUX_VERSION)' | cut -d. -f1,2,3 | cut -d- -f1) merge_version=$(subst $(space),.,$(1))
KERNEL=$(call merge_version,$(wordlist 1,2,$(call split_version,$(LINUX_VERSION))))
KERNEL_PATCHVER=$(call merge_version,$(wordlist 1,3,$(call split_version,$(LINUX_VERSION))))

View File

@ -6,37 +6,48 @@
# #
ifneq ($(DUMP),) ifneq ($(DUMP),)
dumpinfo: FORCE
define Config/template
Preconfig: $(1)
Preconfig-Type: $(2)
Preconfig-Default: $(3)
Preconfig-Label: $(4)
endef
define Config define Config
preconfig_$$(1) += echo "Preconfig: $(1)"; echo "Preconfig-Type: $(2)"; echo "Preconfig-Default: $(3)"; echo "Preconfig-Label: $(4)"; Preconfig/$(1) = $$(call Config/template,$(1),$(2),$(3),$(4))
preconfig_$$(1) += $(1)
endef endef
define Dumpinfo define Dumpinfo
dumpinfo: dumpinfo-$(1) $(info Package: $(1)
.SILENT: dumpinfo-$(1) $(if $(MENU),Menu: $(MENU)
dumpinfo-$(1): FORCE )$(if $(SUBMENU),Submenu: $(SUBMENU)
@echo "Package: $(1)" ; \ )$(if $(SUBMENUDEP),Submenu-Depends: $(SUBMENUDEP)
$(if $(MENU),echo "Menu: $(MENU)";) \ )$(if $(DEFAULT),Default: $(DEFAULT)
$(if $(SUBMENU),echo "Submenu: $(SUBMENU)";) \ )$(if $(findstring $(PREREQ_CHECK),1),Prereq-Check: 1
$(if $(SUBMENUDEP),echo "Submenu-Depends: $(SUBMENUDEP)";) \ )Version: $(VERSION)
$(if $(DEFAULT),echo "Default: $(DEFAULT)";) \ Depends: $(DEPENDS)
if [ "$$$$PREREQ_CHECK" = 1 ]; then echo "Prereq-Check: 1"; fi; \ Provides: $(PROVIDES)
echo "Version: $(VERSION)"; \ Build-Depends: $(PKG_BUILD_DEPENDS)
echo "Depends: $(DEPENDS)"; \ Section: $(SECTION)
echo "Provides: $(PROVIDES)"; \ Category: $(CATEGORY)
echo "Build-Depends: $(PKG_BUILD_DEPENDS)"; \ Title: $(TITLE)
echo "Section: $(SECTION)"; \ Maintainer: $(MAINTAINER)
echo "Category: $(CATEGORY)"; \ Source: $(PKG_SOURCE)
echo "Title: $(TITLE)"; \ Type: $(if $(Package/$(1)/targets),$(Package/$(1)/targets),$(if $(PKG_TARGETS),$(PKG_TARGETS),ipkg))
echo "Maintainer: $(MAINTAINER)"; \ $(if $(KCONFIG),Kernel-Config: $(KCONFIG)
echo "Source: $(PKG_SOURCE)"; \ )$(if $(BUILDONLY),Build-Only: $(BUILDONLY)
echo "Type: $(if $(Package/$(1)/targets),$(Package/$(1)/targets),$(if $(PKG_TARGETS),$(PKG_TARGETS),ipkg))"; \ )Description: $(if $(Package/$(1)/description),$(Package/$(1)/description),$(TITLE))
$(if $(KCONFIG),echo "Kernel-Config: $(KCONFIG)";) \ $(if $(URL),$(URL)
$(if $(BUILDONLY),echo "Build-Only: $(BUILDONLY)";) \ )@@
echo -n "Description: "; \ $(if $(Package/$(1)/config),Config:
getvar $(call shvar,Package/$(1)/description); \ $(Package/$(1)/config)
$(if $(URL),echo;echo "$(URL)";) \ @@
echo "@@" ; \ )$(foreach pc,$(preconfig_$(1)),
$$(if $$(Package/$(1)/config),echo "Config: "; getvar $(call shvar,Package/$(1)/config); echo "@@"; ) \ $(Preconfig/$(pc))))
$$(if $$(preconfig_$(1)),$$(preconfig_$(1)) echo "")
endef endef
endif endif

View File

@ -3,9 +3,8 @@
# #
# This is free software, licensed under the GNU General Public License v2. # This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information. # See /LICENSE for more information.
#
ifneq ($(__quilt_inc),1) ifneq ($(if $(DUMP),1,$(__quilt_inc)),1)
__quilt_inc:=1 __quilt_inc:=1
ifeq ($(TARGET_BUILD),1) ifeq ($(TARGET_BUILD),1)

View File

@ -40,10 +40,12 @@ TARGETID:=$(BOARD)$(if $(SUBTARGET),/$(SUBTARGET))
PLATFORM_SUBDIR:=$(PLATFORM_DIR)$(if $(SUBTARGET),/$(SUBTARGET)) PLATFORM_SUBDIR:=$(PLATFORM_DIR)$(if $(SUBTARGET),/$(SUBTARGET))
ifneq ($(TARGET_BUILD),1) ifneq ($(TARGET_BUILD),1)
ifndef DUMP
include $(PLATFORM_DIR)/Makefile include $(PLATFORM_DIR)/Makefile
ifneq ($(PLATFORM_DIR),$(PLATFORM_SUBDIR)) ifneq ($(PLATFORM_DIR),$(PLATFORM_SUBDIR))
include $(PLATFORM_SUBDIR)/target.mk include $(PLATFORM_SUBDIR)/target.mk
endif endif
endif
else else
ifneq ($(SUBTARGET),) ifneq ($(SUBTARGET),)
-include ./$(SUBTARGET)/target.mk -include ./$(SUBTARGET)/target.mk
@ -102,7 +104,9 @@ endif
$(eval $(call shexport,Target/Description)) $(eval $(call shexport,Target/Description))
ifneq ($(TARGET_BUILD)$(if $(DUMP),,1),)
include $(INCLUDE_DIR)/kernel-version.mk include $(INCLUDE_DIR)/kernel-version.mk
endif
GENERIC_PLATFORM_DIR := $(TOPDIR)/target/linux/generic-$(KERNEL) 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 ) GENERIC_PATCH_DIR := $(GENERIC_PLATFORM_DIR)/patches$(shell [ -d "$(GENERIC_PLATFORM_DIR)/patches-$(KERNEL_PATCHVER)" ] && printf -- "-$(KERNEL_PATCHVER)" || true )

View File

@ -73,6 +73,7 @@ TARGET_CPPFLAGS:=-I$(STAGING_DIR)/usr/include -I$(STAGING_DIR)/include
TARGET_LDFLAGS:=-L$(TOOLCHAIN_DIR)/usr/lib -L$(TOOLCHAIN_DIR)/lib -L$(STAGING_DIR)/usr/lib -L$(STAGING_DIR)/lib TARGET_LDFLAGS:=-L$(TOOLCHAIN_DIR)/usr/lib -L$(TOOLCHAIN_DIR)/lib -L$(STAGING_DIR)/usr/lib -L$(STAGING_DIR)/lib
LIBGCC_S=$(if $(wildcard $(TOOLCHAIN_DIR)/lib/libgcc_s.so),-lgcc_s,$(wildcard $(TOOLCHAIN_DIR)/lib/gcc/*/*/libgcc.a)) LIBGCC_S=$(if $(wildcard $(TOOLCHAIN_DIR)/lib/libgcc_s.so),-lgcc_s,$(wildcard $(TOOLCHAIN_DIR)/lib/gcc/*/*/libgcc.a))
ifndef DUMP
ifeq ($(CONFIG_NATIVE_TOOLCHAIN),) ifeq ($(CONFIG_NATIVE_TOOLCHAIN),)
-include $(TOOLCHAIN_DIR)/info.mk -include $(TOOLCHAIN_DIR)/info.mk
REAL_GNU_TARGET_NAME=$(OPTIMIZE_FOR_CPU)-openwrt-linux$(if $(TARGET_SUFFIX),-$(TARGET_SUFFIX)) REAL_GNU_TARGET_NAME=$(OPTIMIZE_FOR_CPU)-openwrt-linux$(if $(TARGET_SUFFIX),-$(TARGET_SUFFIX))
@ -80,6 +81,7 @@ ifeq ($(CONFIG_NATIVE_TOOLCHAIN),)
TARGET_CROSS:=$(if $(TARGET_CROSS),$(TARGET_CROSS),$(OPTIMIZE_FOR_CPU)-openwrt-linux$(if $(TARGET_SUFFIX),-$(TARGET_SUFFIX))-) TARGET_CROSS:=$(if $(TARGET_CROSS),$(TARGET_CROSS),$(OPTIMIZE_FOR_CPU)-openwrt-linux$(if $(TARGET_SUFFIX),-$(TARGET_SUFFIX))-)
TARGET_CFLAGS+= -fhonour-copts TARGET_CFLAGS+= -fhonour-copts
endif endif
endif
ifeq ($(CONFIG_SOFT_FLOAT),y) ifeq ($(CONFIG_SOFT_FLOAT),y)
SOFT_FLOAT_CONFIG_OPTION:=--with-float=soft SOFT_FLOAT_CONFIG_OPTION:=--with-float=soft