X-Git-Url: https://git.enpas.org/?a=blobdiff_plain;f=include%2Fpackage.mk;h=696e75297342584a26ad3f75d535d36cc2a4f209;hb=f24ce87770e7b3e007c78e864de8eeee93b344da;hp=99d2dd270ed3568e1c9368f11f30455552de979d;hpb=51230131704e49170937f92756521d0f902a9143;p=openwrt.git diff --git a/include/package.mk b/include/package.mk index 99d2dd270e..696e752973 100644 --- a/include/package.mk +++ b/include/package.mk @@ -13,6 +13,7 @@ PKG_BUILD_DIR ?= $(BUILD_DIR)/$(PKG_NAME)$(if $(PKG_VERSION),-$(PKG_VERSION)) PKG_INSTALL_DIR ?= $(PKG_BUILD_DIR)/ipkg-install PKG_MD5SUM ?= unknown PKG_BUILD_PARALLEL ?= +PKG_USE_MIPS16 ?= 1 ifneq ($(CONFIG_PKG_BUILD_USE_JOBSERVER),) MAKE_J:=$(if $(MAKE_JOBSERVER),$(MAKE_JOBSERVER) -j) @@ -26,12 +27,27 @@ else PKG_JOBS?=$(if $(PKG_BUILD_PARALLEL)$(CONFIG_PKG_DEFAULT_PARALLEL),\ $(if $(CONFIG_PKG_BUILD_PARALLEL),$(MAKE_J),-j1),-j1) endif +ifdef CONFIG_USE_MIPS16 + ifeq ($(strip $(PKG_USE_MIPS16)),1) + TARGET_ASFLAGS_DEFAULT = $(filter-out -mips16 -minterlink-mips16,$(TARGET_CFLAGS)) + TARGET_CFLAGS += -mips16 -minterlink-mips16 + endif +endif include $(INCLUDE_DIR)/prereq.mk include $(INCLUDE_DIR)/host.mk include $(INCLUDE_DIR)/unpack.mk include $(INCLUDE_DIR)/depends.mk +find_library_dependencies = $(wildcard $(patsubst %,$(STAGING_DIR)/pkginfo/%.version, \ + $(filter-out $(BUILD_PACKAGES),$(foreach dep, \ + $(filter-out @%, $(patsubst +%,%,$(1))), \ + $(if $(findstring :,$(dep)), \ + $(word 2,$(subst :,$(space),$(dep))), \ + $(dep) \ + ) \ + )))) + STAMP_NO_AUTOREBUILD=$(wildcard $(PKG_BUILD_DIR)/.no_autorebuild) PREV_STAMP_PREPARED:=$(if $(STAMP_NO_AUTOREBUILD),$(wildcard $(PKG_BUILD_DIR)/.prepared*)) ifneq ($(PREV_STAMP_PREPARED),) @@ -66,7 +82,7 @@ override MAKEFLAGS= CONFIG_SITE:=$(INCLUDE_DIR)/site/$(REAL_GNU_TARGET_NAME) CUR_MAKEFILE:=$(filter-out Makefile,$(firstword $(MAKEFILE_LIST))) SUBMAKE:=$(NO_TRACE_MAKE) $(if $(CUR_MAKEFILE),-f $(CUR_MAKEFILE)) -PKG_CONFIG_PATH=$(STAGING_DIR)/usr/lib/pkgconfig +PKG_CONFIG_PATH=$(STAGING_DIR)/usr/lib/pkgconfig:$(STAGING_DIR)/usr/share/pkgconfig unexport QUIET ifeq ($(DUMP)$(filter prereq clean refresh update,$(MAKECMDGOALS)),) @@ -171,6 +187,11 @@ define Build/DefaultTargets $(foreach hook,$(Hooks/InstallDev/Post),\ $(call $(hook),$(TMP_DIR)/stage-$(PKG_NAME),$(TMP_DIR)/stage-$(PKG_NAME)/host)$(sep)\ ) + if [ -f $(STAGING_DIR)/packages/$(STAGING_FILES_LIST) ]; then \ + $(SCRIPT_DIR)/clean-package.sh \ + "$(STAGING_DIR)/packages/$(STAGING_FILES_LIST)" \ + "$(STAGING_DIR)"; \ + fi if [ -d $(TMP_DIR)/stage-$(PKG_NAME) ]; then \ (cd $(TMP_DIR)/stage-$(PKG_NAME); find ./ > $(TMP_DIR)/stage-$(PKG_NAME).files); \ $(call locked, \ @@ -215,6 +236,9 @@ define Package/$(1)/description endef endif + BUILD_PACKAGES += $(1) + $(STAMP_PREPARED): $$(if $(QUILT)$(DUMP),,$(call find_library_dependencies,$(DEPENDS))) + $(foreach FIELD, TITLE CATEGORY SECTION VERSION, ifeq ($($(FIELD)),) $$(error Package/$(1) is missing the $(FIELD) field)