동캄의 코딩도장

Makefile & make 본문

CS/시스템프로그래밍

Makefile & make

동 캄 2022. 2. 4. 12:41

Makefile

- Compile 방법을 기술 하는 파일 (관련 파일 정보, compile 명령, 실행 파일명 등)
- 여러 파일로 구성된 프로젝트 설정과 비슷한 개념
- 소스코드가 있는 폴더에 위치


Make

- 주어진 Makefile에 따라 compile을 수행하고, 실행파일을 생성
- 최초 컴파일 이후에는, 변경이 있는 파일만 컴파일 함


Makefile이 없다면 

- 각 파일 하나하나 complie하고, linking작업을 해주어야 함
- code 수정시에 실수 발생 가능


Makefile Rule

- Rule block
  <Target>: <Dependencies>
  <Recipe>

- Implicit rules -> 자주 사용되는 규칙을 자동으로 처리 해줌
  (단, Target에 대한 Dependency까지는 명시 할 것)


Makefile variables 예제

- CC=gcc
- CFLAGS = -g Wall
- OBJS= main.o foo.o bar.o
- TARGET = app.out
이라고 한다면,

$(TARGET):$(OBJS)
  $(CC) -o $@ $(OBJS) # $@ (자동으로 target name을 자동으로채워줌)


Clean Rules

-Build로 생성된 파일들을 삭제하는 규칙
- Clean build를 위해 사용 가능

clean:
rm -f *.o
rm -f $(TARGET)





'CS > 시스템프로그래밍' 카테고리의 다른 글

FILE I/O [2]  (0) 2022.02.04
FILE I/O [1]  (0) 2022.02.04
파일 개요& 기본 명령어  (0) 2022.02.04
VI editor 사용법  (0) 2022.02.04
Unix/ Linux 기본 명령어  (0) 2022.02.04