2013-03-07 1 views
1

Makefile에 마스터 빌드 대상을 작성 중입니다. 나는 "all_images"clearmake 메이크 파일로 빌드하는 동안 오브젝트를 여러 번 만드는 방법

all_images 같은 목표를 가지고 : fast_image의 slow_image

fast_image : clean_objects dep_1 dep_2 dep_3

slow_image : clean_objects dep_1 dep_2 dep_3

fast_image 원인 메이크에서 다른 조건을 가지고 그것은 최종 이미지 이름에 fast_image를 가지고 있고 slow_image는 그 이름에 같은 것을 가지고 있습니다 ..

나는 빠른 빌드와 느린 빌드 사이를 깨끗하게하고 싶습니다. o 파일, 분명히 최종 이미지가 아닙니다.)하지만 이렇게하면 clean_objects는 이미 fast_image 중에 발생했기 때문에 두 번째로 발생하지 않습니다.

"slow_image가 변경된 모든 것을 다시 빌드해야하기 때문에 정리할 필요가 없습니다."라고 말하기 전에, 우리의 특정 환경은 코드 생성을하는 매우 복잡한 makefile과 gnu_make kick offs 및 기타 것들을 가지고 있습니다. 그 사이의 객체를 정리해야합니다. 이미 다시 일어난 종속성을 강요하는 방법이 있습니까? 나는 모든 곳으로 가서 모든 .o 파일을 수동으로 삭제할 수 있지만 clean_objects 대상은 이미 해제되고 모든 종류의 복잡한 개체 삭제를 수행하는 종속성이 있으며 수동으로 모든 작업을 수행하려고합니다. 나는 할 필요가 없다.

감사합니다.

답변

0

내 마음이 두 개의 목표 clean_fast_image_objectsclean_slow_image_objects 다음 그 모두를 가지고 있는지 확인 만 현재 clean_objects하는 명령을 실행하는 정의 메이크 함수를 호출하는 것입니다에 제공이 있지만, 처음 일을하는 방법에는 여러 가지가 있습니다 확신 해요 않습니다.

+0

나는 당신이 제안한 것과 정확히 잘 작동했다. ... 고마워! –

관련 문제