Steve Hay wrote:
>
> Running "[dn]make" then "[dn]make distclean" on Win32 still doesn't 
> quite put you back where you started, which could affect Test::Smoke.
> 
> Various .pm files that were either generated by _pm.PL files or else 
> copied from somewhere get left behind (including a whole Encode/ 
> directory), and a few ext/ modules leave const-c.inc and const-xs.inc 
> files behind.
> 
> The attached patch deletes such .pm files, and changes the Makefile.PL's 
> in a few ext/ modules to remove those *.inc files when doing a "clean" 
> (which "distclean" does) rather than only when doing a "realclean".  (Do 
> the affected modules' $VERSION's need bumping up because of these changes?)
> 
> I've also removed the explicit deletion of files in directories that are 
> about to be removed with "rmdir /s /q" since the /s causes the entire 
> directory tree (i.e. including all files and sub-directories within in) 
> to be deleted anyway.
> 
> Finally, I've tidied up the end of the "distclean" target in Makefile to 
> follow the rather nicer "cd DIR && del FILES" idiom employed by 
> makefile.mk, rather than doing separate cd's and del's.

There are lots of chunks in your patch that go like 

-    realclean => {FILES=> 'const-c.inc const-xs.inc'},
+    clean => {FILES=> 'const-c.inc const-xs.inc'},

but "make distclean" is supposed to do a realclean in the extensions.
As the MakeMaker doc states,

         make clean      # delete local temp files (Makefile gets renamed)
         make realclean  # delete derived files (including ./blib)

If it doesn't, or if it does and fails to delete the files listed under
"clean", that's a MakeMaker Win32 bug. IMO.

Besides this, I applied the win32/?akefile* part of your patch as
change #22477, thanks.

Reply via email to