summaryrefslogtreecommitdiff
path: root/solenv
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2012-01-14 21:19:41 +0100
committerMichael Stahl <mstahl@redhat.com>2012-01-14 21:22:13 +0100
commite48b14ed3b24fa1d9f0aeb0670b79e529638a6b1 (patch)
tree8bb421c9e7ac3135e8e585013a8d7797aa30e78e /solenv
parent9738ad3e6b85fad280cdf03b188585cdce9817a5 (diff)
gbuild: UnoApiTarget: just touch the .urd file
Apparently the peculiarity that a non-existent file is newer than an existing file is in GNU make 3.82, but not 3.81.
Diffstat (limited to 'solenv')
-rw-r--r--solenv/gbuild/UnoApiTarget.mk7
1 files changed, 3 insertions, 4 deletions
diff --git a/solenv/gbuild/UnoApiTarget.mk b/solenv/gbuild/UnoApiTarget.mk
index 08d34e7c0057..426d967ba706 100644
--- a/solenv/gbuild/UnoApiTarget.mk
+++ b/solenv/gbuild/UnoApiTarget.mk
@@ -193,11 +193,10 @@ $(call gb_UnoApiTarget_get_clean_target,%) :
# rule plus the dependency from the .done target to the .urd file plus the
# sort/patsubst call in gb_UnoApiPartTarget__command cause command to be
# invoked with the .idl file corresponding to the .urd in that case.
-# Yes, this command removes the target. This is because it works. The
-# command "true" does not work. Apparently make considers a file that does
-# not exist as newer than the target. Which is weird. But there you go.
+# Touch the .urd file, so it is newer than the .done file, causing that to
+# be rebuilt and overwriting the .urd file again.
$(call gb_UnoApiPartTarget_get_target,%.urd) :
- @rm -f $@
+ mkdir -p $(dir $@) && touch $@
$(call gb_UnoApiPartTarget_get_target,%.done) :
$(call gb_UnoApiPartTarget__command,$@,$*,$?)