2013-06-12 49 views
2

我有一个Makefile,我在其中设置链接器的库路径。因为代码依赖于依赖于它们安装方式而存在于不同目录中的库(fink,macports,source,...),所以我在库路径中包含了所有可能的位置。 当我在linux上编译时,ld不关心库路径中是否存在一个目录,但是在OS X上,ld给出ld:warning:目录找不到选项'-L ...'警告更多的目录不存在。ld:warning:找不到目录

我想知道在设置路径之前是否有方法来测试Makefile中是否存在一个目录?目前,我在Makefile中有这个

LIBS = -L${PREFIX}/lib \ 
      -L${HOME}/lib \ 
      -L/opt/local/lib \ 
      -L/sw/lib 

我很抱歉如果这是一个小问题,但我对Make或Makefiles不是特别好。

回答

1

你可以建立LIBS件逐件,使用:

ifneq (,$(wildcard ${PREFIX}/lib/.)) 
    LIBS += -L${PREFIX}/lib 
endif 

ifneq (,$(wildcard ${HOME}/lib/.)) 
    LIBS += -L${HOME}/lib 
endif