summaryrefslogtreecommitdiff
path: root/solenv
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2012-05-16 13:48:37 +0200
committerMichael Stahl <mstahl@redhat.com>2012-05-16 23:58:43 +0200
commit07c0b800d9d70857882238204820f75b8dc98b26 (patch)
tree531d3c2190b59af981a21ce827894d430dc3c038 /solenv
parent0b1e380e02e1b480648d5101d68c7e1e47520bc9 (diff)
fix spurious re-delivery of RDB files:
The OUTDIR RDB depends on Packages for IDL and headers, the latter of which depends on the WORKDIR RDB, hence preserving timestamps here leads to spurious re-delivery because the OUTDIR RDB always has older timestamp than the headers Package.
Diffstat (limited to 'solenv')
-rw-r--r--solenv/gbuild/UnoApi.mk8
-rw-r--r--solenv/gbuild/gbuild.mk3
2 files changed, 10 insertions, 1 deletions
diff --git a/solenv/gbuild/UnoApi.mk b/solenv/gbuild/UnoApi.mk
index 9ecf1edd90e3..41bfc9f82173 100644
--- a/solenv/gbuild/UnoApi.mk
+++ b/solenv/gbuild/UnoApi.mk
@@ -30,6 +30,14 @@ $(call gb_UnoApi_get_clean_target,%) :
$(call gb_Helper_abbreviate_dirs,\
rm -f $(call gb_UnoApi_get_target,$*))
+# override the rule from Package.mk:44:
+# preserving timestamps is not desirable here, because the OUTDIR target
+# depends on package targets _inc and _idl, and those depend on the WORKDIR
+# target, so with timestamps preserved the RDB always gets delivered again
+$(call gb_UnoApi_get_target,%) : $(call gb_UnoApiTarget_get_target,%)
+ $(gb_Deliver_GNUCOPY) $(if $(gb_Deliver_CLEARONDELIVER),--remove-destination) --no-dereference --force $< $@
+
+
define gb_UnoApi_UnoApi
$(call gb_UnoApiTarget_UnoApiTarget,$(1))
$(call gb_UnoApiHeadersTarget_UnoApiHeadersTarget,$(1))
diff --git a/solenv/gbuild/gbuild.mk b/solenv/gbuild/gbuild.mk
index 8d35ab3d6c86..b570cecfe4cc 100644
--- a/solenv/gbuild/gbuild.mk
+++ b/solenv/gbuild/gbuild.mk
@@ -285,6 +285,7 @@ include $(SOLARENV)/inc/minor.mk
# For example:
# $(OUTDIR)/bin/% for executables collides
# with $(OUTDIR)/bin/%.res for resources on unix
+# with $(OUTDIR)/bin/%.rdb for UnoApi
# $(OUTDIR)/lib/%.lib collides
# on windows (static and dynamic libs)
# $(OUTDIR)/xml/% for packageparts collides
@@ -303,6 +304,7 @@ include $(foreach class, \
StaticLibrary \
Executable \
SdiTarget \
+ UnoApi \
Package \
CustomTarget \
ExternalLib \
@@ -315,7 +317,6 @@ include $(foreach class, \
JunitTest \
Module \
UnoApiTarget \
- UnoApi \
UnoApiMerge \
InternalUnoApi \
Zip \