Hello,
I believe that I am seeing a problem with the SGI compilers or archive
tool but I doubt that I will receive a response from my note to SGI
support on this issue.
I want to use Gnu make because of its ability to interpret constructs
such as:
moc_%.C: %.h
$(MOC) $? -o $@
that SGI's make cannot handle. However, I am getting clock skews as
I try to check and add objects to archives. It only occurs when I
check for an object that does not exist in the archives. As I started
to type this I realized that I am using SGI's ar command and not Gnu's.
I'll also try it. To reproduce the problem, do the following:
Create two empty files say "spam.C" and "test.C". Run "make test" with
the following make file. On Linux you will need to change "CC" to "gcc"
and the "CC -ar -o $@ $*.o" to "ar -r $@ $*.o".
#===================================================
LIBRULES = libtest.a(spam.o) libtest.a(blat.o)
LIBNAME = libtest.a
test:
$(MAKE) $(LIBNAME) "LIBNAME=$(LIBNAME)"
$(LIBNAME): $(LIBRULES)
@echo "$(LIBRULES)"
@echo $(LIBNAME) is up-to-date.
.C.a:
CC -c $<
CC -ar -o $@ $*.o
rm -rf *.o
#===================================================
On IRIX, the first file builds ok ( if the archive does not exist
initially ) but the second does not with a warning:
make[1]: *** Warning: File `libtest.a(blat.o)' has modification time in
the future (2010-02-22 14:41:28.709551616 > 2000-04-18 14:56:57.555739)
libtest.a(spam.o) libtest.a(blat.o)
libtest.a is up-to-date.
make[1]: warning: Clock skew detected. Your build may be incomplete.
As I mentioned, this works fine on Linux (Red Hat 6.1 ) with Gnu make,
ar,
and gcc. It also works on IRIX with SGI's make, ar, and CC. I can get
around the problem currently on IRIX but thought I would bring it to
your
attention.
Scott Herod
[EMAIL PROTECTED]
--
RT-SET Broadcast Graphics Division Voice : 303-465-1556 x122
100 Technology Drive, Suite 100 FAX : 303-465-2012
Broomfield, CO 80021 USA HTTP : www.rtset.com