proc makefile 예제

그래서 우리는 위의 makefiles를 다음과 같이 다시 작성할 수 있습니다. standard_defs.mk는 최상위 디렉터리에 존재하며 다음과 같은 정의가 포함될 수 있습니다. 메이크와 함께, 종종 메이크업으로 그것을 할 수있는 전통적인 방법과 는 다릅니다. 메이크파일 작성에 대한 또 다른 사례와 조언의 또 다른 소스는 makepp_cookbook입니다. emacs와 같은 편집기 내에서 makepp를 실행하고 여러 다른 디렉토리의 소스를 편집하는 경우, makepp의 기본 디렉토리가 가장 최근에 편집한 파일에 따라 다를 수 있습니다. 따라서, makepp올바른 메이크 파일을로드하지 않을 수 있습니다. make –help를 입력하여 모든 옵션이 명령 지원을 만드는지 확인할 수 있습니다. 이 문서에서는 이러한 모든 옵션에 대한 설명이 범위에 없습니다. 요점은 makefile 구조와 작동 방식입니다. target은 makefile에 있는 태그(또는 정의된 이름)입니다. 이 문서의 후반부에서 설명합니다. 많은 포함 파일과 함께 processing.cxx 및 gui.cxx라는 두 개의 소스 모듈이있는 C ++ 프로그램을 작성한다고 가정합니다.

프로그램을 처음부터 빌드하려면 이러한 명령과 같은 명령을 실행해야합니다. 동일한 메이크 파일을 재귀적으로 호출합니다. 예를 들어 make[37]는 make 명령의 37번째 인스턴스를 의미합니다. 이 방법의 한 가지 문제는 암시적 로드가 더 이상 작동하지 않는다는 것입니다. makepp가 무언가를 빌드해야 할 때 메이크 파일을 찾는 유일한 장소는 빌드하려는 파일의 디렉토리에 있습니다. 이것이 당신에게 문제가되면, 당신은 명시적으로 load_makefile 문을 사용하여 볼 위치를 makepp을 말할 수 있습니다. Makepp는 processing.cxx가 마지막으로 프로세싱.o가 빌드된 이후 변경되었는지 확인합니다. 기본적으로 파일의 날짜를 확인하여 이를 결정합니다. Makepp는 processing.cxx의 날짜가 마지막 처리 날짜였는지 기억합니다.o는 별도의 파일 (.makepp라는 하위 디렉터리)에 저장하여 처리되었습니다. Makepp는 다음 중 어느 것이든 해당 되는 경우 대상을 빌드하는 작업을 실행합니다.

이것은 종종 메이크 파일을 작성하지 않을 때 매우 편리합니다. 그러나 makefile에서 이 작업을 수행하는 것은 좋지 않습니다. <! DOCTYPE HTML 퍼블릭 -//IETF//DTD HTML/EN" <머리 <제목 Qt의 moc 프리프로세서사용</제목</head 100, 낸시 그린버그, 12000, 1 100, 다니엘 파비엣, 9000, 2 100, 존 첸, 8200, 3 110, 셸리 히긴스, 12000, 1 110, 윌리엄 기츠, 8300, 2 [] proctest]$ 이 문서는 전체 자습서, 그것은 C 응용 프로그램에 초점을 맞추고 하는 방법 메이크 명령을 사용 하 여 그들을 구축 하 고 makefile. 디렉터리 구조에 많은 샘플이 있는 zip 파일이 있습니다. 샘플에서 가장 중요한 파일은 C 소스 코드가 아닌 makefiles입니다. 샘플 파일을 다운로드하고 압축 해제 명령 또는 기타 기본 도구로 압축을 풀어야 합니다. 따라서 이 문서에 대한 이해를 위해 이 예제에서는 동일한 조작을 보다 쉽고 명확하게 수행하는 방법이 있기 때문에 인라인 펄 코드를 사용하는 것이 불필요합니다. 그러나 필요한 경우 펄 인터프리터의 모든 힘을 사용할 수 있습니다. 자동 로딩은 makefile에 의해 만들어진 파일이 모두 makefile 자체와 동일한 디렉토리에 있는 경우 작동합니다.

makefile 자체가 아닌 다른 디렉토리에 파일을 생성하도록 makefile을 작성하는 경우 추측 할 방법이 없기 때문에 makepp에게 makefiles를 찾을 위치를 알려주어야 할 수 있습니다.