본문 바로가기
Study/Linux

Linux 간단한 Makefile

by Melpin 2015. 11. 20.

리눅스에서 컴파일할때 항상 gcc -i a.out a.c 커맨드를 입력했지만,

프로그램규모가 커질수록 필요한 소스파일을 하나씩 입력하는것이 점점 버거워질것이다.

이때 필요한것이 Makefile인대

Makefile을 읽어들여서 알아서 컴파일해주게 된다.


Makefile 에 대한 설명


1. $@ 목적파일의 이름을 나타낸다

2. $< 소스파일 한가지를 나타낸다.

3. $^ 소스파일 전체를 나타낸다.

4. 최상단에는 최종프로그램의 이름을 'all:'과 함께 넣는다.


ex) main.c와 foo.c를 컴파일해주는 Makefile


  1. all: hello_world

  2. hello_world: main.o foo.o
  3.         gcc -$@ $^
  4.  
  5. main.o: main.c
  6.         gcc -$@ $<
  7.  
  8. foo.o: foo.c
  9.         gcc -$@ $<
  10.  
  11. clean:
  12.         rm -rf *.o hello_world


make키워드를 입력할 때는 해당디렉토리에 Makefile이 있어야한다.

make를 입력하면 위의 명령들을 자동으로 수행해주고 결과파일들을 만들어준다.


make clean키워드를 입력하면

clean: 부분에 있는 명령을 통해 필요없는 오브젝트파일들을 모두지우거나, 목적프로그램을 지울 수 있다.


Makefile을 이용하면 리눅스에서도 간단한 과정을 통해 프로그램을 빌드할 수 있을것이다.


위의 Makefile을 사용하기위한 예제이다.


make example.zip


댓글