%% Warren L Dodge <[EMAIL PROTECTED]> writes: wld> We are having a problem with GNU Make 3.80 on our Solaris 8 wld> system. When using the same verion of GNU Make on a GNU Linux wld> system if works fine.
wld> It was pointed out to me that an old copy of GNU make-3.70 worked wld> fine. Indeed it does. I took the source for the 3.70 and comiled wld> them the same way I have done the 3.80. The make-3.70 still works wld> as expected. I suspect the problem is because your Solaris filesystem is supporting sub-second timestamps, and your Linux filesystem is not. GNU make, starting with 3.79 or something like that, will recognize subsecond timestamps on those systems that support it. Let's look: wld> %.db: orig/%.db wld> @echo 'Importing $<' wld> /bin/cp -p $< . wld> gmake all wld> Importing orig/file.db wld> /bin/cp -p orig/file.db . Here, let's suppose that the timestamp on orig/file.db was 100.5. After the cp -p, the timestamp would be only 100, because "cp -p" (and tar, and other methods of copying files that preserve timestamps) don't preserve the sub-second parts. So now the timestamp of file.db is 100 and the timestamp of orig/file.db is 100.5, which is newer, so: wld> gmake all wld> Importing orig/file.db wld> /bin/cp -p orig/file.db . Make copies it again. You don't say what happens if you run it a third time though: does make keep copying it? Or stop? You can look up the pseudo-target .LOW_RESOLUTION_TIME in the GNU make manual for more information. HTH! -- ------------------------------------------------------------------------------- Paul D. Smith <[EMAIL PROTECTED]> Find some GNU make tips at: http://www.gnu.org http://make.paulandlesley.org "Please remain calm...I may be mad, but I am a professional." --Mad Scientist _______________________________________________ Bug-make mailing list [email protected] http://lists.gnu.org/mailman/listinfo/bug-make
