summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatúš Kukan <matus.kukan@gmail.com>2013-09-24 15:35:07 +0200
committerMatúš Kukan <matus.kukan@gmail.com>2013-09-24 21:29:14 +0200
commit042bf3ca65df8f8729e760afffff461bc3a90836 (patch)
tree9643186d42109719ebd402579591d7aa54587732
parent937cc1b38f75329c96bb4d4f8c728094ab16f1ec (diff)
gb_Library__get_final_target: don't be phony target
Change-Id: I299b088aebc0bb40bc395b774154d2fae1f5d669
-rw-r--r--solenv/gbuild/Library.mk7
1 files changed, 6 insertions, 1 deletions
diff --git a/solenv/gbuild/Library.mk b/solenv/gbuild/Library.mk
index 5eb7c2adb824..488f9884a4f8 100644
--- a/solenv/gbuild/Library.mk
+++ b/solenv/gbuild/Library.mk
@@ -36,8 +36,12 @@ gb_Library_LAYER_DIRS := \
OXT:$(WORKDIR)/LinkTarget/ExtensionLibrary \
NONE:$(gb_Library_DLLDIR) \
+$(dir $(call gb_Library__get_final_target,%)).dir :
+ $(if $(wildcard $(dir $@)),,mkdir -p $(dir $@))
+
# doesn't do anything, just used for hooking up component target
-.PHONY: $(call gb_Library__get_final_target,%)
+$(call gb_Library__get_final_target,%) :
+ touch $@
# EVIL: gb_StaticLibrary and gb_Library need the same deliver rule because they are indistinguishable on windows
.PHONY : $(WORKDIR)/Clean/Library/%
@@ -92,6 +96,7 @@ $(call gb_LinkTarget_add_defs,$(2),\
$(gb_Library_DEFS) \
)
$(call gb_Library__get_final_target,$(1)) : $(call gb_Library_get_target,$(1))
+$(call gb_Library__get_final_target,$(1)) :| $(dir $(call gb_Library__get_final_target,$(1))).dir
$(call gb_Library_get_exports_target,$(1)) : $(call gb_Library_get_target,$(1))
$(call gb_LinkTarget_get_headers_target,$(2)) : \
| $(dir $(call gb_Library_get_ilib_target,$(1))).dir