2012-05-12 2 views
0

내가

brickval_SOURCES = \ 
    $(brickval_VALASOURCES:.vala=.c) \ 
    $(brickval_VALASOURCES:.vala=.h) 

모든 것이 here

인 automake는 스크립트에 다음 줄을 발견 나는 실제로, brickval_VALASOURCES 다음 .c로 .vala 대체 확장 않는 것과 같은 아주 좋은 생각을 가지고

, 이전의 경험으로 인하여 나는 이것이 어떤 종류의 매뉴얼에서 정확히 무엇을하는지 실제로 읽고 싶습니다. autoconf, automake, shell 매뉴얼을 살펴 봤는데 아무 것도 찾지 못했습니다. 나는 또한 Google 검색을 시도했지만 좋은 검색 용어를 생각하기가 어렵습니다.

+0

맞춰보세요. – JimR

답변

1

GNU make 또는 다른 make 설명서를 참조하십시오. automake 프로그램은 make가 빌드 머신에 설치되는 모든 것에 기능을 추가합니다.

1

이 기능은 POSIX 호환 make 구현에서 사용할 수 있으며 Automake에서 지원합니다. in the POSIX specs (검색 subst1)에 대해 읽을 수 있습니다.

+0

나는 이것이 Automake에 의해 지원되는 것에 대해서는 동의하지 않습니다. Automake는 brickval_SOURCES를보고 배포판에 포함시킬 파일 목록을 생성한다. 이 파일이 포함되어 있지 않으면 nodist_brickval_SOURCES로 나열되고 BUILT_SOURCES에 언급되어야합니다. 분산되어 있다면 * 아마도 * brickval_SOURCES를이 방법으로 설명하는 것은 괜찮지 만 확실히 우스운 냄새가 난다. 최선의 방법은 파일을 명시 적으로 나열하는 것입니다. –

+0

+1은 POSIX 준수를 언급하고 autotool의 질문은 많은 표를 얻지 못하는 것 같습니다. 몇몇 꼬리표는 가장 가벼운 응답을위한 +20 upvotes를 얻는 것을 보인다! –

+0

@William : 그것은 (1) Automake가이 구문을 이해하고 (2) il은'* .c '파일과'* .h'파일을' brickval_VALASOURCES'를 컴파일하고 올바른 컴파일러로 컴파일하십시오. 이것은 많은 테스트 케이스가 뒷받침되는 Automake의 실제 기능이며 구현하기 쉽지 않은데 운이 좋지 않습니다. 이 구문은 실제로 확장자 만 다른 여러 파일 세트를 나열하지 않으려는 경우에 유용합니다. – adl

0

기능에 대한 전체 설명은 대체 참조라는 GNU Make Manual의 6.3.1 절을 참조하십시오.