summaryrefslogtreecommitdiff
path: root/solenv/gbuild/Helper.mk
diff options
context:
space:
mode:
authorBjoern Michaelsen <b_michaelsen@openoffice.org>2010-11-10 15:26:03 +0100
committerBjoern Michaelsen <b_michaelsen@openoffice.org>2010-11-10 15:26:03 +0100
commit7071ae372cbacb0cbd81b563611581434de56334 (patch)
treedb8fe4e2abd963484327e53c1b627de32d73d50b /solenv/gbuild/Helper.mk
parentd6e8907cc4d0043504caed69ef8e8d6129f5d51e (diff)
gnumake2: first try at local build dirs
Diffstat (limited to 'solenv/gbuild/Helper.mk')
-rw-r--r--solenv/gbuild/Helper.mk19
1 files changed, 19 insertions, 0 deletions
diff --git a/solenv/gbuild/Helper.mk b/solenv/gbuild/Helper.mk
index cad89d454360..c2ef8eda755b 100644
--- a/solenv/gbuild/Helper.mk
+++ b/solenv/gbuild/Helper.mk
@@ -35,9 +35,18 @@ COMMA :=,
gb_Helper_NULLFILE := /dev/null
gb_Helper_MISC := $(WORKDIR)/Misc
+
+# general propose phony target
gb_Helper_PHONY := $(gb_Helper_MISC)/PHONY
+
+# general propose empty dummy target
gb_Helper_MISCDUMMY := $(gb_Helper_MISC)/DUMMY
+# if ($true) then old files will get removed from the target location before
+# they are copied there. In multi-user environments, this is needed you need to
+# be the owner of the target file to be able to cp -pf
+gb_Helper_CLEARONDELIVER := $(true)
+
.PHONY : $(WORKDIR)/Misc/PHONY
$(gb_Helper_MISCDUMMY) :
@mkdir -p $(dir $@) && touch $@
@@ -90,4 +99,14 @@ define gb_Helper_get_outdir_clean_target
$$(subst $(OUTDIR)/,$(WORKDIR)/Clean/OutDir/,$(1))
endef
+gb_Helper__deliverprefix = mkdir -p $(dir $(1)) &&
+
+ifeq ($(gb_Helper_CLEARONDELIVER),$(true))
+gb_Helper__deliverprefix += rm -rf $(1) &&
+endif
+
+define gb_Helper_deliver
+$(call gb_Helper__deliverprefix,$(2)) cp -pf $(1) $(2)
+endef
+
# vim: set noet sw=4 ts=4: