Сложное шаблонное правило в Makefile

У меня есть следующий make-файл, который я использую для генерации файлов из некоторых шаблонов, сгенерированные файлы имеют два возможных расширения:

%.tex: %.tex*_tpl
    ./generate $@_tpl -o $@

%.xml: %.xml*_tpl
    ./generate $@_tpl -o $@

Список зависимостей здесь будет соответствовать таким вещам, какa.tex_tpl, a.tex-subpart1_tpl, a.tex-subpart2_tpl.

Пока это работает, есть ли способ избежать повторения? Например, сопоставляя*.{tex,xml} в имени правила и использовать полное совпавшее имя в списке зависимостей? Нечто похожее на это:

%.{tex,xml}: $@_tpl
    ./generate 
%.{tex,xml}: $@_tpl
    ./generate $< -o $@
lt; -o $@

(Хотя я знаю%.{tex,xml} не является допустимым именем правила, и вы не можете использовать$@ в списке зависимостей)

Или любым другим (более чистым?) Способом.

Ответы на вопрос(1)

Ваш ответ на вопрос