GNU Make поддерживает `` цепочки неявных правил ". Чего я хочу достичь, так это написать в одном разделе Makefile:
- сгенерировать A в B командой: cmd1 A B
- сгенерировать B в C командой: cmd2 B C
- сгенерировать C в D командой: cmd3 C D
С A, B, C и D - четыре файла с разными расширениями (обозначим, например, .p, .q, .r и .t). B и C - промежуточные файлы, которые мне не нужны, в то время как A - исходный файл, а D - вывод. Проблема в том, что A - это очень большой набор файлов. Поэтому я хочу использовать цепочку неявных правил Makefile для достижения этой цели. Но я не знаю, как узнать имена файлов для промежуточных файлов B и C, например:
%.t : %.r : %.q : %.r
cmd1 $< ?
cmd2 ? ??
cmd3 ?? $@
где? а также ?? это имена для промежуточных файлов. Я не нашел очень конкретного объяснения того, как назвать эти файлы. Страница руководства по GNU make предоставляет только переменные представления, такие как $ <и $ @, которые мне не нужны. Большое спасибо. </p>