我有一个Makefile,我在其中为链接器设置了一个库路径。因为代码依赖于存储在不同目录中的库,具体取决于它们的安装方式(fink,macports,source,...),所以我在库路径中包含了所有可能的位置。 当我在linux上编译时,ld并不关心库路径中的目录是否存在,但是在OS X上,ld给出了找不到选项' -L ...&#39的ld:warning:目录;如果一个或多个目录不存在则发出警告。
我想知道在设置路径之前是否有办法测试Makefile中是否存在目录?目前,我在Makefile中有这个
LIBS = -L${PREFIX}/lib \
-L${HOME}/lib \
-L/opt/local/lib \
-L/sw/lib
如果这是一个微不足道的问题,我道歉,但我对Make或Makefiles并不是特别擅长。
答案 0 :(得分:1)
您可以使用以下方式逐个构建LIBS
ifneq (,$(wildcard ${PREFIX}/lib/.))
LIBS += -L${PREFIX}/lib
endif
ifneq (,$(wildcard ${HOME}/lib/.))
LIBS += -L${HOME}/lib
endif
等