9

私は 1 つの autotools ベースのプロジェクトを掘り下げようとしていますが、実際にはかなり大きなものです。私はその小さな部分、サブディレクトリに取り組んでいます。そして、この小さな部分内でファイルとディレクトリを常に追加/移動/削除する必要があります。

毎回最上位で ./configure を実行すると、時間がかかるだけでなく、オブジェクト ツリー全体が無効になります (用語については申し訳ありませんが、私はこれが初めてです)。そこで、(automake path/to/my/part を実行して) Makefile.in から Makefile.in を再生成する方法を見つけ、ビルド ツリーで Makefile.in から Makefile を再生成する方法を (./config.status を実行して) 見つけましたパス/to/my/part)。しかし、まだ理解できないことがあります: すべての依存関係ファイル (ビルド ツリーの各サブディレクトリ内の .deps/*.Plo) を再生成する方法です。実際、 configure を再度実行すると問題は解決します。だから、私の質問は: configure を再度実行せずに依存関係ファイルを再生成する方法は? 前もって感謝します。

4

1 に答える 1

10

多分答えは少し遅いです...

私はあなたがあなたの質問にリストされたコマンドによってあなたをきれいにpath/to/my/partしそして再生したと仮定します。Makefile

次に実行します

rm .deps/*

古い依存関係を削除し、

grep "^include " Makefile | sed -e 's/^include .\///;s/\$(DEPDIR)/.deps/' | xargs touch

Makefileに依存関係を照会し、空の偽のファイルを生成します。今

make

コードをコンパイルし、副作用として依存関係を再生成する必要があります。

注:あなたのDEPDIRはデフォルト(.deps)に設定されており、あなたのにはそれ以上のincludeディレクティブがないと仮定しますMakefile.am。ただし、これを変更するのは簡単です。

于 2010-02-10T07:49:04.450 に答える