2011-05-15 12 views
1

저는 MPC (Make Project Creator 만들기)를 사용하여 실제 make 파일을 생성하는 OpenDDS (및 ACE/TAO)를 실험하고 있습니다. 실제로 몇 가지 성가신 일을하고 있습니다.MPC를 사용할 때 청소되는 출력 디렉토리와 파일을 어떻게 제어합니까?

먼저 많은 중간 소스 파일 (일부 IDL 및 C++ 헤더/구현)을 생성하고 수동으로 작성한 IDL 및 C++ 파일과 동일한 디렉토리에 배치합니다. 모든 생성 된 파일이 산만하기 때문에 수동으로 만든 파일과 생성 된 파일을 별도의 디렉터리에 저장하고 싶습니다. 이 일을 할 수있는 방법이 있습니까?

둘째, "make clean"을 실행하여 생성 된 개체 파일을 정리하지만 생성 된 원본 파일은 정리하지 않습니다. 거기에 모든 생성 된 파일을 청소하게하는 방법이 있습니까?

답변

2

생성 된 파일을 모두 삭제하려면 (make 파일을 사용할 때) 간단하게 'make realclean'을 수행하십시오. 'make clean'은 단순히 C++ 컴파일 제품 (오브젝트 파일, 라이브러리, & 실행 파일)을 정리하는 반면 'make realclean'은 생성 된 모든 파일을 제거합니다.

생성 된 파일의 출력 디렉토리를 변경하면 실제로 원하는 작업이 아닐 수 있습니다. 네, 많은 양의 IDL과 C++이 생성되는 경우가 있습니다.하지만 잠시 후에는 과거를 살펴 보는 방법을 배우게됩니다. 이 문제로 인해 죽은 경우 간접적 인 방법 중 하나는 MPC와 함께 제공되는 clone_build_tree.pl 스크립트를 사용하는 것입니다. 이 스크립트는 모든 소스 파일에 대한 기호 링크를 포함하는 새 디렉토리 (build/xxx 아래)를 작성합니다. 그런 다음 원래 소스 디렉토리를 원시 상태로 유지하면서 빌드를 수행합니다. 다음은 간단한 예입니다 (가정 ACE, TAO, 그리고 MPC는 설정 이미) :`=

  1. CD DDS
  2. $ MPC_ROOT/clone_build_tree.pl 테스트
  3. CD 빌드/테스트
  4. 수출 DDS_ROOT pwd`
  5. 일반 Open DDS 명령어를 사용하여 빌드 ...