2012-12-18 1 views
1

프로젝트에서 단위 테스트가 수행되었으며 실행 속도가 매우 느립니다. 이것의 주된 이유는 내가 말할 수있는 한, 각 서브 디렉토리가 순차적으로 실행된다는 것입니다. 이유는 없으며 각 하위 디렉토리가 병렬로 처리되도록 항목을 수정하고 싶습니다.Makefile.am이 병렬로 SUBDIRS를 처리합니다.

나는이 question을 찾았지만 허용 된 대답은 makefile.am이 아니라 makefile에서이를 지정하는 방법입니다. 나는 단지 Makefile.am에 솔루션을 추가하려고 시도했지만 차이를 만드는 것 같지 않았다. 이것이 Makefile.am 레벨에서 올바른 방법일까요? 그렇다면 내가 잘못하고있는 것에 대한 충고는 무엇입니까? 그렇지 않다면 나에게 진실의 경로를 보여주세요 :-)

+0

automake에서'make' 대신'make -j4'를 부를 수 있습니까? – anishsane

+1

예, automake는 다른 makefile과 마찬가지로 사용하는 makefile을 생성합니다. 하위 디렉토리를 순차적으로 처리 할 수 ​​있도록 지정하는 방법을 묻습니다. make -j12를 실행하면 각 하위 디렉토리의 작업을 병렬 처리합니다. – dbeer

답변

0

제 질문에 대한 대답으로, Makefile.am의 내용이 상당히 직접 Makefile로 변환되므로 원래 질문의 변경 사항은 Makefile.am에서 가능합니다 . 100 % 확신하지 못하는 유일한 부분은 SUBDIRS (특별한 의미가 있기 때문에)가 autotools 프로세스에서 엉망이 될 수 있는지 여부입니다. 여하튼, 병렬로 SUBDIRS를 처리하는 것은 대개는 일반적으로 대답이 아닙니다.

나는 이것을 병렬로 처리하기를 원하는 디렉토리에 대해 별도의 타겟을 사용하는 것으로 해결했으며 일반적으로 이것이 정답이라고 생각한다. 이 방법으로 SUBDIR을 처리 할 수있는 방법이있을 수 있지만, 별도의 타겟을 사용하면 작업하기가 쉬우 며 적어도 별도의 타겟을 수행하려고 할 때 더 적합합니다.