View Issue Details

IDProjectCategoryView StatusLast Update
0001650Issue 8 draftsShell and Utilitiespublic2024-06-11 09:12
Reporterrillig Assigned To 
PrioritynormalSeverityEditorialTypeClarification Requested
Status ClosedResolutionAccepted As Marked 
Product VersionDraft 3 
NameRoland Illig
Organization
User Reference
Sectionmake
Page Number3103-3136
Line Number
Final Accepted TextSee 0001650:0006301.
Summary0001650: Words 'prerequisite' and 'dependency' used interchangeably
DescriptionIn the description of the make utility, the words 'prerequisite' and 'dependency' are used interchangeably. Since these words mean the same, there's no need to use two separate words for it.
Desired ActionReplace all occurrences of 'dependency' or 'dependencies' with the corresponding form of 'prerequisite'.
Maybe reword the occurrences of 'depend'.
Tagsapplied_after_i8d3, issue8

Activities

cmsmith

2023-04-01 13:43

reporter   bugnote:0006240

This is a not a straightforward editorial change, as, I regard the two terms are not the same and have distinct meanings, albeit their usage is imperfect in the description of the <make> utility. I believe the term "prerequisite" implies something that must be done first, so, in the context of the <make> utility, it would be another target (possibly phony or possibly implicit). Calling the list of files for creating a target would be better called a "dependency list". That dependency list may contain simple filenames and also the prerequisite target names.

If others do not make the semantic distinction between the terms "dependency" and "prerequisite", I would still favour the more usual term "dependency" over "prerequisite" if the consensus were to stick with one or the other.

geoffclare

2023-06-01 16:02

manager   bugnote:0006300

The original POSIX.2-1992 standard was careful to use "prerequisite" throughout. Uses of "dependency" have crept in via the SCCS features from The Single UNIX Specification, version 2, and in some edits made since the 2018 edition of the standard. The rationale contains a reference to "The System V dynamic dependency feature" which should remain, as that is what it was called historically.

Don Cragun

2023-06-01 16:04

manager   bugnote:0006301

Last edited: 2023-06-01 16:07

On page 3107 line 104641 section make, change:
A target shall be considered up-to-date if it exists and is newer than all of its dependencies
to:
A target shall be considered up-to-date if it exists and is newer than all of its prerequisites



On page 3111 line 104824 section make, change:
When source files are named in a dependency list, make treats them just like any other target. Because the source file is presumed to be present in the directory, there is no need to add an entry for it to the makefile. When a target has no dependencies, but is present in the directory, make assumes that that file is up-to-date.
to:
When source files are named in a list of prerequisites, make treats them just like any other target. Because the source file is presumed to be present in the directory, there is no need to add an entry for it to the makefile. When a target has no prerequisites, but is present in the directory, make assumes that that file is up-to-date.



On page 3116 line 105066 section make, change:
Dependencies added by target rules without commands
to:
Prerequisites added by target rules without commands


Issue History

Date Modified Username Field Change
2023-03-31 08:46 rillig New Issue
2023-03-31 08:46 rillig Name => Roland Illig
2023-03-31 08:46 rillig Section => make
2023-03-31 08:46 rillig Page Number => 3103-3136
2023-04-01 13:43 cmsmith Note Added: 0006240
2023-06-01 16:02 geoffclare Note Added: 0006300
2023-06-01 16:04 Don Cragun Note Added: 0006301
2023-06-01 16:07 Don Cragun Final Accepted Text => See 0001650:0006301.
2023-06-01 16:07 Don Cragun Status New => Resolved
2023-06-01 16:07 Don Cragun Resolution Open => Accepted As Marked
2023-06-01 16:07 Don Cragun Note Edited: 0006301
2023-06-01 16:09 Don Cragun Tag Attached: issue8
2023-06-13 11:18 geoffclare Status Resolved => Applied
2023-06-13 11:19 geoffclare Tag Attached: applied_after_i8d3
2024-06-11 09:12 agadmin Status Applied => Closed