当前位置: 技术问答>linux和unix
写makefile时,如何处理未知的lib的路径?
来源: 互联网 发布时间:2015-02-17
本文导语: 我写makefile时需要包含一个外部软件包的lib,但是这个软件包的lib路径不在系统的默认路径里,我如何在makefile的gcc -L里设置它阿? 详细情况是这样的: 我的一个程序需要在多台机器上编译运行,但是由于早期安装...
我写makefile时需要包含一个外部软件包的lib,但是这个软件包的lib路径不在系统的默认路径里,我如何在makefile的gcc -L里设置它阿?
详细情况是这样的:
我的一个程序需要在多台机器上编译运行,但是由于早期安装方法失误,外部软件包的安装位置不太一样,而我的makefile编译时需要它的lib,我只好每次编译前都改一下makefile,如果还是用一个makefile文件编译,有什么更好的方法吗?
详细情况是这样的:
我的一个程序需要在多台机器上编译运行,但是由于早期安装方法失误,外部软件包的安装位置不太一样,而我的makefile编译时需要它的lib,我只好每次编译前都改一下makefile,如果还是用一个makefile文件编译,有什么更好的方法吗?
|
all:
LIBSDIR=`find / -name "libname.a" 2> /dev/null -exec dirname {} ;`
gcc -o demo demo.c -L$(LIBSDIR) -lname
LIBSDIR=`find / -name "libname.a" 2> /dev/null -exec dirname {} ;`
gcc -o demo demo.c -L$(LIBSDIR) -lname
|
或者在命令行指定:
# make LIBSDIR="/usr/libpath" ...
这样命令行上所给的路径将覆盖你makefile中的定义。
# make LIBSDIR="/usr/libpath" ...
这样命令行上所给的路径将覆盖你makefile中的定义。