使用 dist_pkgdata_DATA 时保留数据文件前缀?
Preserve data file prefix when using dist_pkgdata_DATA?
我们的测试数据分为两个文件夹。我们有TestData/
和TestVectors/
,取决于数据的形式:
- TestData
|
+ a.dat
+ b.dat
+ ...
- TestVector
|
+ x.vec
+ y.vec
+ ...
dist_pkgdata_DATA = \
$(testdata_FILES) \
$(testvector_FILES)
testdata_FILES = \
TestData/a.dat TestData/b.dat \
...
testvector_FILES = \
TestVectors/x.vec TestVectors/y.vec \
...
Automake 将它们安装在 @datadir@/@PACKAGE@/
中,但我们在安装时丢失了 TestData
和 TestVectors
前缀。也就是说,一旦安装,所有文件都集中在一起:
- @datadir@/@PACKAGE@/
|
+ a.dat
+ b.dat
+ ...
+ x.vec
+ y.vec
+ ...
Install arbitrary data files in arbitrary locations with Automake? 上有一个非常相似的问题,但我不太明白需要做什么才能确保 make install
按预期工作。
我的问题是,我们如何在安装过程中保留 TestData
或 TestVectors
的前缀?
这就是发明 nobase
前缀的目的。该名称代表 "don't call basename" 并且可以像这样使用:
nobase_dist_pkgdata_DATA = \
$(testdata_FILES) \
$(testvector_FILES)
这应该会导致列出的文件在安装树中保留其目录名称。
My question is, how do we preserve the prefix of TestData or TestVectors during install?
通常,Automake 会计算每个目标的基本名称,并在安装时使用它来将文件直接记录在指定目录中。如果目标名称包含要传播到已安装映像的目录前缀,那么您可以通过在相关目标变量上使用 nobase_
前缀来告诉 Automake。这可以与其他前缀组合,例如 dist_
。例如,
nobase_dist_pkgdata_DATA = \
$(testdata_FILES) \
$(testvector_FILES)
section 3.3 of the Automake manual, and nobase_
in particular is detailed in section 12.1 of the Automake manual中描述了一般的前缀。
我们的测试数据分为两个文件夹。我们有TestData/
和TestVectors/
,取决于数据的形式:
- TestData
|
+ a.dat
+ b.dat
+ ...
- TestVector
|
+ x.vec
+ y.vec
+ ...
dist_pkgdata_DATA = \
$(testdata_FILES) \
$(testvector_FILES)
testdata_FILES = \
TestData/a.dat TestData/b.dat \
...
testvector_FILES = \
TestVectors/x.vec TestVectors/y.vec \
...
Automake 将它们安装在 @datadir@/@PACKAGE@/
中,但我们在安装时丢失了 TestData
和 TestVectors
前缀。也就是说,一旦安装,所有文件都集中在一起:
- @datadir@/@PACKAGE@/
|
+ a.dat
+ b.dat
+ ...
+ x.vec
+ y.vec
+ ...
Install arbitrary data files in arbitrary locations with Automake? 上有一个非常相似的问题,但我不太明白需要做什么才能确保 make install
按预期工作。
我的问题是,我们如何在安装过程中保留 TestData
或 TestVectors
的前缀?
这就是发明 nobase
前缀的目的。该名称代表 "don't call basename" 并且可以像这样使用:
nobase_dist_pkgdata_DATA = \
$(testdata_FILES) \
$(testvector_FILES)
这应该会导致列出的文件在安装树中保留其目录名称。
My question is, how do we preserve the prefix of TestData or TestVectors during install?
通常,Automake 会计算每个目标的基本名称,并在安装时使用它来将文件直接记录在指定目录中。如果目标名称包含要传播到已安装映像的目录前缀,那么您可以通过在相关目标变量上使用 nobase_
前缀来告诉 Automake。这可以与其他前缀组合,例如 dist_
。例如,
nobase_dist_pkgdata_DATA = \
$(testdata_FILES) \
$(testvector_FILES)
section 3.3 of the Automake manual, and nobase_
in particular is detailed in section 12.1 of the Automake manual中描述了一般的前缀。