Programming/Linux(Unix)
(7/31)GNU make
부풍
2009. 7. 31. 15:51
규칙만들기.
software도 점점 커지므로, 필요한부분만 재컴파일 되야..
make는 3가지 요소로 구성
- Target : command를 통해서 생성되는 최종 결과물이름
gcc -c a.c 였으면 a.o
- dependency : 파일들의 리스트가 들어감. 이 파일들 중에 하나라도 수정이 되면 이 타겟에 의해 새로 만들어야 함.
- command : command앞에는 반드시 TAB
touch :
make가 a.o나 의존성있는 a.c a.h등의 파일들을 비교해서 a.o가 과거면 바뀌었다. 새로 컴파일 해야지.
makefile 또는 Makefile => make만 치면 됨
make 화일이 위의 기본 이름이 아니라면 make -f ~~~ 로 알려줘야 함
make는 기본적으로 맨 위에 작성되있는놈을 타겟으로 생각한다. (p.610)
최종 타겟 원하는대로 할시에
1. (makefile vi로 작성시 맨위에 더미로 만들어줘도 되고) (p.611)
2. make ( ) => ()를 최종타겟으로 생각
ex) main: sum.o main.o
=> sum.o: 이 규칙이 없고 sum.o파일이 없으면
.c.o: => 얘를 통해 .c파일이 있으면 .o로 만들어준다. (보통 기본설정 되있음)
.c.o:
gcc -c $<
확장자 규칙
ex) .c.o => .c 파일을 .o파일로..
make에서 command의 결과물이 아닐떄 Lable(레이블)이라 부른다. (p.619)
확장자 규칙
ex) .c.o => .c 파일을 .o파일로..
make에서 command의 결과물이 아닐떄 Lable(레이블)이라 부른다. (p.619)