반응형
make와 Makefile은 소프트웨어 빌드 및 컴파일 과정을 자동화하는 데 사용된다.
Make
make는 GNU Make라는 프로그램으로, Makefile이라는 파일에 정의된 규칙을 읽고, 그에 따라 프로젝트를 빌드하는 역할을 한다. 여러 파일로 구성된 프로젝트에서 파일 간 의존성을 추적하고 효율적으로 빌드 과정을 관리하기 좋다.
- 컴파일 과정 자동화: 여러 소스 파일을 순서에 맞게 컴파일 가능.
- 의존성 관리: 소스 파일 간의 의존성을 확인하여, 변경된 파일만 다시 컴파일할 수 있도록 최적화.
- 빌드 효율성: 필요 없는 재컴파일을 방지하여 빌드 시간 단축.
Makefile
Makefile은 프로젝트 빌드 방법을 정의한 파일이다. 이 파일에는 파일 간의 의존성, 빌드 명령어, 빌드 과정에서 실행할 규칙이 포함되어 있다.구성 요소는 아래와 같다.
- 타겟(Target): 컴파일된 출력 파일로, 보통 실행 파일이나 라이브러리 파일이다.
- 의존성(Dependency): 특정 타겟이 컴파일되기 전에 존재해야 하는 파일들. 예를 들어, .o 파일을 생성하기 위해 필요한 .cpp 파일 등이 있다.
- 명령어(Command): 타겟을 빌드하기 위한 실제 명령어로, 주로 컴파일러 명령이다.
아래는 메이크파일의 샘플이다.
hello_world: main.o print.o
g++ -o hello_world main.o print.o
main.o: main.cpp
g++ -c main.cpp
print.o: print.cpp
g++ -c print.cpp
clean:
rm hello main.o print.o
주요 명령어
- make: 기본 타겟을 빌드합니다.
- make clean: clean 타겟을 실행하여 임시 파일을 삭제합니다.
- make [타겟]: 지정된 타겟을 빌드합니다.
'코딩 > 기타 코딩 노트' 카테고리의 다른 글
g++ 컴파일러 사용하기 (0) | 2024.09.06 |
---|---|
맥에서 Docker 사용 시작하기 (0) | 2024.09.05 |
우분투에서의 포토샵 대안, 김프 사용하기 (0) | 2021.11.10 |
깃헙 레파지토리 폴더명 (디렉토리) 변경하기 (0) | 2020.12.15 |
java의 Access Modifier (1) | 2020.11.12 |
댓글