2014-05-20 3 views
3

".MAKE"는 AutoMake를 사용하는 여러 패키지의 gnu Makefile에 나타나지만 온라인 설명서에서 "특별"대상으로 문서화되지 않은 것으로 보입니다. 누구는 그것이 무엇을하는지 압니까?gnu make에서 ".MAKE"대상은 무엇입니까?

답변

4

이 대상은 그 자체로 아무 것도하지 않습니다. 내가 아는 make에는 특별한 의미가 없습니다.

그러나 프로젝트가 GNU Automake를 사용할 때 자동으로 생성됩니다. Automake는 파일 인 which ./configure will use to generate Makefiles을 만듭니다.

the targets in the documentation 사이에 나열되지 않은 : 생성 된 Makefile.in 쇼에서 자사의 정의로, 단지 개발자가 필요합니다 : 두 변수가 Makefile.in 다른 곳에서 정의 된

.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all check-am \ 
    ctags-recursive install-am install-strip tags-recursive 

, 그것은 그이 목표 것 나타납니다 소스 트리 정리, 소프트웨어 컴파일, 자동 테스트 실행, 설치, 제거, 개발자에게만 유용한 몇 가지 단계 등 모든 작업을 완벽하게 수행하려고 시도합니다. 따라서 이것은 기본적으로 연속 빌드 테스트 중에 사용될 수있는 원샷 테스트 실행입니다.

automake 제작 한 이유에 대한 명확한 예는 다음과 같습니다 훨씬 - 원하는 기능은, 그래서 automake 그것을 제공합니다 ("모든 일"을 만들기 위해 '즉 능력) make에서 누락되었습니다.

+0

감사합니다. 아마도 AutoMake 도구 (./configure, Makefile.in 등)를 사용하는 패키지에서 .PHONY 대상 (문서화 됨) 옆에 규칙적으로 표시되는 것 같습니다. 특정 예제를 선택하려면 wireshark-1.10.6 Makefile을 참조하십시오. 필자는 자동 구성 및 자동 작성에 의존하는 하나 이상의 오픈 소스 프로젝트에서이 파일을 보았습니다. – Kevin

+0

아하! GNU make 4.0 소스 코드에서 .MAKE를 grepping하여 확인했습니다. 이것은'automake' 명령 ('Makefile.in')에 의해 생성 된 파일과 그 파일 ('Makefile')에서 생성 된 파일에서만 발생합니다. 내 대답을 고정 ... – reinierpost

+0

완벽 - 고마워! – Kevin

관련 문제