2011-07-28 2 views
9

다음과 같은 구조의 Makefile이 있습니다 (작업 예)."make"와 "make all"의 차이점은 무엇입니까?

.PHONY: image flashcard put-files 

put-files: 
    @echo "=== put-files" 

image: 
    @echo "=== image" 

flashcard: 
    @echo "=== flashcard" 

all: put-files image flashcard 
    @echo "Done" 

나는 간단한 make이 세 가지 목표를 구축 할 것이라고 기대하지만 그렇게되지 않습니다 :

% make 
=== put-files 

하지만 명시 적으로 대상을 지정하는 경우, 의존성도 내장되어 있습니다 :

% make all 
=== put-files 
=== image 
=== flashcard 
Done 

내가 뭘 잘못하고 있니?

답변

11

make은 목록에서 첫 번째 대상을 작성합니다 (put-files).

make allall입니다. all을 기본값으로 사용하려면 목록의 맨 위로 이동하십시오.

에서, .PHONY이 무엇을 이해 http://www.gnu.org/s/hello/manual/make/Phony-Targets.html

+0

네 말이 맞아 보려면, 내 문제는 내가 어떻게 든 기본 목표는 ("모든") 이름에 의해 선택되는 것을 생각하는 것이, 대신의 위치에 의해이었다. 고마워요! –

관련 문제