Мой процесс сборки использует множество сторонних утилит. Многие из этих утилит требуют использования текстовых файлов ASCII для конфигурации. Я хотел бы создать эти короткие текстовые файлы из Makefile. Единственный способ, которым я знаю, - это использовать команду echo
для записи по одной строке текстового файла за раз, а затем перенаправлять вывод следующим образом:
foo.script: bar.prj
touch $@
echo run >>$@
echo -input bar.prj >>$@
echo -output baz.out >>$@
Это некрасиво. Что еще хуже, я создаю Makefile из программы Python. Таким образом, фактический код выглядит примерно так:
TEMPLATE="""{target}: {input}
touch $@
echo run >>$@
echo -input {input} >>$@
echo -output {output} >>%@"""
TEMPLATE.format(target='foo.script',input='bar.prj',output='baz.out')
Это становится очень трудно читать и поддерживать. Кто-нибудь знает лучший способ?
ОТВЕТ:
Не генерировать текст из Make. Вызовите скрипт, написанный на языке, который облегчает генерацию текста.