навязывание порядка предпосылок в Makefiles

У меня есть сторонний make-файл, и яМне бы хотелось, чтобы одна из целей (T1) не создавалась до тех пор, пока сначала не будет построена пользовательская цель (T2). Обычно это можно сделать, сделав T2 обязательным условием для T1. НО, T1 использует $ ^ в одном из своих правил ... так что, добавив необходимое условие, я заканчиваю тем, что ломаю сборку ... У меня есть следующее:

T1: x y z T2
    $(MAKE) -j $^;
    # fails because T2 should not be passed to the make!!!

.PHONY: T2

T2:
    #do some linking and prep for T1

Есть ли хороший способ убедиться, что T2 работает до T1? (Примечание: приведенный выше пример немного упрощен. На самом деле T1 - это цель vmlinux в make-файле ядра Linux, поэтому переписать его не только сложно, но и сделать код непереносимым. Также я могуt запустить T2 перед вызовом make в ядре из-за некоторых других зависимостей).

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

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