Michael G Schwern wrote:
On Fri, Dec 17, 2004 at 03:53:32AM -0500, Randy W. Sims wrote:

      Macro  expressions specified on the command line allow the
      macro value to be redefined within the  makefile  only  if
      the  macro  is defined using the '+=' and '+:=' operators.
      Other operators will define a macro that cannot be further
      modified.

BTW, I did test earlier today with nmake on 5.6 and 5.8 and found no problems. The above problem only affects dmake.


This can't be right. Could you try something simple like

dmake test TEST_VERBOSE=1 dmake.exe: makefile: line 807: Warning -- Macro `TEST_VERBOSE' cannot be redefined ...

Manually changing the generated F<Makefile> to use the C<MACRO *= LINE>
form of assignment fixes the problem. But that seems like a PITA to have to specify this alternative syntax for all possible commandline macros. How is MakeMaker different now than before? I scanned the dmake docs, hoping to find some type of directive to change the behavior, but I don't see anything.


Further, note that the latest trunk tarball fails F<basic.t> test #74,
but only with dmake. As before, all tests pass with nmake. Note that
this is the same perl; I just changed Config.pm to switch dmake/nmake.

ok 73 - init_dirscan skipped distdir
#     Failed test (t/basic.t at line 271)
#          got: '65280'
#     expected: '0'
# C:\devel\perl\bin\perl.exe  -e "chdir 'Liar';  system
'x:\opt\dmake\dmake.exe -S  clean' if -f 'Makefile';"
<snip extraneous output>
not ok 74 - realclean
ok 75




Reply via email to