Я создаю Makefile, который я хочу, чтобы он был одним файлом для разных архитектур, операционных систем, библиотек и т. Д. Для этого у меня есть специальный файл XML для сборки, который определяет различные параметры конфигурации для каждой архитектуры. Файл конфигурации читается Perl (это может быть любой язык), и вывод Perl возвращает что-то вроде:
var1 := var1_value
var2 := var2_value
var3 := var3_value
То, что я пытаюсь сделать, это определить эти переменные в моем Makefile. Из make-файла я вызываю мой скрипт readconfig, и он дает правильный вывод, но я не смог получить эти переменные как часть моего Makefile. Я пробовал использовать eval
и value
, но ни один из них не сработал (хотя это может быть проблемой из-за того, что я не знаю, как их использовать. В целом, что я пытаюсь сделать, это что-то вроде:
read_config:
$(eval (perl '-require "readConfig.pl"'))
@echo $(var1)
Можно предположить, что я использую только поведение GNU Make. Вещи, которые я не мог изменить:
- Файл конфигурации находится на XML
- Использование Perl в качестве анализатора XML