标题: DESTDIR: GNU Make中的默认约定 出处:向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除 时间:Wed, 12 Oct 2016 20:21:47 +0000 作者:jackxiang 地址:http://jackxiang.com/post/9003/ 内容: 背景:rpmbuild时有一个make常常是这样写的, make DESTDIR=%{buildroot} install,百这个buildroot是打包的路径,为何每次这样写都能奏效呢?是因为GUN的Make中约定俗成了的,如下。 GNU Make中,有许多约定俗成的东西,比如这个DESTDIR:用于加在要安装的文件路径前的一个前缀变量。 比如,我们本地编译了一个第三方库,但需要对其打包发布给其他人使用,一方面如果我们安装到默认目录,比如/usr,这时,安装后的文件一但数量很大,则打包时很难找全;或者我们在configure时指定了--prefix,或cmake时指定了CMAKE_INSTALL_PREFIX,则pc文件内的编译依赖关系又会出错,变成了我们指定的那个路径,使用起来会很不方便。此时,DESTDIR就会派上用场。 DESTDIR只在make install时起作用,且和Makefile是由什么工具生成的没有关系,用法如下: make install DESTDIR=<$CUSTOM_PREFIX> 在configure或cmake时,指定了要安装的路径后,以这种方式make install安装的文件会通通安装到以$CUSTOM_PREFIX为前缀的目录中,这样,开发者直接对这目录中的文件打包,即可发布使用。 来自:http://blog.csdn.net/coroutines/article/details/40891089 Generated by Jackxiang's Bo-blog 2.1.1 Release