Вот простой Makefile:Как использовать ту же команду для разных целей?
all: actual.txt test1.txt test2.txt
actual.txt: header.txt actual_part1.txt actual_part2.txt footer.txt
cat $^ > [email protected]
test1.txt: header.txt actual_part1.txt test1_part2.txt footer.txt
cat $^ > [email protected]
test2.txt: header.txt test2_huge_part.txt footer.txt
cat $^ > [email protected]
Как вы можете видеть, все три цели построены с той же командой, повторяется три раза. Можно ли как-то уменьшить повторение?
Ха, не знаю, что я мог бы иметь два рецепта для цели. Спасибо, я думаю, что в значительной степени это покрывает. –
У вас не может быть двух _recipes_ для цели. Но у вас может быть два (или более) _rules_ для цели, если только правило имеет рецепт (рецепт - это скрипт, используемый для обновления цели). Некоторые из инструментов, которые автоматически генерируют зависимости файлов заголовков, записывают отдельное правило для каждого необходимого условия. – MadScientist