FreeBSD 11-CURRENT で .depend を削除して速くなった2015年10月07日 11時42分54秒

buildworld の二回目に全てが作り直される動作は修正された。

しかし、手元での CURRENT-11 の buildworld を眺めていると、legacy と toolchain のターゲットのところで、clang は必ず、それ以外にもいくつかのプログラムもほぼ必ず再構築されていた。svn update を行っていない時でも、clang がこの二つのステージで作り直されるのはおかしい。

/usr/src/Makefile と /usr/src/Makefile.inc。それに /usr/src/share/mk/ のファイルを目を通すが明示的にコンパイルを引き起こす様な記述はない。そうなると、依存関係が怪しいと言うことになる。そこで、/usr/obj/usr/srcc/tmp 以下の .depend の日付を見ると八月中旬の物になっている。

% find /usr/obj/usr/src/tmp -name .depend -ls
% find /usr/obj/usr/src/tmp -name .depend | xargs rm
そこで、一旦削除して buildworld を行った。今回は clang が再構築されない。Makefile を見ていても tmp 以下の ブートストラップの .depend は作り直されないようで、時おり掃除してやる必要がありそうだ。