프로그램 사용/make, configure
makefile 정렬하기
구차니
2010. 3. 31. 09:25
make를 이용하여 컴파일할 소스들의 목록을 작성할때
위와 같이 OBJS에 += 로 계속 더해나가다 보면
raw.o 가 여러개 붙어지고, 이 상태로 컴파일을 하면 symbol들이 중복되어
Function funcname() is deprecated in path/filename.ext on line 00
이런식으로 에러를 발생한다.
이를 간편하게 해결하기 위해서는 sort를 이용하면 된다.
sort는 중복된 내용을 제거해주는 역활도 한다.
[링크 : http://www.gnu.org/software/make/manual/make.html#Text-Functions]
[링크 : http://korea.gnu.org/manual/4check/make-3.77/ko/make_8.html#SEC76]
# cat Makefile OBJS-$(CONFIG_AAC_DEMUXER) += raw.o id3v1.o id3v2.o OBJS-$(CONFIG_AC3_DEMUXER) += raw.o OBJS-$(CONFIG_AC3_MUXER) += raw.o |
위와 같이 OBJS에 += 로 계속 더해나가다 보면
raw.o 가 여러개 붙어지고, 이 상태로 컴파일을 하면 symbol들이 중복되어
Function funcname() is deprecated in path/filename.ext on line 00
이런식으로 에러를 발생한다.
이를 간편하게 해결하기 위해서는 sort를 이용하면 된다.
sort는 중복된 내용을 제거해주는 역활도 한다.
$(sort list) Sorts the words of list in lexical order, removing duplicate words. The output is a list of words separated by single spaces. Thus, $(sort foo bar lose) returns the value `bar foo lose'. Incidentally, since sort removes duplicate words, you can use it for this purpose even if you don't care about the sort order. |
[링크 : http://www.gnu.org/software/make/manual/make.html#Text-Functions]
[링크 : http://korea.gnu.org/manual/4check/make-3.77/ko/make_8.html#SEC76]