[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: make bin got dumb because of "Fix description in lily/include/smobs.
From: |
Werner LEMBERG |
Subject: |
Re: make bin got dumb because of "Fix description in lily/include/smobs.hh" |
Date: |
Tue, 03 Jul 2012 23:57:05 +0200 (CEST) |
> It is almost certainly a problem with your system clock. If you have
> touched source files with a future clock, and now the clock is right,
> then compiled files will be outdated ("older" than the source file)
> immediately after compilation again.
There is a special built-in target in GNU make:
`.LOW_RESOLUTION_TIME'
If you specify prerequisites for `.LOW_RESOLUTION_TIME', `make'
assumes that these files are created by commands that generate
low resolution time stamps. The recipe for the
`.LOW_RESOLUTION_TIME' target are ignored.
The high resolution file time stamps of many modern file systems
lessen the chance of `make' incorrectly concluding that a file is
up to date. Unfortunately, some hosts do not provide a way to
set a high resolution file time stamp, so commands like `cp -p'
that explicitly set a file's time stamp must discard its
subsecond part. If a file is created by such a command, you
should list it as a prerequisite of `.LOW_RESOLUTION_TIME' so
that `make' does not mistakenly conclude that the file is out of
date. For example:
.LOW_RESOLUTION_TIME: dst
dst: src
cp -p src dst
Since `cp -p' discards the subsecond part of `src''s time stamp,
`dst' is typically slightly older than `src' even when it is up
to date. The `.LOW_RESOLUTION_TIME' line causes `make' to
consider `dst' to be up to date if its time stamp is at the start
of the same second that `src''s time stamp is in.
Maybe this helps?
Werner