Use apenas make -j 3
e ele deve compilar paralelamente, e garantirá que todas as dependências sejam adequadamente distribuídas, essa é a maneira "oficial" de fazê-lo.
Percebi que meus processadores estavam, no total, em uso apenas cerca de 50% do tempo ao criar um kernel Linux.
Eu costumo fazer o kernel, então faço os módulos.
Acabei de começar uma make bzImage em um terminal e um make modules em outro e ver que ambos os processadores estão em uso total. Espero que o tempo total de compilação seja muito mais rápido, já que estou compilando em paralelo em vez de serial.
Existe algum "gotya" que torna isso inseguro?
E não, você não deve começar a criar dois objetos no mesmo diretório que provavelmente tentarão compilar o mesmo código ao mesmo tempo.