C++ 拡張機能を含む python パッケージを開発しています。setup.py スクリプトまたは pip を使用してパッケージをインストールすると、C++ ソース ファイルがすべてコンパイルおよびリンクされ、1 つの .so ライブラリが取得されます。このライブラリは、Python ソース コードにインポートできます。開発中、ソース コードに複数の変更 (テスト、デバッグなど) を加える必要があります。パッケージを再インストールすると、1 つのファイルのほんの一部が変更されたとしても、すべての C++ ソース ファイルを再構築する必要があることがわかりました。明らかに、これにはかなりの時間がかかります。
ソースファイルへのリンクを配置する開発モード (python setup.py develop または pip install -e) を認識しているため、モジュールが再インポートされたときに変更がすぐに表示されます。ただし、これは .py ソース ファイルにのみ適用され、変更のたびに再コンパイルする必要がある C++ 拡張子には適用されません。
setup.py がビルド ディレクトリ内の .o ファイルを (開発モードで) 見て、それらのタイムスタンプを使用して、再コンパイルが必要なものを特定する方法はありますか? GNU Make がタイムスタンプに基づいて選択的コンパイルを実行する方法を考えています。ありがとう