Можно ли использовать шаблоны в Makefile для отображения середины имени файла от источника к цели? - PullRequest
0 голосов
/ 08 ноября 2018

У меня есть набор файлов, которые выглядят так:

meta_UNIQID_set.xml.gz и хотел бы использовать Makefile для создания целей, которые выглядят как UNIQID.json.gz. Обоснование заключается в том, чтобы вписаться в существующий многошаговый конвейер (где имена указаны в этой форме).

Я искал замены шаблонов в gnu make, которые допускают такого рода трансформацию, но я не нашел чего-то, что, похоже, будет делать то, что я хочу. Я могу сделать это преобразование с другими инструментами и даже написать конкретные правила, так как есть всего несколько файлов. Мне просто любопытно, есть ли прямой подход, который использует существующую функциональность GNU Make.

1 Ответ

0 голосов
/ 08 ноября 2018

Вы можете использовать символ основы % следующим образом:

%.json.gz: meta_%_set.xml.gz
        echo "Processing $< to $@, stem is $*"
        cp $< $@

Официальная документация называет это Правилами паттернов .

...