名前に空白を含むファイルを使用するようにautomakeに指示するにはどうすればよいですか?これはうまくいかないようです。
bin_PROGRAMS = prog
prog_SOURCES = "a file.c" "another file.c"
できません。(驚いたことに、これは私の意見ではAutomakeの唯一の非常に深刻な障害ですが、人々はそれについて文句を言うことはほとんどありません。)
私はかつて、名前にスペースが含まれるデータファイルをインストールすることを回避しました。ソースツリー内のファイルの名前を変更してスペースを含まないようにしてから、のスペースのある名前に名前を変更しましたinstall-data-hook
。(リンク)
しかし、それはあなたの問題とは関係がなく、私の答えはまだです:あなたはできません。私の知る限り、これprog_SOURCES
は単なるシェル変数です。確かに特別な名前が付けられていますが、Automakeがそれを見つけると、スペースで区切るだけです。スペースは、エスケープ、引用符、プレーンのいずれであっても、スペースです。彼らはあなたがスペースを逃れることができるようにそれを設計するべきでした、しかしそれが広範囲のAutomakeの破損を引き起こすであろうので、彼らは今それを変えないと確信しています。
それを回避する1つの方法は、非常に不格好ですが、ファイルの2つのコピーをソースに保存することです。
another file.ext
another_file.ext
その後、
EXTRA_DIST = another_file.ext
dist-hook:
cp $(distdir)/another_file.ext "$(distdir)/another file.ext"
スペースを入れてファイルを配布することができますが、スペースを置き換えてファイルを保持し、ファイルが同期していることを確認する必要があります(そしてこの事実を他の人に示します)。
ただし、間隔を空けたファイルが必要な非常に奇妙なケースがない限り、ほとんどの場合、スペースなしでファイルの名前を変更する方が便利です。