1. Makefile 이란?

 - make 명령어에게 무엇을 할 것인가를 설명하는 파일. 즉, make에게 어떤 프로그램을 컴파일하고 링크하는 방법

 

 

2. Makefile 규칙

target ... : dependencies ...

             command

             ...

             ...

 

- target : 생성되는 파일 이름

- dependency : target을 만들기 위해 입력으로 사용되는 파일

- command : make가 실행하는 액션

 

Example)

더보기
Example

 

'edit' 이라고 불리는 실행 파일 하나가, 8개의 C 소스와 3개의 헤더 파일들에 의존하는 makefile.

 

  • 'edit' 실행 파일을 만들기 위해 makefile을 쓰기 위해서는 다음과 같이 입력한다: make
  • makefile을 사용해서 실행 파일과 모든 오브젝트 파일들을 삭제하려면 다음과 같이 입력한다: make clean

 

 

3. 그 외 규칙

  • wildcard : 해당 조건에 맞는 파일들을 뽑는다.

Example)

더보기

SRC_DIR = ./src

SRCS = $(wildcard $(SRC_DIR)/*.cc))

 

경우, ./src/foo.cc     ./src/bar.cc     ./scr/main.cc

 

 

  • notdir : 앞에 오는 경로를 날려버리고 파일 이름만 깔끔하게 추출해준다.

Example)

더보기

SRC_DIR = ./src

SRCS = $(notdir $(wildcard $(SRC_DIR)/*.cc)))

 

경우, foo.cc     bar.cc     main.cc

 

 

출처:

https://modoocode.com/311

 

씹어먹는 C++ - <19 - 1. Make 사용 가이드 (Makefile 만들기)>

 

modoocode.com

http://korea.gnu.org/manual/4check/make-3.77/ko/make_2.html#SEC5

 

GNU make - Makefile 소개(An Introduction to Makefiles)

Go to the first, previous, next, last section, table of contents. 여러분은 makefile이라고 불리는, make에게 무엇을 할 것인가를 말하는, 파일이 필요하다. 대개 makefile은 make에게 어떤 프로그램을 컴파일하고 링크

korea.gnu.org

https://www.tuwlab.com/ece/27193

 

[Make 튜토리얼] Makefile 예제와 작성 방법 및 기본 패턴 - ECE - TUWLAB

리눅스 환경에서 소스코드를 다운받아서 수동으로 프로그램 설치를 해 보신 분들은 다음 세 줄의 명령어에 매우 익숙할 것입니다. ./configure make sudo make install 근래에는 make 외에 다른 빌드툴들이

www.tuwlab.com

 

+ Recent posts