Правило Makefile, где одно из двух предварительных условий совпадает - PullRequest
0 голосов
/ 09 марта 2011

Я хочу ознакомиться с правилом make-файла для случая, когда файлы типа .bbb и .ccc компилируются в .aaa.

Я мог бы просто написать два правила:

%.aaa: %.bbb
   process $<
%.aaa: %.ccc
   process $<

, но я задаюсь вопросом, можно ли это сделать в одном правиле, например:

%.aaa: %.bbb OR %.ccc
   process $<

Обратите внимание, чтотолько один из файлов bbb или ccc достаточно для компиляции, и в моем случае существует только один (так что x.bbb ИЛИ x.ccc, но не оба).

1 Ответ

2 голосов
/ 09 марта 2011

Первый способ - как вы это выражаете.Все правила makefile неявно объединены.Сказать, что вы можете создать% .aaa из% .bbb или% .ccc - это то же самое, что сказать, что вы можете создать% .aaa из% .bbb и создать% .aaa из% .ccc.

Еслитело правила сложное, и вы хотите «повторно использовать тело», у многих марок есть макро-средства, которые позволят вам определить его в одном месте и повторно использовать.

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