make clean failes to cleanup everything

Gerhard Schmidt schmidt at
Tue Oct 4 12:18:58 UTC 2016

Am 04.10.2016 um 14:03 schrieb Tijl Coosemans:
> On Tue, 4 Oct 2016 13:36:29 +0200 Gerhard Schmidt <schmidt at> wrote:
>> Am 04.10.2016 um 12:48 schrieb Tijl Coosemans:
>>> On Tue, 4 Oct 2016 09:52:23 +0200 Gerhard Schmidt <schmidt at> wrote:  
>>>> make clean fails to clean autoconf and automake.
>>>> If a port uses autoconf and autoconf isn't installed on the system, it
>>>> will be build and installed.
>>>> if you run make clean after installing the port, every dependency is
>>>> cleaned as well but not autoconf.  
>>> Can you give an example of such a port, because we have two mechanisms
>>> that can pull in autoconf.  
>> It's seams to be quite a complex problem.
>> To find out which ports causes this problem tried to build lang/php56
>> which uses autoconf. But when I do a make clean autoconf is cleaned as
>> well.
>> [root at etustar /usr/ports/lang/php56]# make clean
>> ===>  Cleaning for autoconf-2.69_1
>> ===>  Cleaning for php56-5.6.25_1  
>> But it also installs help2man, gmake, p5-Locale-gettext-1.06 and
>> autoconf-wrapper-20131203 and these are not cleaned.
>> The transcript is attached as typescript_clean
>> now do a pkg autoremove which removes autoconf and the missed ports form
>> the system.
>> now try again to compile php56 and it fails
>> the transcript is attached as typescript_unclean
>> It seams that dependencies of dependencies are not clean. It seams that
>> autoconf was only the most memorable one.
> This seems to be intended.  Make clean runs make limited-clean-depends
> which cleans direct dependencies only.  If you want to do full recursive
> clean you have to run make clean-depends.

I use FreeBSD since FreeBSD 2.2.5. When did this change in semantics
happen? Why do the first layer. This is something nobody can understand.
Either make clean should only clean the actual port. So everybody sees
that dependencies are not cleaned (maybe a message "You should run make
clean-depens to clean dependencies as well" should be printed if
dependencies are touched) or do it right and clean all touched.

make clean-depends doesn't take that much more time than make clean, so
why the change?


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 847 bytes
Desc: OpenPGP digital signature
URL: <>

More information about the freebsd-ports mailing list