質問

非標準C ++サフィックスファイルの依存関係追跡を自動化するにはどうすればよいですか?特に、.depsディレクトリファイルコンテンツを生成することを意味します。私もLibtoolを使用しています。

ありがとう

役に立ちましたか?

解決

を見てみましょう Automake Manual Regaradingデフォルトのこのセクション _SOURCES. 。言っているように見えます:

bin_PROGRAMS = target
AM_DEFAULT_SOURCE_EXT = .foo

最初のステップを過ぎてしまいます。したがって、自動車は最初の依存関係をどこで探すべきかを知っています(target.foo)、そしてそれはGCCにの依存関係を計算するように求めます target.foo そのファイルに含まれるヘッダーファイル名に基づいています。 GCCは推測されたオブジェクト名を吐き出し、含まれているものを変換します stem.h -> stem.o. 。そして、ここが私が壁にぶつかったところです。 Automakeスクリプトを完全にポータブルにするには、使用することはできません % パターン。 Wallykが彼の答えで示したように、あなたは接尾辞スタッキングを使用する必要があります。

携帯性の要件に応じて、それを無視し、makefile.inの暗黙のルールを次のように定義できます。

%.o : %.foo
    $(CXX) -o $@ -c $(CPPFLAGS) $(CXXFLAGS) $<

移植性が厳格な要件である場合、私はあなたが多くのハッキングなしで運が悪いのではないかと心配しています。

他のヒント

暗黙のルールを追加します。たとえば、コンパイルします *.foo FOOコンパイラを使用したファイル foocc:

.foo.o:
      foocc -c -o $@ $<
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top