about summary refs log tree commit diff
path: root/libraries.mk
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2014-02-06T09·59+0100
committerEelco Dolstra <eelco.dolstra@logicblox.com>2014-02-06T10·30+0100
commit4161fce472a8875427e73776d0e8665ca49c1835 (patch)
treef6f99a40ef0f4e5a742e29a41c8ba3bf3d298e15 /libraries.mk
parent0da82efa5d67ab1eb8b8cc066704d7f863451d5b (diff)
Create the target directory of libraries and programs
Diffstat (limited to 'libraries.mk')
-rw-r--r--libraries.mk6
1 files changed, 4 insertions, 2 deletions
diff --git a/libraries.mk b/libraries.mk
index 69dede9af418..e1c694cb38c5 100644
--- a/libraries.mk
+++ b/libraries.mk
@@ -50,6 +50,8 @@ define build-library
   $(1)_LDFLAGS_USE :=
   $(1)_LDFLAGS_USE_INSTALLED :=
 
+  $$(eval $$(call create-dir,$$(_d)))
+
   ifeq ($(BUILD_SHARED_LIBS), 1)
 
     ifdef $(1)_ALLOW_UNDEFINED
@@ -64,7 +66,7 @@ define build-library
 
     $(1)_PATH := $$(_d)/$$($(1)_NAME).$(SO_EXT)
 
-    $$($(1)_PATH): $$($(1)_OBJS) $$(_libs)
+    $$($(1)_PATH): $$($(1)_OBJS) $$(_libs) | $$(_d)
 	$$(trace-ld) $(CXX) -o $$@ -shared $(GLOBAL_LDFLAGS) $$($(1)_OBJS) $$($(1)_LDFLAGS) $$($(1)_LDFLAGS_PROPAGATED) $$(foreach lib, $$($(1)_LIBS), $$($$(lib)_LDFLAGS_USE))
 
     $(1)_LDFLAGS_USE += -L$$(_d) -Wl,-rpath,$$(abspath $$(_d)) -l$$(patsubst lib%,%,$$(strip $$($(1)_NAME)))
@@ -88,7 +90,7 @@ define build-library
 
     $(1)_PATH := $$(_d)/$$($(1)_NAME).a
 
-    $$($(1)_PATH): $$($(1)_OBJS)
+    $$($(1)_PATH): $$($(1)_OBJS) | $$(_d)
 	$(trace-ar) ar crs $$@ $$?
 
     $(1)_LDFLAGS_USE += $$($(1)_PATH) $$($(1)_LDFLAGS)