私はたくさんのファイルを含むPython拡張モジュールに取り組んできました。1台のマシンでビルドしている間python setup.py build
、変更されたファイルを問題なく検出し、それらのファイルだけをビルドして、makeと同じようにすべてをリンクします。ただし、別のマシンでは、ファイルを1回変更すると、すべてのソースの再コンパイルがトリガーされます。
ただ明確にします。どちらのマシンも、パッケージが最新であることを検出し、何もしません。単一のファイルが変更された場合にのみ、それらの動作が分岐します。
2番目のマシンがこれを実行しているのはなぜですか?
マシン1(ファイルごとの適切な依存関係のチェックとビルドを実行します。)
Python 2.6.4 (r264:75706, Feb 15 2010, 17:06:03)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-44)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
setuptools-0.6c11-py2.6
LSB Version: :core-3.1-amd64:core-3.1-ia32:core-3.1-noarch:graphics-3.1-amd64:graphics-3.1-ia32:graphics-3.1-noarch
Distributor ID: CentOS
Description: CentOS release 5.4 (Final)
Release: 5.4
Codename: Final
マシン2(単一のソースファイルが変更されたときにすべてを再構築します。)
Python 2.6.5 (r265:79063, Apr 16 2010, 13:57:41)
[GCC 4.4.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
setuptools-0.6c11-py2.6
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 10.04 LTS
Release: 10.04
Codename: lucid