Я использую GNU make как инструмент для выполнения некоторых задач.Предположим, у меня есть две задачи, A и B, которые имеют подзадачи.Я должен выполнить задачу B (и ее подзадачи) перед задачей A.
У меня есть этот минимальный рабочий пример
all: task1
task1: task2
task1: task1.1
@echo task1
task1.1: task1.2
@echo task1.1
task1.2:
@echo task1.2
task2: task2.1
@echo task2
task2.1: task2.2
@echo task2.1
task2.2:
@echo task2.2
В любом случае, это не работает должным образом, так как вывод такой:
task1.2
task1.1
task2.2
task2.1
task2
task1
Вместо этого я хотел бы получить
task2.2
task2.1
task2
task1.2
task1.1
task1
, просто указав зависимость task1: task2, то есть подзадачи не должны быть задействованы.
Я былв состоянии получить такое поведение, поставив задачу 1: задача 2 в поле задача 1: задача 1.1, но рекомендуется разрабатывать зависимости таким образом, чтобы они не зависели от их порядка.
Есть ли альтернативный способ достижения этого?
Спасибо.