Skip to content

Commit

Permalink
fix recursive dependencies on build directories - should lead to fewe…
Browse files Browse the repository at this point in the history
…r spontaneous rebuilds

SVN-Revision: 7151
  • Loading branch information
Felix Fietkau committed May 9, 2007
1 parent 76184df commit 56cdcf2
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 15 deletions.
17 changes: 9 additions & 8 deletions include/depends.mk
Original file line number Diff line number Diff line change
Expand Up @@ -11,18 +11,19 @@
# 3: tempfile for file listings
# 4: find options

FINDPARAMS := -type f -not -name ".*" -and -not -path "*.svn*"
DEP_FINDPARAMS := -type f -not -name ".*" -and -not -path "*.svn*"
define rdep
$(foreach file,$(shell find $(1) $(FINDPARAMS) -and -not -path "*:*" $(4)),
$(foreach file,$(shell find $(1) $(DEP_FINDPARAMS) -and -not -path "*:*" $(4)),
$(2): $(file)
$(file): ;
)

ifneq ($(shell find $(1) $(FINDPARAMS) $(4) 2>/dev/null | md5s),$(shell cat $(3) 2>/dev/null))
$(2): $(3)
endif
ifneq ($(3),)
ifneq ($$(shell find $(1) $(DEP_FINDPARAMS) $(4) 2>/dev/null | md5s),$(if $(3),$(shell cat $(3) 2>/dev/null)))
$(2): $(3)
endif

$(3): FORCE
@-find $(1) $(FINDPARAMS) $(4) 2>/dev/null | md5s > $$@

$(3): FORCE
@-find $(1) $(DEP_FINDPARAMS) $(4) 2>/dev/null | md5s > $$@
endif
endef
8 changes: 4 additions & 4 deletions include/host-build.mk
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@ include $(INCLUDE_DIR)/host.mk
include $(INCLUDE_DIR)/unpack.mk
include $(INCLUDE_DIR)/depends.mk

STAMP_PREPARED=$(PKG_BUILD_DIR)/.prepared
STAMP_CONFIGURED=$(PKG_BUILD_DIR)/.configured
STAMP_BUILT=$(PKG_BUILD_DIR)/.built
STAMP_PREPARED:=$(PKG_BUILD_DIR)/.prepared_$(shell find ${CURDIR} $(PKG_FILE_DEPEND) $(DEP_FINDPARAMS) | md5s)
STAMP_CONFIGURED:=$(PKG_BUILD_DIR)/.configured
STAMP_BUILT:=$(PKG_BUILD_DIR)/.built

ifneq ($(strip $(PKG_UNPACK)),)
define Build/Prepare/Default
Expand Down Expand Up @@ -80,7 +80,7 @@ endif
ifneq ($(CONFIG_AUTOREBUILD),)
define HostBuild/Autoclean
$(PKG_BUILD_DIR)/.dep_files: $(STAMP_PREPARED)
$(call rdep,${CURDIR} $(PKG_FILE_DEPEND),$(STAMP_PREPARED),$(TMP_DIR)/.packagedir_$(shell echo "${CURDIR}" | md5s))
$(call rdep,${CURDIR} $(PKG_FILE_DEPEND),$(STAMP_PREPARED))
$(call rdep,$(PKG_BUILD_DIR),$(STAMP_BUILT),$(PKG_BUILD_DIR)/.dep_files, -and -not -path "/.*" -and -not -path "*/ipkg*")
endef
endif
Expand Down
2 changes: 1 addition & 1 deletion include/package-ipkg.mk
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ ifeq ($(DUMP),)

clean: $(1)-clean

$(PKG_BUILD_DIR)/.version-$(1)_$(VERSION)_$(PKGARCH): $(PKG_BUILD_DIR)/.prepared
$(PKG_BUILD_DIR)/.version-$(1)_$(VERSION)_$(PKGARCH): $(STAMP_PREPARED)
-@rm -f $(PKG_BUILD_DIR)/.version-$(1)_* 2>/dev/null
@touch $$@

Expand Down
4 changes: 2 additions & 2 deletions include/package.mk
Original file line number Diff line number Diff line change
Expand Up @@ -18,15 +18,15 @@ include $(INCLUDE_DIR)/package-defaults.mk
include $(INCLUDE_DIR)/package-dumpinfo.mk
include $(INCLUDE_DIR)/package-ipkg.mk

STAMP_PREPARED:=$(PKG_BUILD_DIR)/.prepared
STAMP_PREPARED:=$(PKG_BUILD_DIR)/.prepared_$(shell find ${CURDIR} $(PKG_FILE_DEPEND) $(DEP_FINDPARAMS) | md5s)
STAMP_CONFIGURED:=$(PKG_BUILD_DIR)/.configured
STAMP_BUILT:=$(PKG_BUILD_DIR)/.built
export CONFIG_SITE:=$(INCLUDE_DIR)/site/$(REAL_GNU_TARGET_NAME)

ifneq ($(CONFIG_AUTOREBUILD),)
define Build/Autoclean
$(PKG_BUILD_DIR)/.dep_files: $(STAMP_PREPARED)
$(call rdep,${CURDIR} $(PKG_FILE_DEPEND),$(STAMP_PREPARED),$(TMP_DIR)/.packagedir_$(shell echo "${CURDIR}" | md5s))
$(call rdep,${CURDIR} $(PKG_FILE_DEPEND),$(STAMP_PREPARED))
$(call rdep,$(PKG_BUILD_DIR),$(STAMP_BUILT),$(PKG_BUILD_DIR)/.dep_files, -and -not -path "/.*" -and -not -path "*/ipkg*")
endef
endif
Expand Down

0 comments on commit 56cdcf2

Please sign in to comment.