First, I'm using Cygwin on a Windows machine with GNU Make 3.81. I have a
feeling this particular problem is not platform dependent so I'm asking
here.
I've setup the make to take advantage of the compiler's ability to accept
multiple input files in a single invocation. The reason for this is to
reduce the load on our license server and reduce compile times. I did this
with the following:
$(LIBNAME) :: $(CFILES)
$(CC) -c $(CFLAGS) $(CPPFLAGS) $?
OBJFILENAMES = $(patsubst %.c,%.o,$(CFILES))
$(LIBNAME) :: $(OBJFILENAMES)
$(AR) $(ARFLAGS) ./$(OBJFILE)/$(@F) $^
Where CFILES is a space delimited list of source files ending in .C. Make
happily runs our compiler "armcc" with multiple files. (It's fun to see it
compile over a hundred files at once). But then, Make gets to run the
archiver "armar" and reports something like this:
make[2]: Warning: File `foo.o' has modification time 0.43 s in the future
and then when exiting the submake it reports:
make[2]: warning: Clock skew detected. Your build may be incomplete.
As far as I can tell, this creates no actual build problems, but it is
annoying and can mask true build errors with spam. Any advice on how I can
avoid getting this error? Perhaps something with .LOW_RESOLUTION_TIME?
Is your CMOS battery dead / dying on the local machine or are the files being modified on a high latency network share?
-Garrett