diff options
author | Norbert Thiebaud <nthiebaud@gmail.com> | 2010-12-20 09:46:03 -0600 |
---|---|---|
committer | Norbert Thiebaud <nthiebaud@gmail.com> | 2011-01-10 21:35:28 -0600 |
commit | f692ba2e6513eba6375763e23f8eade6e8672611 (patch) | |
tree | 6db54fda5bb6f37b70b69c94019074dcaa474d81 /solenv/gbuild/Deliver.mk | |
parent | low resolution time for deliver files (diff) | |
download | core-f692ba2e6513eba6375763e23f8eade6e8672611.tar.gz core-f692ba2e6513eba6375763e23f8eade6e8672611.zip |
use gnu cp when available, fallback to posix tools outherwise
Diffstat (limited to 'solenv/gbuild/Deliver.mk')
-rw-r--r-- | solenv/gbuild/Deliver.mk | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/solenv/gbuild/Deliver.mk b/solenv/gbuild/Deliver.mk index 65d1a6472b86..6b3c79e1974a 100644 --- a/solenv/gbuild/Deliver.mk +++ b/solenv/gbuild/Deliver.mk @@ -25,19 +25,13 @@ # #************************************************************************* -# gb_Deliver_GNUCOPY is set by the platform +gb_Deliver_GNUCOPY := $(GNUCOPY) # 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 modify timestamps gb_Deliver_CLEARONDELIVER := $(true) -gb_Deliver__deliverprefix = mkdir -p $(dir $(1)) && - -ifeq ($(gb_Deliver_CLEARONDELIVER),$(true)) -gb_Deliver__deliverprefix += rm -rf $(1) && -endif - define gb_Deliver_init gb_Deliver_DELIVERABLES := @@ -49,9 +43,17 @@ gb_Deliver_DELIVERABLES += $$(patsubst $(REPODIR)/%,%,$(2)):$$(patsubst $(REPODI endef +ifeq($(strip $(gb_Deliver_GNUCOPY),) define gb_Deliver_deliver -$(call gb_Deliver__deliverprefix,$(2)) $(gb_Deliver_GNUCOPY) -f $(1) $(2) && touch -r $(1) $(2) +mkdir -p $(dir $(2)) && $(if $(gb_Deliver_CLEARONDELIVER),rm -f $(1) &&) cp -f $(1) $(2) && touch -r $(1) $(2) + endef +else +define gb_Deliver_deliver +mkdir -p $(dir $(2)) && $(gb_Deliver_GNUCOPY) $(if $(gb_Deliver_CLEARONDELIVER),--remove-destination) -pf $(1) $(2) + +endef + # We are currently only creating a deliver.log, if only one module gets build. # As it is possible to add gbuild modules into other (which is done for example for |