2010-07-30 8 views
2

에서 파일에 의존? 사실, 나는 그 디렉토리 안에 의존성으로서 파일을 정의 할 필요가있다.메이크 대상은 환경 변수

나는 함께 가고 싶어요 :

target: $(VAR)/file.txt 
    echo yes 

하지만 변수가 정의되지 않은 경우, 대상은 내가 원하지 무엇 인 /file.txt을 이해할 것이다. 또한 변수를 확인하기 위해 test으로 가짜 타겟을 만드는 방법을 생각했지만, 매번 타겟이 실행될 것이므로 결과적으로 target도 마찬가지입니다.

그 해결책은 무엇입니까?

답변

5

당신은 변수가 정의되지 않은 경우 당신이 원하는 행동 말했다하지 않은, 그러나 이것은 당신이 원하는 아마도 :

ifdef VAR 
target: $(VAR)/file.txt 
endif 

target: 
    echo yes 
    @echo and here are the dependencies: $^ 
+1

덕분에, 그게 내가 무슨 필요했다. 사실, 마지막 타겟을 감싸기 위해'else' 절을 사용하기 때문에 make는 타겟을 재정의하는 것에 불평하지 않을 것입니다. – cd1

+0

Make는 불평하지 않고 두 번째 부분을 else 절에 넣으면 트릭이 작동하지 않습니다. 시도 해봐. – Beta