Issue 66385 - dmake mishandles .X meta AUGMAKE targets
Summary: dmake mishandles .X meta AUGMAKE targets
Status: CLOSED FIXED
Alias: None
Product: Build Tools
Classification: Code
Component: dmake (show other issues)
Version: current
Hardware: All All
: P3 Trivial (vote)
Target Milestone: ---
Assignee: hjs
QA Contact: issues@tools
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-06-13 06:16 UTC by quetschke
Modified: 2013-08-07 15:34 UTC (History)
2 users (show)

See Also:
Issue Type: DEFECT
Latest Confirmation in: ---
Developer Difficulty: ---


Attachments
Patch for dmake (3.27 KB, patch)
2006-06-13 17:50 UTC, quetschke
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this issue.
Description quetschke 2006-06-13 06:16:25 UTC
According to the dmake manpage:

COMPATIBILITY
...
              5. When defining special targets for the inference rules and the
                 AUGMAKE special target handling is enabled then  the  special
                 target .X is equivalent to the %-rule "% : %.X".

dmake should handle .<suffix> (not .<suffix1>.<suffix2>) targets only if the
AUGMAKE macro is set to 'yes' (or -A is set). Currently this is reversed, i.e.
.<suffix> targets are recognized/handled if AUGMAKE is *NOT* set.
Comment 1 quetschke 2006-06-13 17:50:56 UTC
Created attachment 37117 [details]
Patch for dmake
Comment 2 quetschke 2006-06-13 17:58:50 UTC
The previous patch lets dmake handle .<suffix> targets regardless of the AUGMAKE
(-A) status, this doesn't change the behavior for the normal (AUGMAKE not set)
state but enables this AUGMAKE feature if AUGMAKE is set.

The patch also changes the manpage accordingly.

Committed to dmake45.
Comment 3 quetschke 2006-06-13 18:14:55 UTC
Added testcase.

Reassigning for verification.
Comment 4 quetschke 2006-06-13 18:15:24 UTC
@ause: Please verify.
Comment 5 hjs 2006-06-27 10:29:14 UTC
so this isn't (and was not) completely true:
       -A     Enable AUGMAKE special inference rule transformations  (see  the
              "PERCENT(%) RULES" and "AUGMAKE META RULES" sections), these are
              set to off by default.
if i get this right, .<suffix> targets, which are part of the AUGMAKE stuff, are
enabled by default while the remaining AUGMAKE features require -A.

Comment 6 hjs 2006-06-27 10:36:52 UTC
hmm, couldn't find any AUGMAKE feature that is disabled by default...
Comment 7 quetschke 2006-06-27 16:38:30 UTC
From the (new) man page:

       The following SYSV  AUGMAKE  special  targets  transformation  must  be
       enabled  by providing the -A flag on the command line or by setting the
       value of AUGMAKE to non-NULL.  The construct

              .c~.o :; recipe

       gets mapped into:

              %.o : s.%.c ; recipe

       In general, a special target of the form .<str>~  is  replaced  by  the
       %-rule  construct  s.%.<str>,  thereby providing support for the syntax
       used by SYSV AUGMAKE for providing SCCS support.  When  enabled,  these
       mappings  allow processing of existing SYSV makefiles without modifica-
       tions.

;)
Comment 8 hjs 2006-06-27 16:45:09 UTC
.
Comment 9 hjs 2006-07-07 15:39:58 UTC
.