리눅스에서 c파일을 컴파일하다보면 여러개를 계속해서 해줘야하는 불편함을 느껴 본적 있을 텐데요.

그럴때 쓰는 것이 MAKE파일입니다.

MAKE는 소스 프로그램 하나씩 수작업으로 처리하는 번거로움을 줄여주는 것으로 자동적으로 재컴파일 하고 

링크해주는 것입니다.

make도구를 이용할 때 가장 중요한 파일은 Makefile 인데 이것을 작성하는 규칙은 아래와 같습니다.


대상(TARGET)...:의존하는 파일들(PREREQUISTITES).......

명령(COMMAND)

....

....

....

만약 소스 및 생성 파일이 아래와 같은 의존관계를 가지고 있으면

의존관계는 이렇게 표현할수 있습니다.

foobar : main.o foo.o bar.o

main.o : main.c

foo.o : foo.c

bar.o : bar.c

그럼 이걸 이용하여 makefile을 만들어 볼까요?

foobar : main.o foo.o bar.o

gcc -o foobar main.o foo.o bar.o

main.o : main.c

gcc -c main.c

foo.o : foo.c

gcc -c foo.c

bar.o : bar.c

gcc -c bar.c

clean : //이 명령어를 실행하려면 터미널에 make clean를 입력하면 됩니다.

rm -f foobar main.o foo.o bar.o


만든 make파일을 실행하려면 터미널에 make라고 입력해주면 컴파일이 자동으로 됩니다.


+ Recent posts