我刚刚构建了一个大型程序,其中源树中包含一些其他程序。
make install
只安装了主程序,但我想安装所有已构建的子程序。
有没有办法做到这一点?
笔记:通过安装,我的意思是我可以从任何 shell 或通过任何程序输入它(尽管实际上我只关心 make)并且它就会运行。
答案1
该make install
命令的作用取决于 Makefile 的编写方式和内容。
找出make
命令生成的二进制文件、库、手册页等以便修改 Makefile 的最通用方法可能类似于下面的方法。我假设您位于构建目录的顶部。
touch /tmp/tstamp
make clean
./configure [your options]
make
find . -newer /tmp/tstamp
这将为您提供自创建 /tmp/tstamp 文件以来已修改的文件列表。
将正在安装的文件列表make install
与使用命令获取的列表进行比较find
,然后将所需的剩余文件添加到 Makefile 中。
如果您获得该列表并且只想使其工作(以快速而肮脏的方式),将它们移动到正确的目标位置应该只是一个简单的 for 循环单行问题,同时记住您在构建配置阶段指定的 --prefix(如果有)。