Использовать путь к каталогу цели в списке предварительных требований в Makefile - PullRequest
3 голосов
/ 28 февраля 2012

Я написал скрипт, который принимает два файла, заканчивающихся на .cfg, и выводит файл, заканчивающийся на .cmp.Я хочу включить это в мой Makefile, потому что несколько файлов исходного кода зависят от этого файла .cmp.

В моем Makefile я хочу сделать это:

%.cmp: %.cfg $(dir %)/default.cfg
    ./compare.pl $^ $@

Есть две зависимостисоздать файл .cmp.Первый - это файл .cfg с тем же именем, а второй - файл .cfg, который по умолчанию всегда .Оба файла .cfg и выходной файл .cmp будут находиться в одном каталоге.

Есть ли способ получить путь к каталогу цели и использовать его с предварительными запросами?

1 Ответ

3 голосов
/ 28 февраля 2012

Я думаю, Вторичное расширение , вероятно, то, что вы ищете:

.SECONDEXPANSION:
%.cmp: %.cfg $$(dir %)default.cfg
    ./compare.pl $^ $@

Также обратите внимание на отсутствие косой черты после $$(dir %), функция dir всегда добавляет один кПолученное значение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...