make -j
을 사용하면 (TheMorph가 말한 것처럼) 확실히가는 길입니다.
그러나 단일 make 프로세스가 빌드 종속성을보고 병렬화 대상을 파악할 수있는 경우이 방법이 가장 효과적입니다. 재귀 Makefile 시스템이 있는데, 이는 considered harmful입니다 (경고 : 링크는 PDF 임).
다른 하위 시스템 간의 종속성을 최상위 레벨 make가 실제로 이해하지 못하기 때문에 일반적으로 재귀 적 make를 병렬로 실행하기가 어렵습니다.
그래서 가장 좋은 방법은 재귀 메이크 파일을 먼저 수정하는 것일 수도 있고 다음에은 을 최대한 활용할 수 있습니다.
This은 비 재귀 적 make 시스템을 작성하는 예입니다. 현재 메이크 파일을 가지고있는 모든 디렉토리에는 여전히 메이크 파일이 있으며 각 메이크 파일은 여전히 동일한 대상을 관리하며 각 서브 디렉토리는 여전히 독립적으로 빌드 될 수 있습니다. 다른 점은 최상위 빌드가 모든 하위 디렉토리 makefile을 단일 종속성 그래프에 포함하므로 훨씬 더 적극적으로 parallize 할 수 있다는 것입니다.