nmh-workers
[Top][All Lists]
Advanced

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

[Nmh-workers] 1.7's `make clean' is Overzealous.


From: Ralph Corderoy
Subject: [Nmh-workers] 1.7's `make clean' is Overzealous.
Date: Tue, 28 Nov 2017 00:10:44 +0000

Hi,

I asked a Cygwin-running friend, no, really, some of my best friends run
Cygwin, to give 1.7's tar file a spin given he's not an nmh user, but
knows the `./configure && make all check' dance.

After installing, gcc-core, libncurses-devel, libgdbm-devel, and make,
he got to the end of a successful `make check' with just some skips.  He
then added libsasl2-devel, openssl-devel, and libcurl-devel, based on my
prompting to specify the --with-... options and dealing with the errors
when they couldn't be satisfied.

Through this, he did a `make clean' at some point, and then found,
unlike the first time, that make assumed flex was to hand when it
wasn't, and it wasn't needed the first time around.  As the warning for
sbr/dtimep.c told him, `You should only need it if you modified a '.l'
file', and he didn't.  He installed flex anyway, and then the m4 that
was needed, and got to the end of another `make check' with only
`valgrind' skipped.

I don't think `make clean' should be removing files shipped in the tar
file.  The whole idea is those files only need `maintainer' tools to
build them and thus a `maintainer-clean' removes them, but not `lighter'
cleans.
https://www.gnu.org/software/automake/manual/html_node/Clean.html#Clean
is a bit vague, but seems to agree.  The Makefile has

    maintainer-clean-generic:
            @echo "This command is intended for maintainers to use"
            @echo "it deletes files that may require special tools to rebuild."
            -rm -f sbr/dtimep.c
            -rm -f sbr/icalendar.c
            -rm -f sbr/icalparse.c
            -rm -f sbr/icalparse.h

So it's removing dtimep.c, which seems to suggest I'm right, but then it
also has

    CLEANFILES = \
    ...
        sbr/dtimep.c \

due to David's 1353a9572 from early 2014, "Added sbr/dtimep.c to
CLEANFILES so that make distcheck passes on FreeBSD 9", and "automake
1.12.6 on FreeBSD 9 needs the sbr/dtimep.c".

Is my understanding of `make clean' correct?  It's been a long time
since used metaconf and autoconf.  And does anyone recall what this
problem was?  I'm guessing automake 1.12.6 got grumpy when it looked for
leftovers in a distcheck after a clean?

-- 
Cheers, Ralph.
https://plus.google.com/+RalphCorderoy



reply via email to

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