[Makefile이 뭐야]
먼저 make라는 툴이 있는데요.
make는 프로그램을 빌드할 때 리눅스에서 주로 쓰는 자동화 도구입니다.
그리고 그 make 전용의 표준 문법이라는 것으로 빌드 과정을 서술하는 파일이 Makefile이에요.
개발중인 프로그램의 작업 디렉토리에 Makefile이라는 파일명을 하는 스크립트를 저장해 두면,
편리하게도 make가 그것을 해석해서 자동으로 빌드를 수행하도록 할 수 있습니다.
그밖에 추가적으로, 컴파일 언어로 작성된 프로그램의 빌드에 관해서는, 다음 글을 참고해 주세요.
2018/08/25 - [잡담] - 컴퓨터 프로그램의 컴파일과 링킹과 객체지향
[Makefile의 작성법 정리]
Makefile 문법을 떠올리는 데에는, 장황하고 지리멸렬한 설명은 필요가 없습니다. (!)
거두절미하고 바로 예제를 보는 것이 가장 명료한 해설이 될 것입니다.
[Makefile 예제]
CC = gcc
CFLAGS = -W -Wall
TARGET = paint
$(TARGET): main.o event.o drawing.o ipc.o
$(CC) $(CFLAGS) -o $(TARGET) main.o event.o drawing.o ipc.o -lX11 -lpthread
rm *.o
./$(TARGET)
drawing.o: drawing.c
$(CC) $(CFLAGS) -c -o drawing.o drawing.c -lX11 -lpthread
event.o: event.c
$(CC) $(CFLAGS) -c -o event.o event.c -lX11 -lpthread
ipc.o: ipc.c
$(CC) $(CFLAGS) -c -o ipc.o ipc.c -lX11 -lpthread
main.o: main.c
$(CC) $(CFLAGS) -c -o main.o main.c -lX11 -lpthread
clean:
rm *.o $(TARGET)