【发布时间】:2024-01-04 11:49:01
【问题描述】:
我正在一个使用 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 gnu-make automake