То, что вы спрашиваете, противоречит нормальной работе make: правило должно изменять файлы, названные в слева двоеточия, а не файлы в справа издвоеточиеВы не дали здесь большого контекста, поэтому трудно дать вам более конкретный совет, чем этот.
Что касается конкретного вопроса, который вы задали, вы можете использовать что-то вроде этого:
%.foo: %.bar %.spam %.bot
echo "hello1" > $<
echo "hello2" > $*.spam
При этом используется автоматическая переменная $*
, которая определяется как часть имени файла, которая соответствует символу %
в правиле шаблона.