The following issue has been SUBMITTED. ====================================================================== https://austingroupbugs.net/view.php?id=1479 ====================================================================== Reported By: geoffclare Assigned To: ====================================================================== Project: 1003.1(2016/18)/Issue7+TC2 Issue ID: 1479 Category: Shell and Utilities Type: Clarification Requested Severity: Objection Priority: normal Status: New Name: Geoff Clare Organization: The Open Group User Reference: Section: make Page Number: 2980 Line Number: 98946 Interp Status: --- Final Accepted Text: ====================================================================== Date Submitted: 2021-05-28 09:14 UTC Last Modified: 2021-05-28 09:14 UTC ====================================================================== Summary: Not clear what "achieve results" means for make defaults Description: The description of the make utility says "The default rules for make shall achieve results that are the same as if the following were used" and then goes on to specify, among other things, default values for some macros.
It is not clear what is intended by "achieve results". In particular if these results include the output written to standard output by make when it executes a shell command, then the only way to achieve the same results would be for the defaults to be exactly those that are specified in the standard. However, just excluding that output would not fix the problem because a command such as "echo $(CFLAGS) > outfile" would produce different contents in outfile if CFLAGS does not have exactly the specified default value. A quick check of the Solaris and GNU make implementations reveals the following differences from the defaults specified in the standard: Both have ARFLAGS=rv (instead of ARFLAGS=-rv) Both have CC=cc (instead of CC=c99) Both have CFLAGS= (empty instead of CFLAGS=-O 1) GNU has SCCSGETFLAGS= (empty instead of SCCSGETFLAGS=-s) The proposed change would allow the first three but not the GNU SCCSGETFLAGS value, which hopefully the GNU make maintainer will not object to changing. Desired Action: Change:<blockquote>The default rules for <i>make</i> shall achieve results that are the same as if the following were used.</blockquote>to:<blockquote>The default rules and macro values for <i>make</i> shall achieve results that are the same as if the following were used, except that where a result includes the literal value of a macro, this value may differ.</blockquote> ====================================================================== Issue History Date Modified Username Field Change ====================================================================== 2021-05-28 09:14 geoffclare New Issue 2021-05-28 09:14 geoffclare Name => Geoff Clare 2021-05-28 09:14 geoffclare Organization => The Open Group 2021-05-28 09:14 geoffclare Section => make 2021-05-28 09:14 geoffclare Page Number => 2980 2021-05-28 09:14 geoffclare Line Number => 98946 2021-05-28 09:14 geoffclare Interp Status => --- ======================================================================