summaryrefslogtreecommitdiff
path: root/solenv/gbuild/ComponentTarget.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/ComponentTarget.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/ComponentTarget.mk')
-rw-r--r--solenv/gbuild/ComponentTarget.mk6
1 files changed, 5 insertions, 1 deletions
diff --git a/solenv/gbuild/ComponentTarget.mk b/solenv/gbuild/ComponentTarget.mk
index efe481991a19..adec783c7824 100644
--- a/solenv/gbuild/ComponentTarget.mk
+++ b/solenv/gbuild/ComponentTarget.mk
@@ -52,6 +52,9 @@ $(call gb_ComponentTarget_get_target,%) : $(call gb_ComponentTarget_get_source,$
$(call gb_ComponentTarget_get_target,%) :
$(eval $(call gb_Outpt_error,Unable to find component file $(call gb_ComponentTarget_get_source,,$*) in the repositories: $(gb_ComponentTarget_REPOS) or xsltproc is missing.))
+$(call gb_ComponentTarget_get_outdir_target,%/) :
+ mkdir -p $@
+
$(call gb_ComponentTarget_get_outdir_target,%) :
$(call gb_Deliver_deliver,$<,$@)
@@ -59,7 +62,8 @@ define gb_ComponentTarget_ComponentTarget
$(call gb_ComponentTarget_get_target,$(1)) : COMPONENTPREFIX := $(2)
$(call gb_ComponentTarget_get_target,$(1)) : LIBFILENAME := $(3)
$(call gb_ComponentTarget_get_outdir_target,$(1)) : \
- $(call gb_ComponentTarget_get_target,$(1))
+ $(call gb_ComponentTarget_get_target,$(1)) \
+ | $(dir $(call gb_ComponentTarget_get_outdir_target,$(1)))
$(call gb_Deliver_add_deliverable,$(call gb_ComponentTarget_get_outdir_target,$(1)),$(call gb_ComponentTarget_get_target,$(1)),$(1))
endef