[완료]GNU Makefile 관련 질문입니다.
글쓴이: jazzsir / 작성시간: 화, 2012/05/22 - 11:36오전
질문1)
아래는 Makefile 시작하는 부분에 나옵니다.
ifeq ($(FORCE),) .config scripts/config/conf scripts/config/mconf: tmp/.prereq-build endif
타겟이 여러개고 종속항목이 하나인 경우인가요?
무슨 의미인지 어떨때 사용하는지 궁금합니다.
질문2)
그리고 아래 타겟은 무슨 의미인가요?
%::
질문3)
empty:= space:= $(empty) $(empty) _SINGLE=export MAKEFLAGS=$(space); . . . $(_SINGLE)$(MAKE) -j1 -r -s -f include/scan.mk . . . . . . . . .
여기서 _SINGLE은 뭘 의미 하는것인지요???
Forums:
음 ..
1) 은 여러 타겟이 동일한 디펜던시나 공통의 실행부를 가졌을 때 저렇게 묶어서 쓸 수 있습니다.
대충 이런식으로..
2) 는 문자 그대로 make 를 실행하기 전에 make 에 필요한 환경 변수를 export 해 주는 것 같군요.
위 구문대로라면 MAKEFLAGS 를 그냥 클리어 시키겠네요.
$ export MAKEFLAGS= ; make -j1 -r ..
이런식으로 ..
되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』
매전 이렇게 답글 달아 주셔서 대단히
매전 이렇게 답글 달아 주셔서 대단히 감사합니다.
3번에 export가 있었군요. 내가 적어놓고도 몰랐네요. ㅎㅎㅎ
근데 2번에 질분드린
"%::" 이 타겟은 뭘 의미하는것인지요??
shell 에서 사용하는 '*' 과 목적및 사용법이
shell 에서 사용하는 '*' 과 목적및 사용법이 비슷합니다.
음 ..
2 번이 있었는데 못 보고 엉뚱한 번호를 달았네요.
%:: 는 bushi 님 말씀대로 wildcard 입니다. target 이 정의되어 있지 않은 경우에는, 최종적으로 이 놈이 처리합니다.
http://www.gnu.org/software/make/manual/make.html#Last-Resort
10.6 Defining Last-Resort Default Rules
되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』
와우!! 감사합니다~~ ^^
와우!! 감사합니다~~ ^^
댓글 달기