The following issue has been SUBMITTED. 
====================================================================== 
https://www.austingroupbugs.net/view.php?id=1423 
====================================================================== 
Reported By:                joerg
Assigned To:                
====================================================================== 
Project:                    Issue 8 drafts
Issue ID:                   1423
Category:                   Shell and Utilities
Type:                       Clarification Requested
Severity:                   Objection
Priority:                   normal
Status:                     New
Name:                       Jörg Schilling 
Organization:                
User Reference:              
Section:                    make 
Page Number:                2888 
Line Number:                97001-97006 
Final Accepted Text:         
====================================================================== 
Date Submitted:             2020-11-18 21:28 UTC
Last Modified:              2020-11-18 21:28 UTC
====================================================================== 
Summary:                    The make commandline argument macro::=value has
unspecified bahavior
Description: 
It is common accepted behavior that

  make macro=value

overwrites definitions from makefiles. This can be implemented in
two ways

- evaluate the command line argument before reading makefiles
  and mark the related macro readonly

- evaluate the command line argument after reading makefiles

Both methods result in the same result (even though the assumption
that command line arguments overwrite makefiles should be specified
in the standard). Note that the current text allows a make implementation
to evaluate command line macro assignments before reading makefiles
witout making them readonly and if this would be done, the assignments
in the makefiles would overwrite the commandline arguments.

With the command

  make macro::=value

the two possible implementations mentioned above give different
results.

My gut feeling is that people would expect "make 'macro::=$(macro2)'"
expands $(macro2) as defined in the makefiles instead of expanding
it as empty macro value, but this needs to be specified in the standard.

Desired Action: 
After line 97005 after the text "in the order they appear"

insert the text:

as if the command line macro definitions were evaluated after reading the
makefiles
====================================================================== 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2020-11-18 21:28 joerg          New Issue                                    
2020-11-18 21:28 joerg          Name                      => Jörg Schilling 
2020-11-18 21:28 joerg          Section                   => make            
2020-11-18 21:28 joerg          Page Number               => 2888            
2020-11-18 21:28 joerg          Line Number               => 97001-97006     
======================================================================


  • [Issue 8 dra... Austin Group Bug Tracker via austin-group-l at The Open Group
    • [Issue ... Austin Group Bug Tracker via austin-group-l at The Open Group
    • [Issue ... Austin Group Bug Tracker via austin-group-l at The Open Group
    • [Issue ... Austin Group Bug Tracker via austin-group-l at The Open Group
    • [Issue ... Austin Group Bug Tracker via austin-group-l at The Open Group
    • [Issue ... Austin Group Bug Tracker via austin-group-l at The Open Group
    • [Issue ... Austin Group Bug Tracker via austin-group-l at The Open Group

Reply via email to