Предположим, у меня есть файл make и много целей MyTarget1,MyTarget2,MyTarget3,...,MyTarget100
.
Если я хочу скомпилировать все цели с использованием 12 потоков, я могу просто использовать make -j12 all
.
Теперь Я хочу скомпилировать подмножество всех целей, предположим, MyTarget1, MyTarget2, MyTarget3, MyTarget4
.
Я знаю, что компиляция каждой цели по очереди должна работать. Таким образом, 12 потоков работают с MyTarget1
, подождите, работайте над MyTarget2
, подождите, ... Если MyTarget
не имеет высокого параллизма, например, это небольшая цель, такая как helloworld, время некоторого потока будет впустую. Мне не нравится его низкий параллелизм.
Мне нужно решение с высоким параллелизмом, например make -j12 all
, которое из 12 потоков может работать с разными целями в определенный момент.
Как я могу реализовать это?
Я хочу что-то вроде
make -j12 MyTarget1,MyTarget2,MyTarget3,MyTarget4
Ссылка
следуйте ссылке, уже указанной в решении CMake
, теперь мне интересно, можно ли это реализовать напрямую используя make
.
Спасибо за ваше время.