makeとの違い

どちらも依存関係を張り、その間の処理を記述していくのですが、そこからが思想的に逆なようです。
make は最終出力を示し、それを依存関係を逆にたどりソースファイルまで巻き戻す。その際、ソースまでたどり着けなかったり、巡回したらエラー。
SCons はソースファイルと、最終出力までの変換プロセスを全て示し、その際、処理をスキップできるかどうかを MD5 と、依存情報を元に決定している。つまり、一種のカリングに利用しているに過ぎません。せっかく依存関係を張るための便利な機能が沢山あるのに、基本思想に関しては、make 型の「終着点から勝手にソースまでたどり着く」ではないとは...。ここに関しては、make の方が好きです。同様のビルドツール Cook なんかは、どうなんですかねぇ?