bug-bash
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] lib/readline/doc makefiles clean targets


From: Mike Jonkmans
Subject: Re: [PATCH] lib/readline/doc makefiles clean targets
Date: Fri, 1 Nov 2024 23:20:02 +0100

On Fri, Nov 01, 2024 at 01:25:46PM -0400, Chet Ramey wrote:
> On 10/29/24 1:04 PM, Mike Jonkmans wrote:
> > Hi Chet et al.,
> > 
> > If I run, on devel (4917f285):
> > - ./configure
> > - make
> > - make clean
> > - git status
> > 
> > I would expect to see nothing special.
> > Instead:
> > a) a whole bunch of files got deleted in lib/readline/doc.
> 
> Yeah. Those files aren't part of the bash distribution, and so they get
> cleaned. I left them there the last couple of pushes because I wanted
> people to get a look at the documentation updates I made. It was easier
> for me than splitting the files between the bash and readline devel
> branches.

Ok, i see.
Sort of a problem is, that these files aren't explicitly made by make.
So i guess these shouldn't be touched by any of the *clean targets.

According to info (make)Standard Targets, we should have:
        mostlyclean < clean < distclean < maintainer-clean

In make rules, that would be:
        maintainer-clean: distclean
                # Delete (almost?) everything that this Makefile can make.
                # e.g. info files, bison-c-code.
        distclean: clean
                # Remove files from configuring and building.
                # Should leave only the files that were in the distribution.
        clean: mostlyclean
                # Remove the files that are made.
                # But keep the files recording the configuration.
                # Also keep files that come with the distribution.
        mostlyclean:
                # Like clean but excluding targets that are expensive to build.

(One could argue, whether the devel branch is a distribution.)

Anyways, I see some Makefiles with:
        mostlyclean: clean
which should be reversed.

Would you accept patches for:
        a) reversing mostlyclean/clean;
        b) rewrite mostlyclean/clean/distclean as described;
        c) rewrite maintainer-clean so that it reuses the other clean-targets.


> > b) an untracked file appears: buildconf.h
> > 
> > The patch addresses a).
> > Not sure what to do about b). Could add to .gitignore or be cleaned.
> 
> It's a file configure creates, just like config.h, so it gets cleaned
> with `make distclean'. I should add it to .gitignore, I suppose.

Yes, adding builconf.h to .gitignore would be nice.

I guess that config.h, buildconf.h etc. - products of running configure 
or config.status - are 'files recording the configuration'.
Thus should be exempt from 'make clean mostlyclean'.

-- 
Regards, Mike Jonkmans



reply via email to

[Prev in Thread] Current Thread [Next in Thread]