Es wird gesagt, dass Scons die MD5-Signatur als Standard-Entscheider verwendet, um zu bestimmen, ob eine Quelldatei erneut kompiliert werden muss. Z.B. Ich habe SConstruct bekam wie folgt:Wenn Sie den Kommentar einer .c-Datei ändern, kompilieren scons ihn noch?
Library('o.c')
Und mein O.C ist:
$ cat o.c
/*commented*/
#include<stdio.h>
int f(){
printf("hello\n");
return 2;
}
Run scons und entfernen Sie die Kommentarzeile, führen scons wieder. Ich erwarte, dass scons sollte es nicht wieder kompilieren, aber es ist eigentlich:
gcc -o o.o -c o.c
scons: done building targets.
Wenn ich SConstruct Datei ändere eine Zeile hinzufügen:
Decider('MD5').
Noch gleiches Ergebnis.
Meine Frage ist: Wie stellt man sicher, dass für Scons, wenn Quellcode Kommentare geändert werden, sie nicht neu gebaut werden?
Danke!