如何告诉automake使用名称中带有空格的文件?这似乎不起作用。
bin_PROGRAMS = prog
prog_SOURCES = "a file.c" "another file.c"
答案 0 :(得分:5)
你做不到。 (令人惊讶的是,在我看来,这是Automake中唯一非常严重的错误,但人们几乎没有抱怨过。)
我曾经使用名称中的空格安装数据文件,通过重命名源树中的文件以使它们没有空格,然后将它们重命名为{{{{{{{ 1}}。 (link)
然而,这与你的问题无关,我的答案仍然是:你做不到。据我所知,install-data-hook
只是一个shell变量。一个特别命名的,当然,但一旦Automake找到它,它只是在空格上分开它。空间是空间,无论它们是逃逸,引用还是平原。他们应该设计它以便你可以逃脱空间,但我相信它们现在不会改变它,因为它会导致广泛的Automake破损。
答案 1 :(得分:0)
围绕它的一种方法,尽管非常笨重,是在源中存储两份文件
another file.ext
another_file.ext
然后使用
EXTRA_DIST = another_file.ext
dist-hook:
cp $(distdir)/another_file.ext "$(distdir)/another file.ext"
您将能够分发包含空格的文件,您仍然需要将文件保留为替换空格,并确保文件同步(并向其他人表明这一事实)。
在大多数情况下,只是重命名没有空格的文件会更方便,除非你有一个非常奇怪的情况需要间隔开的文件。