2009-07-28 11 views
8

私は1つのautotoolsベースのプロジェクトを掘り下げようとしています。私はそれの小さな部分、サブディレクトリに取り組んでいます。そして、この小さな部分の中にファイルやディレクトリを追加/移動/削除する必要があります。./configureを実行せずに.Ploファイルを再生成

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

答えて

9

たぶん、答えは少し遅れている...

は、私はあなたのpath/to/my/partをきれいにし、あなたの質問に記載されているコマンドでMakefileを再生すると仮定します。その後

の依存関係のためのMakefileを照会し、空の偽のファイルを生成するために、古い依存関係や

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

を削除する

rm .deps/* 

を実行します。今

make 

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

注:DEPDIRはデフォルト(.deps)に設定されており、Makefile.amにはincludeという指令はありません。ただし、これを変更するのは簡単です。

関連する問題