gpt4 book ai didi

linux - Automake:依赖于构建结果

转载 作者:太空狗 更新时间:2023-10-29 12:21:38 29 4
gpt4 key购买 nike

我使用 automake 和 autoconf。

在子目录 src/中,Makefile.am 包含

bin_PROGRAMS = hello
hello_SOURCES = hello.c

构建 hello 后,我想在二进制文件上运行一个工具(系统上安装的一些分析器/优化器)来修改它(例如 strip)或生成统计信息(例如 dwarves、pahole ...)。为此,顶层目录中的 Makefile.am 包含

tool:
tool src/hello

当使用 make 构建 hello 并执行 make 工具时,一切都很好。当用户在未构建二进制文件的情况下运行 make 工具时会出现此问题。我如何强制构建 bin_PROGRAMS(可能是一个列表)或仅构建 hello 二进制文件作为目标工具的依赖项?

都不是

tool: bin_PROGRAMS
tool src/hello

也不是

tool: src/hello
tool src/hello

工作。

最佳答案

一个名为“tool”的 Makefile 目标应该创建一个名为“tool”的文件。由于 'tool' 已经存在,Make 假设它不需要再次运行命令(我正在简化,但只是一点点)。

像这样的构造应该可以工作:

tool_output: tool src/hello
tool src/hello > tool_output

此外,一般来说,我认为您不能将 bin_PROGRAMS 或任何其他 Automake 变量(使用 = 分配)用作依赖项,但我可能是错的。

关于linux - Automake:依赖于构建结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4837895/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com