gpt4 book ai didi

makefile - 如何有条件地包含子automake配置文件

转载 作者:行者123 更新时间:2023-12-02 01:56:38 25 4
gpt4 key购买 nike

我在一个使用 automake 构建应用程序的项目中工作。我们使用一个 automake 配置文件 (Makefile.am) 为多个平台构建应用程序。在这个 Makefile.am 中,平台特定的子 automake 配置文件(让我们将它们命名为 Makefile.platform)包含如下:

include platform_A/Makefile.platform
include platform_B/Makefile.platform
...
include platform_X/Makefile.platform

最近我想做的是修改 Makefile.am 以将其中一个平台分离出来,同时仍使其适用于其他平台。我正在尝试在下面做

if PLATFORM_A
include platform_A/Makefile.platform
endif
include platform_B/Makefile.platform
...
include platform_X/Makefile.platform

但似乎“include”在 if/endif 被评估之前生效,这意味着,如果我删除“platform_A/Makefile.platform”,当我尝试为其他构建应用程序时,automake 将无法成功解析 Makefile.am平台(例如 platform_B 和 platfrom_X)因为找不到“platform_A/Makefile.platform”。

这里的任何专家都可以告诉我如何有条件地将外部文件包含在 automake 配置文件中吗?这里的“有条件”是指如果条件不满足,则根本不包含(导入)外部文件。

非常感谢!

最佳答案

根据您的 Makefile 片段的作用,您可以:

if PLATFORM_A
-include platform_A/Makefile.platform
endif

在这种情况下,Makefile-snippets 被简单地包含而不被 automake 解析。另请注意,如果 -included 片段不存在,则不会生成错误(重要的部分是 include -))

关于makefile - 如何有条件地包含子automake配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19639464/

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