[perl #42073] [BUG]: compilers/pirc/Makefile not cleaned up by 'make realclean'

8 views
Skip to first unread message

James Keenan

unread,
Mar 25, 2007, 1:05:10 PM3/25/07
to bugs-bi...@rt.perl.org
# New Ticket Created by James Keenan
# Please include the string: [perl #42073]
# in the subject line of all future correspondence about this issue.
# <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=42073 >


I expect that 'make realclean' will return my Parrot sandbox to the
'pre-Configure.pl' status, i.e., it should contain only files listed
in the MANIFEST and, since each of those files came from the Parrot
repository, each such file should have a defined 'svn status'. All
files created by 'Configure.pl' and 'make' should be deleted.

Today, however, I noticed in a couple of different sandboxes that one
file created when Configure.pl was run was not being cleaned up when
I called 'make realclean': compilers/pirc/Makefile.

[recon] 567 $ perl Configure.pl
...
[recon] 571 $ make realclean
/usr/local/bin/perl -MExtUtils::Command -e rm_f \
"t/compilers/*/*.out" \
"t/compilers/*/*.pasm" \
[snip output of 'make realclean']
[recon] 572 $ ls -l compilers/pirc/Makefile
-rw-r--r-- 1 jimk jimk 2536 Mar 25 12:53 compilers/pirc/Makefile
[recon] 573 $ svn status -v compilers/pirc/Makefile
? compilers/pirc/Makefile

This is how compilers/pirc/Makefile begins:

[recon] 574 $ rhead compilers/pirc/Makefile
# DO NOT EDIT THIS FILE
# Generated by Parrot::Configure::Step from config/gen/makefiles/pirc.in


Can someone explain why this file is not cleaned up, and provide a
patch to do so?

Thank you very much.
kid51

Klaas-Jan Stol

unread,
Mar 25, 2007, 1:40:16 PM3/25/07
to perl6-i...@perl.org
hi, I'm maintaining compilers/pirc. The pirc.in file (from which the
Makefile is generated) does contain:

realclean: clean
$(RM_RF) Makefile
$(RM_RF) pirc$(EXE)

When I type 'make realclean' (in compilers/pirc dir.) it does delete the
Makefile.
I don't know what causes the problem you describe.


> Can someone explain why this file is not cleaned up, and provide a
> patch to do so?
>
> Thank you very much.
> kid51
>
>

kjs

James Keenan

unread,
Mar 25, 2007, 5:28:06 PM3/25/07
to parrotbug...@parrotcode.org

On Mar 25, 2007, at 1:41 PM, Klaas-Jan Stol via RT wrote:

> hi, I'm maintaining compilers/pirc. The pirc.in file (from which the
> Makefile is generated) does contain:
>
> realclean: clean
> $(RM_RF) Makefile
> $(RM_RF) pirc$(EXE)
>
> When I type 'make realclean' (in compilers/pirc dir.) it does
> delete the
> Makefile.
> I don't know what causes the problem you describe.


[I posted earlier to RT but it didn't show up on p-p (yet).]

Please try the patch attached.

It more closely follows the pattern in config/gen/makefiles/root.in
-- specifically it categorizes your Makefile as a STICKY_FILE.

compilers.pirc.Makefile.patch.txt

Klaas-Jan Stol

unread,
Mar 26, 2007, 3:52:39 AM3/26/07
to Klaas-Jan Stol, James Keenan, parrotbug...@parrotcode.org
Klaas-Jan Stol wrote:
> It does remove the Makefile when doing make realclean. (I'm on
> windows, can't check on linux). However, the executable (pirc.exe in
> my case)
> and obj. files are not removed. (but the Makefile's listed in
> realclean target)
<<<------ that is, I meant the exe. file is in realclean target.
kjs
>
> regards,
> kjs
>
>>
>> ------------------------------------------------------------------------
>>
>> Index: config/gen/makefiles/root.in
>> ===================================================================
>> --- config/gen/makefiles/root.in (revision 17728)
>> +++ config/gen/makefiles/root.in (working copy)
>> @@ -183,6 +183,7 @@
>> compilers/past/Makefile \
>> compilers/past-pm/Makefile \
>> compilers/pge/Makefile \
>> + compilers/pirc/Makefile \
>> compilers/tge/Makefile \
>> compilers/bcg/Makefile \
>> compilers/json/Makefile \
>> Index: config/gen/makefiles/pirc.in
>> ===================================================================
>> --- config/gen/makefiles/pirc.in (revision 17728)
>> +++ config/gen/makefiles/pirc.in (working copy)
>> @@ -79,7 +79,8 @@
>>
>> realclean: clean
>> - $(RM_RF) Makefile
>> - $(RM_RF) pirc$(EXE)
>> + $(RM_RF) \
>> + $(STICKY_FILES) \
>> + pirc$(EXE)
>>
>> distclean: realclean
>>
>
>

Klaas-Jan Stol

unread,
Mar 26, 2007, 3:48:02 AM3/26/07
to James Keenan, parrotbug...@parrotcode.org

It does remove the Makefile when doing make realclean. (I'm on windows,

can't check on linux). However, the executable (pirc.exe in my case)
and obj. files are not removed. (but the Makefile's listed in realclean
target)

regards,

James Keenan via RT

unread,
Mar 26, 2007, 7:09:40 AM3/26/07
to perl6-i...@perl.org
On Mon Mar 26 00:53:31 2007, kjs wrote:
> Klaas-Jan Stol wrote:
> > James Keenan wrote:
> >>[snip]

> >> Please try the patch attached.
> >>
> >> It more closely follows the pattern in config/gen/makefiles/root.in
> >> -- specifically it categorizes your Makefile as a STICKY_FILE.
> >
> > It does remove the Makefile when doing make realclean. (I'm on
> > windows, can't check on linux). However, the executable (pirc.exe in
> > my case)
> > and obj. files are not removed. (but the Makefile's listed in
> > realclean target)
> <<<------ that is, I meant the exe. file is in realclean target.
> kjs
> >
Hmm, I would have thought modelling your Makefile more closely on root.in would have
fixed the problem.

Could you please do the following: (a) make sure that any errant files are manually removed;
(b) do a 'make realclean'; (c) then do an 'svn status' and post the results.

Any Makefile experts out there who could help us out?

kid51

James Keenan via RT

unread,
Mar 27, 2007, 4:29:04 AM3/27/07
to perl6-i...@perl.org
I've applied my patch successfully on both Darwin and Linux; kjs indicated on IRC that he got it
working on Windows. Assuming there is no objection, I will apply it to trunk on Wed Mar 28.

James Keenan via RT

unread,
Mar 28, 2007, 9:15:39 PM3/28/07
to perl6-i...@perl.org
Patch applied in r17821.
Reply all
Reply to author
Forward
0 new messages