|
Home About Us A-Z Index Search * Contact Us Register Login Press ShopThe Open Brand -- Problem Reporting and Interpretations System |
Problem Report 0714 Details
Show help | Quick Search | Submit a Test Suite Support Request | Click here to view your privileges
This page provides all information on Problem Report 0714.
Report 0714 Actions
Problem Report Number 0714 Submitter's Classification Specification problem State Resolved Resolution Permanent Interpretation (PIN) Problem Resolution ID PIN.X.0107 Raised 1970-01-01 08:00 Updated 2003-03-13 08:00 Published 1995-11-21 08:00 Product Standard Commands and Utilities V2 (UNIX 95) Certification Program The Open Brand certification program Test Suite VSC version 4.1.5 Test Identification POSIX.sdo/make 48 Specification Commands and Utilities Issue 4 Version 2 Location in Spec See Problem Text Problem Summary PIN4C.00007 This test may fail on implementations where macros are not included in the MAKEFLAGS variable. Problem Text
This test may fail on implementations where macros are not included
in the MAKEFLAGS variable.
The issue of whether options (except -f and -p) and command line macros
should be added to the MAKEFLAGS macro was recently the result of an IEEE
interpretation (PASC 1003.2-92 #123). This was recently finialized with
the resolution:
The text on page 669, lines 296-305, and page 571, lines
377-380 are in conflict and as such the standard is unclear on
this issue, and no conformance distinction can be made between
alternative implementations based on this. This is being
referred to the sponsor.
This test attempts to verify if
make -i -k A=1
will redefine the MAKEFLAGS variable to include i, k, and A=1. The
POSIX interpretation concludes that the requirement for A=1 is
unclear.Test Output
Assertion #48 (C): All make command line options (except -f and -p) and
macros not included in the MAKEFLAGS macro are added to it.
The make command line macro is not present in the MAKEFLAGS
macro value in make.
Assertion Result: FAIL
Review Information
Review Type TSMA Review Start Date null Completed null Status Complete Review Recommendation No Resolution Given Review Response
A permanent interpretation is recommended.
pasc-1003.2-123 states
Issue 2:
From lines 298-300
"At this time, all of the options (except -f and -p)
and command line macros not already included in 'MAKEFLAGS' shall
be added to the 'MAKEFLAGS' macro."
Q2: The question is why are command line macros, and macros from
the MAKEFLAGS environment variable, being added to the 'MAKEFLAGS'
macro? Was this non-historical behaviour intentional?
a) This seems inconsistent with lines 377-379 which describes
the creation of the MAKEFLAGS variable containing all options
on the comand line except of the -f and -p options.
Why are command line macros not included here too?
b) This behaviour has never been true in any historical implementation.
There seems to be good reason for *not* doing this.
ForFLAGS="-s -g"
make CFLAGS="-s -g"
according to line 298-300, there should be a 'MAKEFLAGS' macro
created which is then put into the environment equivalent to this:
MAKEFLAGS="CFLAGS=-s -g"
but now when a 2nd level make gets invoked from a makefile command,
it will see inherit this MAKEFLAGS environment and will interpret
it as one 1 macro "CFLAGS=-s" and 1 option "-g".
Since "-g" is not a valid option, the 2nd level make will exit
with an error message.
The rationale did not give any reason for this new behaviour
and its not clear what advantage this provides since
macros are automatically included in the environment and
vice versa which means 2nd level make's will automatically
inherit these values.
Proposed solution for .2b:
Remove "and command line macros" from line 298.
Interpretation response
------------------------
Issue 2:
The text on page 669, lines 296-305, and page 571, lines 377-380 are in
conflict and as such the standard is unclear on this issue, and no
conformance distinction can be made between alternative implementations
based on this. This is being referred to the sponsor.
Review Type SA Review Start Date null Completed null Status Complete Review Resolution Permanent Interpretation (PIN) Review Conclusion
A Permanent Interpretation is granted.
Problem Reporting System Options:
- View Report 0714
- List All PRs
- Search Reports
- Email the System Administrator
- View the The Open Brand Interpretations Database User Manual
Contact the Certification Authority