summaryrefslogtreecommitdiff
path: root/solenv/gbuild/AllLangResTarget.mk
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2012-05-16 19:55:09 +0200
committerMichael Stahl <mstahl@redhat.com>2012-05-16 23:58:44 +0200
commit236055746ffe92ce3b2a7a9316b1083da046deb9 (patch)
tree03413d6b3b2f553ec67cbaeb5a8c4854b599fb53 /solenv/gbuild/AllLangResTarget.mk
parent6cdc3b9ceb13954f82026d851ab4ca88a706cb84 (diff)
further spurious dep-file rebuild fixes:
With the way dep-file generation was changed for LinkTargets in 8b5a984d45005d3df1c89eae897d6e04612625d8, it is necessary to change all other dep-file generation the same way, because the LinkTarget dep-files are outdated wrt. the object dep-files after an initial make run, and hence if any other dep-file depends in any way (even build-order) on a generated Executable, say by depending on the corresponding target file, then the PHONY entries in the outdated LinkTarget dep-files for the executable and its linked libraries cause all these objects to be recompiled. It is not a problem that there is a rule with the dep-file as target, and another rule for the corresponding actual target that writes the dep-file as a side-effect, without dependecy between the targets: because make does processing in 2 phases, first building all included makefiles, second all other targets, it is guaranteed that the 2 commands don't race to overwrite the dep-file because (when there is no dependency between them) they will not be executed in the same phase. The only problem here is that this will probably make IDL processing a lot slower on Windows, writing all those dummy dep-files.
Diffstat (limited to 'solenv/gbuild/AllLangResTarget.mk')
-rw-r--r--solenv/gbuild/AllLangResTarget.mk10
1 files changed, 1 insertions, 9 deletions
diff --git a/solenv/gbuild/AllLangResTarget.mk b/solenv/gbuild/AllLangResTarget.mk
index 10a4bcbb85af..fbbcea56f1a1 100644
--- a/solenv/gbuild/AllLangResTarget.mk
+++ b/solenv/gbuild/AllLangResTarget.mk
@@ -100,9 +100,6 @@ $(call gb_SrsPartTarget_get_dep_target,%) : $(SRCDIR)/% $(gb_Helper_MISCDUMMY)
$(call gb_Helper_abbreviate_dirs,\
mkdir -p $(dir $@) && \
echo '$(call gb_SrsPartTarget_get_target,$*) : $(gb_Helper_PHONY)' > $@)
-
-$(call gb_SrsPartTarget_get_dep_target,%) :
- $(eval $(call gb_Output_error,Unable to find resource definition file $* in repositories: $(gb_SrsPartTarget_REPOS)))
endif
@@ -237,7 +234,6 @@ $(call gb_SrsTarget_get_external_headers_target,%) :
mkdir -p $(dir $@) && touch $@)
$(call gb_SrsTarget_get_target,%) :
- $(call gb_SrsTarget__command_dep,$(call gb_SrsTarget_get_dep_target,$*),$*,$(foreach part,$(PARTS),$(call gb_SrsPartTarget_get_dep_target,$(part))))
$(call gb_Output_announce,$*,$(true),SRS,1)
$(call gb_Helper_abbreviate_dirs,\
mkdir -p $(dir $@) && \
@@ -257,11 +253,7 @@ $(call gb_SrsTarget_get_target,$(1)) : PARTS :=
$(call gb_SrsTarget_get_target,$(1)) : $(call gb_SrsTemplateTarget_get_target,$(1))
$(call gb_SrsTarget_get_clean_target,$(1)) : $(call gb_SrsTemplateTarget_get_clean_target,$(1))
ifeq ($(gb_FULLDEPS),$(true))
-ifneq ($(wildcard $(call gb_SrsTarget_get_dep_target,$(1))),)
-include $(call gb_SrsTarget_get_dep_target,$(1))
-else
-$(firstword $(MAKEFILE_LIST)) : $(call gb_SrsTarget_get_dep_target,$(1))
-endif
+-include $(call gb_SrsTarget_get_dep_target,$(1))
endif
endef