08/02/2019 - No Comments!

리눅스 makefile 예제

확인을 실행하기 전에 다른 특수 가짜 대상을 포함해 보겠습니다. 우리가 파일이 아닌 모든 대상을 정의하는 포니. make는 해당 이름의 파일이 있는지 또는 마지막 수정 시간에 관계없이 해당 레시피를 실행합니다. 여기에 완전한 메이크 파일이 있습니다 : .h 파일을 포함 디렉토리, src 디렉토리의 소스 코드 및 lib 디렉토리의 일부 로컬 라이브러리에 넣기 시작하려면 어떻게해야합니까? 또한, 우리는 어떻게 든 모든 장소에 걸려 그 성가신 .o 파일을 숨길 수 있습니까? 물론 대답은 `예`입니다. 다음 makefile은 포함 및 lib 디렉터리에 대한 경로를 정의하고 개체 파일을 src 디렉터리 내의 obj 하위 디렉터리에 배치합니다. 또한 수학 라이브러리 -lm과 같이 포함하려는 모든 라이브러리에 대해 정의된 매크로도 있습니다. 이 메이크 파일은 src 디렉터리에 있어야 합니다. 또한 정리를 입력하면 소스 및 개체 디렉터리 정리에 대한 규칙도 포함되어 있습니다. Tthe. PHONY 규칙은 깨끗한 라는 파일로 무언가를 하지 못하게 합니다. 이름에서 알 수 있듯이 가짜 대상 . DEFAULT_GOAL은 한 번에 하나의 대상만 실행할 수 있습니다. 이것이 대부분의 makefiles가 필요한 만큼의 대상을 호출 할 수있는 대상으로 모두 포함하는 이유입니다.

Makefiles는 코드 컴파일을 구성하는 간단한 방법입니다. 이 튜토리얼은 심지어 메이크를 사용하여 가능한 것의 표면을 긁지 않지만, 빠르고 쉽게 중소 규모의 프로젝트에 대한 자신의 makefiles을 만들 수 있도록 스타터 가이드로 의도된다. 나는 일반적으로 makefiles에서 볼 수있는 $(CC) 및 $(CFLAGS)과 같은 변수를 생략하여 가능한 한 간단하게 만들려고 노력했습니다. 당신이 그것을 알아내는 데 관심이 있다면, 나는 당신에게 그것에 좋은 시작을 주었으면 좋겠다. Makefile유닉스, 리눅스, 그리고 그들의 맛에서 실행 되는 프로그램 건물 도구입니다. 다양한 모듈이 필요할 수 있는 건물 프로그램 실행 도구를 단순화하는 데 도움이 됩니다. 모듈을 함께 컴파일하거나 다시 컴파일하는 방법을 결정하려면 사용자 정의 makefiles의 도움을 받습니다. 이 튜토리얼은 makefile의 구조와 유틸리티에 대한 지식을 향상시켜야한다.

이 문서에서는 기본 및 고급 예제를 사용하여 make 및 Makefile을 살펴보겠습니다. 시작하기 전에 시스템에 확인이 설치되어 있는지 확인하십시오. 당신이 만들 수있는 가장 간단한 makefile파일은 다음과 같이 보일 것입니다 : 메이크 파일 예제 간단한 C (또는 C ++) 메이크 파일 예제 더 진보 된 C 메이크 파일 예제 간단한 자바 메이크 파일 (makedepend 및 고급 메이크 구문을 사용하여) 최종으로 만들기 를 사용하여 단순화를 통해 :의 왼쪽과 오른쪽인 특수 매크로 $@ 및 $^를 사용하여 전체 컴파일 규칙을 보다 일반화해 보겠습니다. 아래 예제에서는 모든 포함 된 파일 매크로 DEPS의 일부로 나열 되어야 하 고 모든 개체 파일 매크로 OBJ의 일부로 나열 해야 합니다. 대상이 파일일 필요는 없습니다. 그것은 우리의 예에서와 같이, 조리법에 대한 단지 이름 일 수있다. 이를 "가짜 표적"이라고 부릅니다. 특정 파일이 업데이트될 때 작업을 실행하거나 업데이트하려는 경우 make 유틸리티가 유용할 수 있습니다.

make 유틸리티에는 실행할 작업 집합을 정의하는 파일인 Makefile(또는 makefile)이 필요합니다. 소스 코드에서 프로그램을 컴파일하는 데 make를 사용했을 수 있습니다. 대부분의 오픈 소스 프로젝트는 make를 사용하여 최종 실행 가능한 바이너리를 컴파일한 다음 make install를 사용하여 설치할 수 있습니다. 또한 CMake는 크로스 플랫폼 빌드 시스템입니다. 무엇보다도, cmake는 당신을 위해 메이크 파일을 생성합니다. 대규모 프로젝트, 많은 라이브러리를 사용하는 빌드 및 플랫폼별 컴파일 문제를 처리하는 데 특히 유용합니다. 그것은 자동으로 생성 (종종 읽기 및 디버깅 하기 어려운) 다른 플랫폼에 대 한 makefiles. 작은 프로젝트의 경우, 직접 파일 작성이 더 쉬울 수 있습니다. cmake에 대한 자세한 내용은 앤디 다너의 Cmake 문서를 참조하십시오. 헤더 의 수와 개발 습관에 따라 gccmakedep를 조사할 수 있습니다.

이 프로그램은 현재 디렉터리를 검사하고 각 .c/cpp 파일에 대한 헤더 종속성을 makefile의 끝에 추가합니다.

Published by: jeshurun

Comments are closed.