Austin Group Bug Tracker
2012-04-12 14:43:17 UTC
A NOTE has been added to this issue.
======================================================================
http://austingroupbugs.net/view.php?id=519
======================================================================
Reported By: dwheeler
Assigned To: ajosey
======================================================================
Project: 1003.1(2008)/Issue 7
Issue ID: 519
Category: Shell and Utilities
Type: Enhancement Request
Severity: Objection
Priority: normal
Status: Under Review
Name: Your Name Here
Organization:
User Reference:
Section: make
Page Number: 2915
Line Number: 95808
Interp Status: ---
Final Accepted Text:
======================================================================
Date Submitted: 2011-11-27 23:11 UTC
Last Modified: 2012-04-12 14:43 UTC
======================================================================
Summary: Add to make macro variable pattern substitution
(expansion), e.g., $(foo:%.o=%.c)
======================================================================
----------------------------------------------------------------------
(0001196) joerg (reporter) - 2012-04-12 14:43
http://austingroupbugs.net/view.php?id=519#c1196
----------------------------------------------------------------------
Let me make a new proposal for the change.
After the paragraph with the text:
"Macro expansions in string1 of macro definition lines shall be evaluated
when read. Macro expansions in string2 of macro definition lines shall be
performed when the macro identified by string1 is expanded in a rule or
command."
insert new paragraphs with the following text:
Macro expansions using the forms $(string1:op%os=np%ns) or
${string1:op%os=np%ns} are called patterm macro expansions.
Where "op" is the old prefix, "os" is the old suffix, "np" is the new
prefix and "ns" is the new suffix. The string "op%os" must completely
match "string1" or a word in "string1", where the % character in "op%os"
matches zero or more characters.
If more than one % character appears before the equal sign, the
second and further % characters are seen as literal part of "os".
Note that any number of % characters can appear after the equal
sign. This version of the standard makes the behavior undefined when
more than one % characters are on the right side of the first equal sign.
In both macro expansion forms, any macros on the right-hand-side of the
colon
shall be recursively expanded before further examination. If there is more
than one equal sign after the <colon> after this, the first one shall be
considered the separator. If the macro "string1" expands to a list of
white space separated words made of one or more characters, the expansion
applies to each of the words separately.
If the original value of variable named by string1 is an empty string,
the final result shall be an empty string. Matching is case-sensitive.
Issue History
Date Modified Username Field Change
======================================================================
2011-11-27 23:11 dwheeler New Issue
2011-11-27 23:11 dwheeler Status New => Under Review
2011-11-27 23:11 dwheeler Assigned To => ajosey
2011-11-27 23:11 dwheeler Name => Your Name Here
2011-11-27 23:11 dwheeler Section => make
2011-11-27 23:11 dwheeler Page Number => 2915
2011-11-27 23:11 dwheeler Line Number => 95808
2011-11-28 14:15 joerg Note Added: 0001057
2011-11-28 14:46 joerg Note Added: 0001058
2011-11-29 00:07 dwheeler Note Added: 0001063
2011-11-29 01:14 dwheeler File Added: makefile-patterns.tar.gz
2011-11-29 09:56 joerg Note Added: 0001066
2011-11-29 10:06 joerg Note Added: 0001067
2011-11-29 10:32 joerg Note Added: 0001068
2011-11-30 04:58 dwheeler Note Added: 0001069
2011-11-30 16:56 joerg Note Added: 0001071
2012-04-12 14:43 joerg Note Added: 0001196
======================================================================
======================================================================
http://austingroupbugs.net/view.php?id=519
======================================================================
Reported By: dwheeler
Assigned To: ajosey
======================================================================
Project: 1003.1(2008)/Issue 7
Issue ID: 519
Category: Shell and Utilities
Type: Enhancement Request
Severity: Objection
Priority: normal
Status: Under Review
Name: Your Name Here
Organization:
User Reference:
Section: make
Page Number: 2915
Line Number: 95808
Interp Status: ---
Final Accepted Text:
======================================================================
Date Submitted: 2011-11-27 23:11 UTC
Last Modified: 2012-04-12 14:43 UTC
======================================================================
Summary: Add to make macro variable pattern substitution
(expansion), e.g., $(foo:%.o=%.c)
======================================================================
----------------------------------------------------------------------
(0001196) joerg (reporter) - 2012-04-12 14:43
http://austingroupbugs.net/view.php?id=519#c1196
----------------------------------------------------------------------
Let me make a new proposal for the change.
After the paragraph with the text:
"Macro expansions in string1 of macro definition lines shall be evaluated
when read. Macro expansions in string2 of macro definition lines shall be
performed when the macro identified by string1 is expanded in a rule or
command."
insert new paragraphs with the following text:
Macro expansions using the forms $(string1:op%os=np%ns) or
${string1:op%os=np%ns} are called patterm macro expansions.
Where "op" is the old prefix, "os" is the old suffix, "np" is the new
prefix and "ns" is the new suffix. The string "op%os" must completely
match "string1" or a word in "string1", where the % character in "op%os"
matches zero or more characters.
If more than one % character appears before the equal sign, the
second and further % characters are seen as literal part of "os".
Note that any number of % characters can appear after the equal
sign. This version of the standard makes the behavior undefined when
more than one % characters are on the right side of the first equal sign.
In both macro expansion forms, any macros on the right-hand-side of the
colon
shall be recursively expanded before further examination. If there is more
than one equal sign after the <colon> after this, the first one shall be
considered the separator. If the macro "string1" expands to a list of
white space separated words made of one or more characters, the expansion
applies to each of the words separately.
If the original value of variable named by string1 is an empty string,
the final result shall be an empty string. Matching is case-sensitive.
Issue History
Date Modified Username Field Change
======================================================================
2011-11-27 23:11 dwheeler New Issue
2011-11-27 23:11 dwheeler Status New => Under Review
2011-11-27 23:11 dwheeler Assigned To => ajosey
2011-11-27 23:11 dwheeler Name => Your Name Here
2011-11-27 23:11 dwheeler Section => make
2011-11-27 23:11 dwheeler Page Number => 2915
2011-11-27 23:11 dwheeler Line Number => 95808
2011-11-28 14:15 joerg Note Added: 0001057
2011-11-28 14:46 joerg Note Added: 0001058
2011-11-29 00:07 dwheeler Note Added: 0001063
2011-11-29 01:14 dwheeler File Added: makefile-patterns.tar.gz
2011-11-29 09:56 joerg Note Added: 0001066
2011-11-29 10:06 joerg Note Added: 0001067
2011-11-29 10:32 joerg Note Added: 0001068
2011-11-30 04:58 dwheeler Note Added: 0001069
2011-11-30 16:56 joerg Note Added: 0001071
2012-04-12 14:43 joerg Note Added: 0001196
======================================================================