@@ -261,7 +261,9 @@ ifeq ($(LINUX), 1)
261
261
# boost::thread is reasonably called boost_thread (compare OS X)
262
262
# We will also explicitly add stdc++ to the link target.
263
263
LIBRARIES += boost_thread stdc++
264
- VERSIONFLAGS += -Wl,-soname,$(DYNAMIC_VERSIONED_NAME_SHORT) -Wl,-rpath,$(ORIGIN)/../lib
264
+ VERSIONFLAGS := -Wl,-soname,$(DYNAMIC_VERSIONED_NAME_SHORT)
265
+ LDFLAGS := -Wl,-rpath,'\$ORIGIN/../lib'
266
+ PYTHON_LDFLAGS := -Wl,-rpath,'\$ORIGIN/../lib'
265
267
endif
266
268
267
269
# OS X:
@@ -282,10 +284,11 @@ ifeq ($(OSX), 1)
282
284
COMMON_FLAGS += -DGTEST_USE_OWN_TR1_TUPLE=1
283
285
# boost::thread is called boost_thread-mt to mark multithreading on OS X
284
286
LIBRARIES += boost_thread-mt
285
- # we need to explicitly ask for the rpath to be obeyed
286
- DYNAMIC_FLAGS := -install_name @rpath/libcaffe.so
287
287
ORIGIN := @loader_path
288
- VERSIONFLAGS += -Wl,-install_name,$(DYNAMIC_VERSIONED_NAME_SHORT) -Wl,-rpath,$(ORIGIN)/../../build/lib
288
+ # we need to explicitly ask for the rpath to be obeyed
289
+ VERSIONFLAGS := -Wl,-install_name,@rpath/lib/$(DYNAMIC_VERSIONED_NAME_SHORT)
290
+ LDFLAGS := -Wl,-rpath,$(ORIGIN)/..
291
+ PYTHON_LDFLAGS := -Wl,-rpath,$(ORIGIN)/..
289
292
else
290
293
ORIGIN := \$$ORIGIN
291
294
endif
407
410
endif
408
411
LDFLAGS += $(foreach librarydir,$(LIBRARY_DIRS ) ,-L$(librarydir ) ) $(PKG_CONFIG ) \
409
412
$(foreach library,$(LIBRARIES ) ,-l$(library ) )
410
- PYTHON_LDFLAGS : = $(LDFLAGS ) $(foreach library,$(PYTHON_LIBRARIES ) ,-l$(library ) )
413
+ PYTHON_LDFLAGS + = $(LDFLAGS ) $(foreach library,$(PYTHON_LIBRARIES ) ,-l$(library ) )
411
414
412
415
# 'superclean' target recursively* deletes all files ending with an extension
413
416
# in $(SUPERCLEAN_EXTS) below. This may be useful if you've built older
@@ -488,8 +491,7 @@ py: $(PY$(PROJECT)_SO) $(PROTO_GEN_PY)
488
491
$(PY$(PROJECT ) _SO ) : $(PY$(PROJECT ) _SRC ) $(PY$(PROJECT ) _HXX ) | $(DYNAMIC_NAME )
489
492
@ echo CXX/LD -o $@ $<
490
493
$(Q )$(CXX ) -shared -o $@ $(PY$(PROJECT ) _SRC ) \
491
- -o $@ $(LINKFLAGS ) -l$(LIBRARY_NAME ) $(PYTHON_LDFLAGS ) \
492
- -Wl,-rpath,$(ORIGIN ) /../../build/lib
494
+ -o $@ $(LINKFLAGS ) -l$(LIBRARY_NAME ) $(PYTHON_LDFLAGS )
493
495
494
496
mat$(PROJECT ) : mat
495
497
@@ -552,7 +554,7 @@ $(ALL_BUILD_DIRS): | $(BUILD_DIR_LINK)
552
554
553
555
$(DYNAMIC_NAME ) : $(OBJS ) | $(LIB_BUILD_DIR )
554
556
@ echo LD -o $@
555
- $(Q )$(CXX ) -shared -o $@ $(OBJS ) $(VERSIONFLAGS ) $(LINKFLAGS ) $(LDFLAGS ) $( DYNAMIC_FLAGS )
557
+ $(Q )$(CXX ) -shared -o $@ $(OBJS ) $(VERSIONFLAGS ) $(LINKFLAGS ) $(LDFLAGS )
556
558
@ cd $(BUILD_DIR ) /lib; rm -f $(DYNAMIC_NAME_SHORT ) ; ln -s $(DYNAMIC_VERSIONED_NAME_SHORT ) $(DYNAMIC_NAME_SHORT )
557
559
558
560
$(STATIC_NAME ) : $(OBJS ) | $(LIB_BUILD_DIR )
@@ -584,19 +586,19 @@ $(TEST_ALL_BIN): $(TEST_MAIN_SRC) $(TEST_OBJS) $(GTEST_OBJ) \
584
586
| $(DYNAMIC_NAME ) $(TEST_BIN_DIR )
585
587
@ echo CXX/LD -o $@ $<
586
588
$(Q )$(CXX ) $(TEST_MAIN_SRC ) $(TEST_OBJS ) $(GTEST_OBJ ) \
587
- -o $@ $(LINKFLAGS ) $(LDFLAGS ) -l$(LIBRARY_NAME ) -Wl,-rpath, $( ORIGIN ) /../lib
589
+ -o $@ $(LINKFLAGS ) $(LDFLAGS ) -l$(LIBRARY_NAME )
588
590
589
591
$(TEST_CU_BINS ) : $(TEST_BIN_DIR ) /% .testbin: $(TEST_CU_BUILD_DIR ) /% .o \
590
592
$(GTEST_OBJ ) | $(DYNAMIC_NAME ) $(TEST_BIN_DIR )
591
593
@ echo LD $<
592
594
$(Q )$(CXX ) $(TEST_MAIN_SRC ) $< $(GTEST_OBJ ) \
593
- -o $@ $(LINKFLAGS ) $(LDFLAGS ) -l$(LIBRARY_NAME ) -Wl,-rpath, $( ORIGIN ) /../lib
595
+ -o $@ $(LINKFLAGS ) $(LDFLAGS ) -l$(LIBRARY_NAME )
594
596
595
597
$(TEST_CXX_BINS ) : $(TEST_BIN_DIR ) /% .testbin: $(TEST_CXX_BUILD_DIR ) /% .o \
596
598
$(GTEST_OBJ ) | $(DYNAMIC_NAME ) $(TEST_BIN_DIR )
597
599
@ echo LD $<
598
600
$(Q )$(CXX ) $(TEST_MAIN_SRC ) $< $(GTEST_OBJ ) \
599
- -o $@ $(LINKFLAGS ) $(LDFLAGS ) -l$(LIBRARY_NAME ) -Wl,-rpath, $( ORIGIN ) /../lib
601
+ -o $@ $(LINKFLAGS ) $(LDFLAGS ) -l$(LIBRARY_NAME )
600
602
601
603
# Target for extension-less symlinks to tool binaries with extension '*.bin'.
602
604
$(TOOL_BUILD_DIR ) /% : $(TOOL_BUILD_DIR ) /% .bin | $(TOOL_BUILD_DIR )
@@ -605,13 +607,11 @@ $(TOOL_BUILD_DIR)/%: $(TOOL_BUILD_DIR)/%.bin | $(TOOL_BUILD_DIR)
605
607
606
608
$(TOOL_BINS ) : % .bin : % .o | $(DYNAMIC_NAME )
607
609
@ echo CXX/LD -o $@
608
- $(Q )$(CXX ) $< -o $@ $(LINKFLAGS ) -l$(LIBRARY_NAME ) $(LDFLAGS ) \
609
- -Wl,-rpath,$(ORIGIN ) /../lib
610
+ $(Q )$(CXX ) $< -o $@ $(LINKFLAGS ) -l$(LIBRARY_NAME ) $(LDFLAGS )
610
611
611
612
$(EXAMPLE_BINS ) : % .bin : % .o | $(DYNAMIC_NAME )
612
613
@ echo CXX/LD -o $@
613
- $(Q )$(CXX ) $< -o $@ $(LINKFLAGS ) -l$(LIBRARY_NAME ) $(LDFLAGS ) \
614
- -Wl,-rpath,$(ORIGIN ) /../../lib
614
+ $(Q )$(CXX ) $< -o $@ $(LINKFLAGS ) -l$(LIBRARY_NAME ) $(LDFLAGS )
615
615
616
616
proto : $(PROTO_GEN_CC ) $(PROTO_GEN_HEADER )
617
617
0 commit comments