2017-11-14 23 views
0

테스트 데이터는 두 개의 폴더로 구성됩니다.dist_pkgdata_DATA를 사용할 때 데이터 파일 접두어를 보존 하시겠습니까?

dist_pkgdata_DATA = \ 
    $(testdata_FILES) \ 
    $(testvector_FILES) 

testdata_FILES = \ 
    TestData/a.dat TestData/b.dat \ 
    ... 

testvector_FILES = \ 
    TestVectors/x.vec TestVectors/y.vec \ 
    ... 

Automake가이 @[email protected]/@[email protected]/에서 그들을 설치하지만 우리는 설치시 TestDataTestVectors 접두사를 잃게 :

- TestData 
    | 
    + a.dat 
    + b.dat 
    + ... 

- TestVector 
    | 
    + x.vec 
    + y.vec 
    + ... 

Our Makefile.am이있다 : 우리는 데이터의 형태에 따라 TestData/TestVectors/ 있습니다. 즉, 한 번 설치, 모든 파일이 함께 집중됩니다

- @[email protected]/@[email protected]/ 
    | 
    + a.dat 
    + b.dat 
    + ... 
    + x.vec 
    + y.vec 
    + ... 

Install arbitrary data files in arbitrary locations with Automake?에서 매우 비슷한 질문입니다,하지만 난 아주 예상대로 make install 작동을 보장하기 위해 수행해야 할 것을 다음 있지 않다.

제 질문은 설치하는 동안 접두사 TestData 또는 TestVectors을 어떻게 보존합니까?

답변

3

이것은 접두어 nobase가 발명 된 이유입니다. 이름은 "기본 이름을 부르지 말라"의 약자과 같이 사용됩니다 :이 나열된 파일이 설치 트리에서 자신의 디렉토리 이름을 유지 초래한다

nobase_dist_pkgdata_DATA = \ 
    $(testdata_FILES) \ 
    $(testvector_FILES) 

.

+0

대단히 감사합니다. – jww

1

제 질문은 설치하는 동안 TestData 또는 TestVectors의 접두어를 어떻게 보존합니까?

일반적으로 Automake는 각 대상의 기본 이름을 계산하고이를 설치시에 사용하여 지정된 디렉토리에 직접 파일을 기록합니다. 대상 이름이 설치된 이미지로 전달하고자하는 디렉토리 접두어를 포함하고 있다면 관련된 타겟 변수에 접두사 nobase_을 사용하여 Automake에 알릴 수 있습니다. 이것은 dist_과 같은 다른 접두사와 결합 될 수 있습니다. 예를 들어, 일반

nobase_dist_pkgdata_DATA = \ 
    $(testdata_FILES) \ 
    $(testvector_FILES) 

접두사 section 3.3 of the Automake manual에서 설명되고, 특히 nobase_section 12.1 of the Automake manual에 설명된다.

+0

아, 고마워. 필자는 [3.3 The Uniform Naming Scheme] (https://www.gnu.org/software/automake/manual/html_node/Uniform.html)을 사용하여 [8.4 프로그램 및 라이브러리 변수] (https : // www. gnu.org/software/automake/manual/html_node/Program-and-Library-Variables.html#Program-and-Library-Variables). 불행하게도'nobase_'와 같은 것들은 3.3이 우리에게 거기에 가라고 말하더라도 8.4에 문서화되어 있지 않습니다. 아 ... – jww

+0

다시 한번 @ 존. 그것을 위해 그것을 고정. – jww