我有一个任务需要完成,包括使用configure; make; make install从源代码构build一系列库configure; make; make install configure; make; make install configure; make; make install 。 生成的库和misc文件将被放到与构build环境兼容的embedded式系统上。
我的问题是如何知道安装了哪些文件以及在哪里可以抓取它们并将它们移动到embedded式环境中?
是通过运行make install创build的日志? 或者,我只是将make install的输出发送到文件?
build议,提示和技巧将不胜感激。
您可以使用make -n install来查看安装将执行的操作。 请注意,有时它将运行的命令之一是在子目录中的另一个make ; make -n不是recursion的。
如果软件使用标准的gnu autoconfconfiguration脚本,你应该可以
./configure --prefix=/my/directory/for/embedded/system [...]
然后一切都将被安装在该前缀下。
您可以尝试将其复制到embedded式系统上的“标准”位置,但该软件可能正常工作,也可能无法正常工作。
如果没有别的,你可以用这个方法来收集软件安装的清单。
另一个技巧 – 尝试修改Makefile来重新定义安装文件的命令(通常是“install”或“install.sh”)。 将其replace为您自己的版本,将其操作写入日志文件。
如果你想要一个轻量级的解决scheme来帮助pipe理这个(vs RPM或者dpkg),看看GNU Stow。
这是使用RPM(Red Hat)或deb(Debian)等包装系统的首要原因。
对于embedded式Linux系统,通常的软件包pipe理系统是opkg ,它是ipkg的inheritance者,它基于deb格式松散,通常可以很容易地从Debian软件包构build指令中进行调整。