Austin Group Bug Tracker
2014-09-11 16:18:40 UTC
A NOTE has been added to this issue.
======================================================================
http://austingroupbugs.net/view.php?id=857
======================================================================
Reported By: jammule
Assigned To:
======================================================================
Project: 1003.1(2013)/Issue7+TC1
Issue ID: 857
Category: Shell and Utilities
Type: Omission
Severity: Comment
Priority: normal
Status: Resolved
Name: Jarmo Jaakkola
Organization:
User Reference:
Section: make
Page Number: 2937
Line Number: 97105-97113
Interp Status: ---
Final Accepted Text: http://austingroupbugs.net/view.php?id=857#c2351
Resolution: Accepted As Marked
Fixed in Version:
======================================================================
Date Submitted: 2014-07-08 10:14 UTC
Last Modified: 2014-09-11 16:18 UTC
======================================================================
Summary: Make rules which do not create the target file or do
unexpected things with its timestamp
======================================================================
Relationships ID Summary
----------------------------------------------------------------------
related to 0000523 Add support for special target .PHONY i...
related to 0000763 If rule has no prerequisites or command...
======================================================================
----------------------------------------------------------------------
(0002376) geoffclare (manager) - 2014-09-11 16:18
http://austingroupbugs.net/view.php?id=857#c2376
----------------------------------------------------------------------
On page 2937 line 97106 section make, change from:
A target is considered out-of-date if it is older than any of its
prerequisites or if it does not exist.
to:
A target is considered out-of-date if it does not exist, any of its
prerequisites do not exist and have not been made up-to-date by the current
invocation of <i>make</i>, it is older than any of its existing
prerequisites, or if any of its existing prerequisites are out-of-date. A
target may also be considered out-of-date when it has the same timestamp as
any of its prerequisites that have not been made up-to-date by the current
invocation of <i>make</i>.
On page 2937 line 97112 section make, change from:
If there are no commands listed for the target, the target shall be treated
as up-to-date.
to:
If there are no commands listed for the target entry, the target shall be
treated as up-to-date. If a file corresponding to the target does not
exist after the target has been successfully brought up-to-date, the target
shall be treated as being newer than any target for which it is a
prerequisite.
When no rule matches a target for which a corresponding file exists, the
target shall be treated as up-to-date. It shall be an error if <i>make</i>
attempts to bring a target up-to-date, the target does not exist, and there
is neither a target rule nor an inference rule for that target.
On page 2948 line 97603 add a new paragraph to the APPLICATION USAGE:
Shell command sequences like "make; cp original copy; make" may have
problems on filesystems where the timestamp resolution is the minimum (1
second) required by the standard and where make considers identical
timestamps to be up to date. Conversely, rules like "copy: original; cp
-p original copy" will result in redundant work on make implementations
that consider identical timestamps to be out of date.
On page 2954 line 97847 add a new paragraph to the RATIONALE:
On most historic systems, the <i>make</i> utility considered a target with
a prerequisite that had an identical timestamp up-to-date. The HP-UX
implementation of make treated it as out-of-date. The standard now allows
either behavior, but implementations are encouraged to follow the example
set by HP-UX. This is especially important on filesystems where the
timestamp resolution is the minimum (1 second) required by the standard.
All implementations of make should make full use of the finest timestamp
resolution available on the filesystems holding targets and prerequisites
to ensure that targets are up-to-date even for prerequisite files with
timestamps that were updated within the same second.
Issue History
Date Modified Username Field Change
======================================================================
2014-07-08 10:14 jammule New Issue
2014-07-08 10:14 jammule Name => Jarmo Jaakkola
2014-07-08 10:14 jammule Section => make
2014-07-08 10:14 jammule Page Number => 2937
2014-07-08 10:14 jammule Line Number => 97105-97113
2014-07-08 10:24 jammule Issue Monitored: jammule
2014-07-08 10:25 jammule Issue End Monitor: jammule
2014-08-07 16:18 eblake Note Added: 0002335
2014-08-07 16:18 eblake Relationship added related to 0000523
2014-08-07 17:16 mdempsky Note Added: 0002336
2014-08-07 17:17 mdempsky Note Added: 0002337
2014-08-08 10:41 antoinel Note Added: 0002338
2014-08-08 10:42 antoinel Note Edited: 0002338
2014-08-08 10:42 antoinel Note Edited: 0002338
2014-08-08 10:43 antoinel Note Edited: 0002338
2014-08-08 10:44 antoinel Note Edited: 0002338
2014-08-08 10:47 antoinel Note Edited: 0002338
2014-08-08 10:47 antoinel Note Edited: 0002338
2014-08-08 10:51 antoinel Note Edited: 0002338
2014-08-08 11:44 jammule Note Added: 0002340
2014-08-08 11:47 jammule Note Edited: 0002340
2014-08-08 12:22 eblake Relationship added related to 0000763
2014-08-08 17:10 mdempsky Note Added: 0002343
2014-08-21 15:35 geoffclare Note Added: 0002351
2014-08-21 15:39 geoffclare Interp Status => ---
2014-08-21 15:39 geoffclare Final Accepted Text =>
http://austingroupbugs.net/view.php?id=857#c2351
2014-08-21 15:39 geoffclare Status New => Resolved
2014-08-21 15:39 geoffclare Resolution Open => Accepted As
Marked
2014-08-21 15:39 geoffclare Tag Attached: tc2-2008
2014-08-21 16:13 eggert Note Added: 0002353
2014-08-22 09:20 geoffclare Note Edited: 0002351
2014-09-04 16:06 geoffclare Note Edited: 0002351
2014-09-04 16:07 geoffclare Note Added: 0002372
2014-09-05 08:33 jammule Note Added: 0002373
2014-09-05 08:34 jammule Note Edited: 0002373
2014-09-05 08:35 jammule Note Edited: 0002373
2014-09-05 08:36 jammule Note Edited: 0002373
2014-09-05 08:37 jammule Note Edited: 0002373
2014-09-11 16:18 geoffclare Note Added: 0002376
======================================================================
======================================================================
http://austingroupbugs.net/view.php?id=857
======================================================================
Reported By: jammule
Assigned To:
======================================================================
Project: 1003.1(2013)/Issue7+TC1
Issue ID: 857
Category: Shell and Utilities
Type: Omission
Severity: Comment
Priority: normal
Status: Resolved
Name: Jarmo Jaakkola
Organization:
User Reference:
Section: make
Page Number: 2937
Line Number: 97105-97113
Interp Status: ---
Final Accepted Text: http://austingroupbugs.net/view.php?id=857#c2351
Resolution: Accepted As Marked
Fixed in Version:
======================================================================
Date Submitted: 2014-07-08 10:14 UTC
Last Modified: 2014-09-11 16:18 UTC
======================================================================
Summary: Make rules which do not create the target file or do
unexpected things with its timestamp
======================================================================
Relationships ID Summary
----------------------------------------------------------------------
related to 0000523 Add support for special target .PHONY i...
related to 0000763 If rule has no prerequisites or command...
======================================================================
----------------------------------------------------------------------
(0002376) geoffclare (manager) - 2014-09-11 16:18
http://austingroupbugs.net/view.php?id=857#c2376
----------------------------------------------------------------------
On page 2937 line 97106 section make, change from:
A target is considered out-of-date if it is older than any of its
prerequisites or if it does not exist.
to:
A target is considered out-of-date if it does not exist, any of its
prerequisites do not exist and have not been made up-to-date by the current
invocation of <i>make</i>, it is older than any of its existing
prerequisites, or if any of its existing prerequisites are out-of-date. A
target may also be considered out-of-date when it has the same timestamp as
any of its prerequisites that have not been made up-to-date by the current
invocation of <i>make</i>.
On page 2937 line 97112 section make, change from:
If there are no commands listed for the target, the target shall be treated
as up-to-date.
to:
If there are no commands listed for the target entry, the target shall be
treated as up-to-date. If a file corresponding to the target does not
exist after the target has been successfully brought up-to-date, the target
shall be treated as being newer than any target for which it is a
prerequisite.
When no rule matches a target for which a corresponding file exists, the
target shall be treated as up-to-date. It shall be an error if <i>make</i>
attempts to bring a target up-to-date, the target does not exist, and there
is neither a target rule nor an inference rule for that target.
On page 2948 line 97603 add a new paragraph to the APPLICATION USAGE:
Shell command sequences like "make; cp original copy; make" may have
problems on filesystems where the timestamp resolution is the minimum (1
second) required by the standard and where make considers identical
timestamps to be up to date. Conversely, rules like "copy: original; cp
-p original copy" will result in redundant work on make implementations
that consider identical timestamps to be out of date.
On page 2954 line 97847 add a new paragraph to the RATIONALE:
On most historic systems, the <i>make</i> utility considered a target with
a prerequisite that had an identical timestamp up-to-date. The HP-UX
implementation of make treated it as out-of-date. The standard now allows
either behavior, but implementations are encouraged to follow the example
set by HP-UX. This is especially important on filesystems where the
timestamp resolution is the minimum (1 second) required by the standard.
All implementations of make should make full use of the finest timestamp
resolution available on the filesystems holding targets and prerequisites
to ensure that targets are up-to-date even for prerequisite files with
timestamps that were updated within the same second.
Issue History
Date Modified Username Field Change
======================================================================
2014-07-08 10:14 jammule New Issue
2014-07-08 10:14 jammule Name => Jarmo Jaakkola
2014-07-08 10:14 jammule Section => make
2014-07-08 10:14 jammule Page Number => 2937
2014-07-08 10:14 jammule Line Number => 97105-97113
2014-07-08 10:24 jammule Issue Monitored: jammule
2014-07-08 10:25 jammule Issue End Monitor: jammule
2014-08-07 16:18 eblake Note Added: 0002335
2014-08-07 16:18 eblake Relationship added related to 0000523
2014-08-07 17:16 mdempsky Note Added: 0002336
2014-08-07 17:17 mdempsky Note Added: 0002337
2014-08-08 10:41 antoinel Note Added: 0002338
2014-08-08 10:42 antoinel Note Edited: 0002338
2014-08-08 10:42 antoinel Note Edited: 0002338
2014-08-08 10:43 antoinel Note Edited: 0002338
2014-08-08 10:44 antoinel Note Edited: 0002338
2014-08-08 10:47 antoinel Note Edited: 0002338
2014-08-08 10:47 antoinel Note Edited: 0002338
2014-08-08 10:51 antoinel Note Edited: 0002338
2014-08-08 11:44 jammule Note Added: 0002340
2014-08-08 11:47 jammule Note Edited: 0002340
2014-08-08 12:22 eblake Relationship added related to 0000763
2014-08-08 17:10 mdempsky Note Added: 0002343
2014-08-21 15:35 geoffclare Note Added: 0002351
2014-08-21 15:39 geoffclare Interp Status => ---
2014-08-21 15:39 geoffclare Final Accepted Text =>
http://austingroupbugs.net/view.php?id=857#c2351
2014-08-21 15:39 geoffclare Status New => Resolved
2014-08-21 15:39 geoffclare Resolution Open => Accepted As
Marked
2014-08-21 15:39 geoffclare Tag Attached: tc2-2008
2014-08-21 16:13 eggert Note Added: 0002353
2014-08-22 09:20 geoffclare Note Edited: 0002351
2014-09-04 16:06 geoffclare Note Edited: 0002351
2014-09-04 16:07 geoffclare Note Added: 0002372
2014-09-05 08:33 jammule Note Added: 0002373
2014-09-05 08:34 jammule Note Edited: 0002373
2014-09-05 08:35 jammule Note Edited: 0002373
2014-09-05 08:36 jammule Note Edited: 0002373
2014-09-05 08:37 jammule Note Edited: 0002373
2014-09-11 16:18 geoffclare Note Added: 0002376
======================================================================