Summary: False misidentification of '%' as "mixed" target in
a single target specififcation
Submitted by: mokhov
Submitted on: Fri 06 Jul 2012 15:16:22 GMT
Severity: 3 - Normal
Item Group: Bug
Assigned to: None
Discussion Lock: Any
Component Version: 3.82
Operating System: Any
Fixed Release: None
Triage Status: None
First, I am aware of the bug #33034 and the new (3.82) make's /feature/ of
disallowing mixed targets. I am hitting a related bug to the same but with
erronous parsing. My observation is that the feature introduced a "presumed
guilty" parsing bug and I am getting an erroneous:
"Makefile:XYZ: *** mixed implicit and normal rules. Stop."
on a _single_ explicit target. The reason for this appears to be a presumptive
parsing for '%' to decide whether there are mixed targets.
More specifically I have (a reduced version):
$(DATAEXE)-bundle-$(VERSION).tar.gz: all #...
and make 3.82.90 errors out at the single explicit target
"$(DATAEXE)-bundle-$(VERSION).tar.gz". When I remove the date specification
from VERSION, it all works again as expected (except I don't have my
timestamps anymore). The conclusion is that the date's % specifications are
wrongfully interpreted as make's at the parse time as if "containing mixed
targets". Please provide a fix and/or a workaround. Thanks!