linux 명령어 make
컴파일 하기.
$ make
Linux 명령어 make
프로그램 빌드를 자동화하기 위한 명령어
1. 자세한 설명
make
명령어는 Linux에서 프로그램 빌드를 자동화하는 데 사용됩니다. 이 명령어는 Makefile로 알려진 구성 파일에 정의된 규칙에 따라 소스 코드를 컴파일하고 빌드 작업을 수행합니다. 여러 파일과 복잡한 의존성을 포함하는 프로젝트에서 매우 유용하며, 소스 코드 변경에 따라 필요한 부분만 다시 컴파일하도록 최적화됩니다.
2. 사용법
- 기본 Makefile 실행
make
현재 디렉토리의Makefile
을 읽어 작업을 실행합니다. - 특정 타겟 실행
make [타겟]
Makefile에 정의된 특정 타겟을 실행합니다. - 사용자 지정 Makefile 사용
make -f [Makefile]
특정 Makefile을 지정하여 작업을 수행합니다.
3. 자세하게 설명
make
명령어는 다음과 같은 작업에서 매우 유용합니다:
- 프로젝트 빌드 자동화: 프로젝트의 여러 소스 파일과 라이브러리를 빌드하는 데 필요한 단계를 자동으로 관리합니다.
- 의존성 관리: 소스 코드 파일 간의 의존성을 정의하고, 변경된 파일만 다시 컴파일합니다.
- 다양한 작업 처리: 컴파일 외에도 테스트 실행, 문서 생성 등의 작업을 Makefile로 정의할 수 있습니다.
- 다중 플랫폼 지원: 다양한 환경과 운영 체제에서 동일한 Makefile을 사용하여 빌드 작업을 수행합니다.
4. 자세한 명령어 사용법
다음은 make
명령어의 다양한 사용 예제입니다:
# 기본 Makefile 실행 $ make # 특정 타겟 실행 $ make clean # 사용자 정의 Makefile 사용 $ make -f CustomMakefile # 병렬 작업 실행 (예: CPU 코어 수 만큼) $ make -j$(nproc) # 특정 변수 값을 지정하여 실행 $ make CC=gcc CFLAGS="-O2" # 디버그 빌드 실행 $ make debug # 설치 타겟 실행 $ sudo make install # 모든 빌드된 파일 정리 $ make clean # 디렉토리 변경 후 Makefile 실행 $ cd project && make # Makefile 없이 직접 컴파일 명령 실행 $ make -f <(echo -e "all:\n\tgcc main.c -o main") # Makefile의 타겟 의존성 확인 $ make -n # 특정 디렉토리에서 작업 실행 $ make -C src # 특정 파일을 재컴파일 $ make file.o # 의존성 트리 출력 $ make -p # 빌드 로그를 저장 $ make > build.log 2>&1 # Makefile 없이 간단한 명령어 실행 $ make all CXXFLAGS="-Wall -std=c++17" LDFLAGS="-lm" # 스크립트를 사용하여 자동화 #!/bin/bash TARGET="all" if [[ $1 ]]; then TARGET=$1 fi make $TARGET # 설치 경로를 지정하여 설치 $ make install PREFIX=/usr/local # 여러 타겟 실행 $ make clean all # 실패한 빌드 재시작 $ make -k
위의 예제는 make
명령어를 사용하여 프로젝트를 빌드하고 다양한 작업을 처리하는 방법을 보여줍니다.
No responses yet