automake相关内容

在Automake Makefile规则之前,Automake上有没有执行的目标?

我一直在尝试生成在之前执行的生成文件规则 Automake Makefile规则。我已经看到我可以定义“all-local”和“hooks”规则,但这些规则是在“all”和其他规则之后执行的 例如,规则。 有没有什么方法可以让我在 Automake增加了规则?我想要自动在 目录,但通过make的编译过程始终尝试 按照自动生成文件规则编译程序。如果我可以添加一个 “前”规则,我可以生成所需的文 ..
发布时间:2022-07-03 15:39:39 其他开发

自动生成子目录-对象已禁用

我在使用Automake时遇到以下错误。我知道您可以将AUTOMAKE_OPTIONS=subdir-Objects“放在Makefile.am的顶部。但我如何为所有文件设置此行为,这样我就不需要逐个执行此操作? Makefile.am:454: warning: source file 'libs/esl/src/esl_threadmutex.c' is in a subdirector ..
发布时间:2022-04-11 23:16:28 服务器开发

使用 automake/autoconf 条件生成文件

谁能告诉我是否有办法向 Makefile.am 插入条件块,以便将其进一步传递给由 autotools 创建的 Makfile? 这是一个例子: ifeq "$(SOMEVAR)" ""SOMEVAR="default_value"万一 这似乎是 Makefile 做有条件的事情的常用方法.Automake 会切断 endif 行并最终导致失败,并显示如下消息: Makefile: ..
发布时间:2022-01-21 00:02:39 Python

Autoconf/Automake 条件和 dist 规则

我最近开始在我正在从事的项目中使用 autoconf 和 automake.该项目的文档是用 LaTeX 编写的.由于我不想将 LaTeX 作为依赖项,我想使用 autoconf 检查 pdflatex 二进制文件的存在,然后在 Makefile.am 中使用该信息来决定是简单地将 .tex 文件复制到文档目录,还是生成 PDF 并复制两者. 这是 configure.ac 中的相关部分: ..
发布时间:2021-11-30 19:14:25 其他开发

如何在autoconf configure.ac中获取顶级构建目录的绝对路径?

我正在处理一个需要子项目的项目,该子项目有自己的 makefile 和 configure.ac.子项目是用于为主项目生成源文件的程序.有一个选项可以禁用此项目的构建并尝试使用已安装的版本. 在任何一种情况下,我都会创建一个变量,该变量在我的 Makefile.am 中使用,其中包含程序的路径. 我的问题是,当使用项目的本地版本时,如何获取它在我的 Makefile.am 中使用的位置 ..
发布时间:2021-11-30 19:13:41 其他开发

autoconf 和 automake 流程图中的哪些过程由谁在何时执行?

在来自 https://en.wikipedia.org/wiki/Automake 的 autoconf 和 automake 的流程图中 ,有几个过程 自动扫描 本地 自动标题 自动配置 汽车制造 配置 制作 执行哪些过程 软件程序的用户在下载软件程序的分发版后 由从源代码创建软件程序分发的一方(以及软件程序的作者可能是谁)? 我问这个问题,因为我记得我作 ..
发布时间:2021-11-30 19:12:57 其他开发

使用 GCC 和 autotools 为单个源文件设置编译标志的最佳方法是什么?

我需要使用 autotools 禁用单个文件的优化标志.最好的方法是什么? 解决方案 你是说一个单独的源文件还是一个单独的可执行文件? 禁用可执行文件优化很简单: bin_PROGRAMS = myprogmyprog_SOURCES = foo.c bar.cmyprog_CFLAGS = -O0 如果您的意思是要暂时禁用对单个源文件的优化,例如出于调试目的,您可以在提示符下重 ..
发布时间:2021-11-30 19:11:45 其他开发

向 Autoconf 生成的配置脚本添加自定义安装目录选项

configure 脚本总是在帮助消息中包含如下内容: ...默认情况下,`make install' 将安装所有文件`/usr/local/bin', `/usr/local/lib' 等你可以指定使用 `--prefix' 的除 `/usr/local' 之外的安装前缀,例如`--prefix=$HOME'.为了更好地控制,请使用以下选项.微调安装目录:--bindir=DIR 用户可执行文 ..
发布时间:2021-11-30 19:10:51 其他开发

带有相互依赖的子包的 Autoconf 子目录?

我手头有一个大型项目(主),它被分成几个组件(liba、b、c、d)以简化构建和维护.在构建整个包时,必须依次构建所有子组件,其中一些包相互依赖. 更明确地说,liba 是 b、c 和 d 的先决条件,并且配置脚本检查 liba 的存在.在自行构建 b 发行版时,此检查对于提供用户友好的错误消息绝对是必要的.但是,在构建主包及其所有子包时,liba 被构建为子目标.因此,在主套件上运行con ..

Autotools 库和目标文件输出控制

我的目标是将所有目标文件构建在 .objs 目录而不是 Makefile 的根目录中,并将二进制文件(和库)复制到项目的 bin/ 目录中.但我一直无法找到任何资源来解释如何做到这一点.我该怎么做? 这是我的 configure.ac 和 src/Makefile.am - 我有两个引用的共享库的类似 Makefile.am 文件.它们进行编译,并在将它们复制到 bin/ 目录后正常工作.我 ..
发布时间:2021-11-30 19:10:32 其他开发

在 autoconf/automake 中可移植地包含 GLib 头文件

我需要为使用自动配置构建的项目包含 GLib 标头 -基于系统的可移植性. 如何以可移植的方式安全地导入 GLib 标头?我知道 pkg-config,但这并不完全可移植(因为有些系统不没有它,我宁愿只依靠 autoconf 进行配置). 解决方案 GLib 2.22 INSTALL 文件指出 pkg-config 是安装此库的必要条件.我不是 GLib(双关语!);此要求的声明是 ..
发布时间:2021-11-30 19:09:44 其他开发

什么是 ltmain.sh,为什么 automake 说它丢失了?什么是好的自动 (make/conf/etc) 生成器?

我只想用自动生成的 auto(make/conf/...) 东西在 linux 中开发一个 C 应用程序.我尝试用 ede 和 anjuta 生成它,但它似乎没有生成 Makefile.am.所以,我尝试运行 automake,它说找不到“ltmain.sh".是否有一些易于为 linux C/C++ 应用程序生成基本构建文件的方法.什么是标准做法?大多数人会自己编写这些文件吗? 解决方案 ..
发布时间:2021-11-30 19:09:18 其他开发

使用 automake 安装包含大量文件的数据目录树

我有一个数据目录,我希望 automake 为其生成安装和卸载目标.本质上,我只想将此目录逐字复制到 DATA 目录,通常,我可能会单独列出所有文件,例如 dist_whatever_DATA=dir/subdir/filea ... 但是当我的目录结构是这样的时候问题就出现了 *root*子目录*~10 个文件*子目录*~10 个文件*子目录*~700 个文件*子目录...~20 个子目录 ..
发布时间:2021-11-30 19:09:09 其他开发

configure.ac 和 configure.in 和 Makefile.am 和 Makefile.in 之间有什么区别吗?

我已经在我配置的不同事物中看到了两者.我有什么区别?仅使用一个是否值得注意?或者用哪一个都无所谓? 解决方案 configure.ac 和 configure.in 是主 Autoconf 源文件的两个可能名称,它们分别是由 autoconf 处理以生成 configure shell 脚本.configure.ac 是新包的首选,configure.in 是一个仍然有效的旧名称.(.in ..
发布时间:2021-11-30 19:07:54 其他开发