summaryrefslogtreecommitdiff
path: root/solenv/gbuild/Rdb.mk
diff options
context:
space:
mode:
authorMatúš Kukan <matus.kukan@gmail.com>2012-03-04 18:59:59 +0100
committerMatúš Kukan <matus.kukan@gmail.com>2012-03-05 23:02:41 +0100
commit90491a073c5b5faee782ad5eab63276fda2342e6 (patch)
treeaace6f9174bc4653fca28b413fe4a85f33030f8a /solenv/gbuild/Rdb.mk
parent408822b54724f8170a1296ddd67e50d8291c8ee1 (diff)
gbuild: do not call mkdir -p in gb_Deliver__deliver
Rather create new order-only dependencies on directories where targets should be delivered. On cygwin this is much faster.
Diffstat (limited to 'solenv/gbuild/Rdb.mk')
-rw-r--r--solenv/gbuild/Rdb.mk6
1 files changed, 5 insertions, 1 deletions
diff --git a/solenv/gbuild/Rdb.mk b/solenv/gbuild/Rdb.mk
index bea289f41815..2aaca0a37039 100644
--- a/solenv/gbuild/Rdb.mk
+++ b/solenv/gbuild/Rdb.mk
@@ -59,13 +59,17 @@ $(call gb_Rdb_get_clean_target,%) :
$(call gb_Helper_abbreviate_dirs_native,\
rm -f $(call gb_Rdb_get_outdir_target,$*) $(call gb_Rdb_get_target,$*))
+$(call gb_Rdb_get_outdir_target,%/) :
+ mkdir -p $@
+
$(call gb_Rdb_get_outdir_target,%) :
$(call gb_Deliver_deliver,$<,$@)
define gb_Rdb_Rdb
$(call gb_Rdb_get_target,$(1)) : COMPONENTS :=
$(call gb_Rdb_get_clean_target,$(1)) : COMPONENTS :=
-$(call gb_Rdb_get_outdir_target,$(1)) : $(call gb_Rdb_get_target,$(1))
+$(call gb_Rdb_get_outdir_target,$(1)) : $(call gb_Rdb_get_target,$(1)) \
+ | $(dir $(call gb_Rdb_get_outdir_target,$(1)))
$(call gb_Deliver_add_deliverable,$(call gb_ResTarget_get_outdir_target,$(1)),$(call gb_Rdb_get_target,$(1)),$(1))
$$(eval $$(call gb_Module_register_target,$(call gb_Rdb_get_outdir_target,$(1)),$(call gb_Rdb_get_clean_target,$(1))))