Ala*_*ing 1 c++ automake packaging autotools ampl
我有一个用autotools构建的C++软件系统.对于其功能的一小部分,我的系统使用闭源预构建二进制文件:AMPL.我是他们软件的免费学生版.假设我在C++代码中调用的AMPL二进制文件的名称是ampl-student.我通过system(...)调用在我的代码中运行它.
当运行"make install"时,我想与我编译的C++代码的二进制文件一起ampl-student移动/usr/bin.我应该在Makefile.am中添加哪些内容ampl-student.我应该将它添加到bin_PROGRAMS变量吗?
一个相关的问题是我应该甚至把ampl-student在/usr/bin.是否有更适合"辅助二进制"的地方?
我认为这通常是一个坏主意,因为将预先构建的二进制文件与代码一起分发并不能保证二进制文件将在最终用户的计算机上运行.但在这种情况下,用户群非常小,我碰巧知道他们都使用相同的系统配置.因此,我们实际上使用deb软件包来保持每个人都对软件系统的新版本进行更新.
编辑1:我应该强调,问题首先是要求ampl-student在autotools使用的Makefile.am文件中指定的位置.
我安装它$(pkglibexecdir):
pkglibexec_PROGRAMS = ampl-student
# If you need to know the path in your code
AM_CPPFLAGS = -DPKGLIBEXECDIR=\"$(pkglibexecdir)\"
Run Code Online (Sandbox Code Playgroud)
它不是真正的用户程序,因此将其安装在某个地方.默认情况下,这将是$(prefix)/libexec/$(package).