Date: Mon, 13 Oct 2014 11:20:18 +0200 From: Matthias Apitz <guru@unixarea.de> To: freebsd-hackers@freebsd.org Subject: gmake && file time precision of 1 second Message-ID: <20141013092018.GA2737@unixarea.DDR.dd>
next in thread | raw e-mail | index | archive | help
Hello, I have a large project where a shell script fires up gmake runs in subdirs as: for dir in src norm print ....; do cd $dir gmake cd .. done in each subdir *.c are compiled to *.o and the resulting *.o are ar'ed into all the same lib.a; based on normal Makefile rules like: SRCS = f1.c f2.c OBJS = $(SRCS:.c=.o) .c.o: $(CC) -c ... $*.c lib.a:: $(OBJS) $(AR) $@ $(OBJS) after moving to a faster server it turned out that gmake sometimes forget to ar the *.o into the lib; I investigated it and it turned out that the *.o files have the same modification time (in seconds) as the target lib.a (which was produced/updated in the last directory worked on) and gmake thinks that the lib.a is uptodate. Any idea how to address this in the Makefiles? Well I could place (and it works) a 'sleep 1' into the loop, but I think that there is some better way. Thx matthias -- Matthias Apitz | /"\ ASCII Ribbon Campaign: E-mail: guru@unixarea.de | \ / - No HTML/RTF in E-mail WWW: http://www.unixarea.de/ | X - No proprietary attachments phone: +49-170-4527211 | / \ - Respect for open standards | en.wikipedia.org/wiki/ASCII_Ribbon_Campaign
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20141013092018.GA2737>