Anon Loli <anonl...@autistici.org> writes: > > (my last email on this thread, about datetime "version check" is needed to > understand the meaning of this) > or make(1) can handle this when say building /usr/src, it can check datetime > of > the source files (.c, .h), and then the datetime of object files (.o).. now > there might be a confusion between CVS repository datetime and local host > time, so perhaps convert everything to UTC unixtime, and perhaps CVS should > handle the differential between CVS and local datetime (if needed at all) > > And voila, that should handle object files so that they can't get outdated.
it is basically what make(1) program tries to do. but it doesn't cover 100% cases. it works for files headers in /usr/include, but it will not work for changes in the compiler (or in programs used by the compiler). following all the dependency chain is a hard problem when considering the OS level. in such cases, a full rebuild is need. if you build things in /usr/src/sys/arch/amd64/compile/GENERIC.MP, make will properly build only what needs to be rebuild to get a new kernel with your changes. but the 'make config' stage will sometimes told you to run a 'make clean'. Regards. -- Sebastien Marie