我正在创建一个Makefile,希望它能成为适用于不同架构、操作系统、库等的单一文件。为此,我有一个专门用于构建的XML文件,该文件定义了每个架构的不同配置选项。这个配置文件由Perl(也可以是任何语言)读取,Perl输出返回类似以下内容:
var1 := var1_value
var2 := var2_value
var3 := var3_value
我想在我的Makefile中定义这些变量。我从Makefile中调用了readconfig脚本,并且它提供了正确的输出,但我无法将这些变量作为Makefile的一部分。我尝试使用eval和value,但它们都没有起作用(虽然这可能是我不知道如何使用它们的问题)。总体而言,我想做的事情类似于:
read_config:
$(eval (perl '-require "readConfig.pl"'))
@echo $(var1)
可以假设我仅使用GNU Make的行为。以下内容无法更改:
- 配置文件是XML格式
- 使用Perl作为XML解析器