재귀 적 make 호출에 의해 -w 플래그가 설정되지 않은 상태에서 makefile을 실행하고 싶습니다. 플래그는 make 명령 행에서 --no-print-directory입니다.Makefile 자체에서 --no-print-directory를 지정하는 방법
해당 플래그를 메이크 파일 자체 내에 지정할 수 있습니까?
나는 당신이 호출 메이크의 .SILENT:
특별 대상을 포함 할 수
$(if $(VERBOSE),,MAKEFLAGS += no-print-directory))
감사처럼 아마도 뭔가하는 상세 모드에서이 플래그를 의존 댄
나 교육 제발, 왜? – dbbd
이것은 [변수 할당] (http://www.gnu.org/software/make/manual/make.html#Setting)이 확장 내에서 발생할 수 없기 때문입니다.이 확장은 [How Make parses makefiles] (http://www.gnu.org/software/make/manual/make.html#Makefile-Contents). 변수 할당 (또는 규칙 정의와 같은 다른 것)을 확장 가능한 코드 ('$ (if ...) ')에 포함시키는 유일한 방법은 ['eval']입니다 (http://www.gnu.org/ 소프트웨어/make/manual/make.html # Eval-Function) 기능. 그러나 특히 간단한 경우 조건부 지시문은'eval'보다 더 깔끔하고 명확합니다. –
아, 물론 조건부 함수를 변수 할당에'MAKEFLAGS + = $ ($ VERBOSE 경우) - - no-print-directory)'와 같이 넣을 수 있습니다. 여기서 할당은 무조건 수행되지만 'VERBOSE'가 정의되어 있지 않거나 비어있는 경우 실제로 아무것도 변수에 추가되지 않습니다. –