@ make utility
: make는 Linux에서 대량의 소스를 쉽고 효율적으로 컴파일하기 위한 툴임
@ make grammar
[target] : [dependencies]
[tab][command]
@ makefile (or Makefile)
# this is a comment
test: test1.o test2.o test3.o
gcc -o test \
test1.o test2.o test3.o
test1.o: test1.c a.h
gcc -c test1.c
test2.o: test2.c a.h b.h
gcc -c test2.c
test3.o: test3.c b.h c.h
gcc -c test3.c
# phony target, make utility regards it as what to be up-to-date (NO execute!)
clean:
rm test1.o test2.o test3.o
@ Examples
# make test
gcc -c test1.c
gcc -c test2.c
gcc -c test3.c
gcc -o test test1.o test2.o test3.o
# make test
make: `test'는 이미 갱신되었습니다.
# make clean
rm test1.o test2.o test3.o
: make는 Linux에서 대량의 소스를 쉽고 효율적으로 컴파일하기 위한 툴임
@ make grammar
[target] : [dependencies]
[tab][command]
@ makefile (or Makefile)
# this is a comment
test: test1.o test2.o test3.o
gcc -o test \
test1.o test2.o test3.o
test1.o: test1.c a.h
gcc -c test1.c
test2.o: test2.c a.h b.h
gcc -c test2.c
test3.o: test3.c b.h c.h
gcc -c test3.c
# phony target, make utility regards it as what to be up-to-date (NO execute!)
clean:
rm test1.o test2.o test3.o
@ Examples
# make test
gcc -c test1.c
gcc -c test2.c
gcc -c test3.c
gcc -o test test1.o test2.o test3.o
# make test
make: `test'는 이미 갱신되었습니다.
# make clean
rm test1.o test2.o test3.o
# make clean
rm test1.o test2.o test3.o
rm: `test1.o'를 지울 수 없음: 그런 파일이나 디렉터리가 없습니다
rm: `test2.o'를 지울 수 없음: 그런 파일이나 디렉터리가 없습니다
rm: `test3.o'를 지울 수 없음: 그런 파일이나 디렉터리가 없습니다
make: *** [clean] 오류 1
# make test1.o // partial make
gcc -c test1.c
# make test2.o
gcc -c test2.c
# make test3.o
gcc -c test3.c
# make test
gcc -o test test1.o test2.o test3.o
No comments:
Post a Comment