X-Git-Url: https://git.archive.openwrt.org/?p=openwrt.git;a=blobdiff_plain;f=include%2Fpackage.mk;h=d14c525506b0e13230812a8c1a0185299b8ded57;hp=79066fe1e2833c7335d812c7101da3d1734b167a;hb=fc7c75bada7e9987de0e9dacef1bf55a9c321bb4;hpb=54e052cf394c9a5441dceb9f87a9f0f6b413b495 diff --git a/include/package.mk b/include/package.mk index 79066fe1e2..d14c525506 100644 --- a/include/package.mk +++ b/include/package.mk @@ -39,6 +39,15 @@ 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),) @@ -227,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)