tech-toolchain archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Changing "make clean" and "make cleandir"
>How about this variable:
>
> MKCLEANSRC
> If set to "yes" then the "clean" and "cleandir"
This sounds reasonable.
> targets will repeat their work in the source
> directory ${.CURDIR}, in addition to the usual
> work in ${.OBJDIR}. If set to "no" then only
> ${.OBJDIR} is cleaned, which is the traditional
> behaviour. The default is "???".
>
>I'd like the default to be "yes", to help people who run "make"
>in a subdirectory of the source tree without obj dirs, then later
>run a build with obj dirs. In this situation, I'd like a "make
>cleandir" at the start of the build to remove stray files in the
>src tree. The default can be switched to "no" by auto-obj.mk.
>However, I would accept the default being "no", with build.sh
>setting it to "yes".
I'm biased towards "no" as the default, since it it means no behavior
change, so should be least surprising.
>Do you also want a knob to switch whether or not to use "ls" to
>verify that "rm" worked? If so, I'd really like the default to be
>"yes".
I'm not convinced the "ls" thing is needed.
Anyone sharing a read-only src tree isn't able to polute it - unless
using unionfs, if the default is "no" though, it doesn't do any harm.
>
>I added two knobs in a test tree, and here are some timing results
>from
>
> /usr/bin/time -c \
> /bin/sh ./build.sh -U -O ../obj \
> -V MKCLEANSRC=XXX -V MKCLEANVERIFY=XXX \
> cleandir >/dev/null
>
>in a NetBSD-current source tree with obj dirs. I discarded the
>first two timing results for each case, to warm the cache.
So MKCLEANSRC=yes MKCLEANVERIFY=yes cost about 40%
that's significant.
Home |
Main Index |
Thread Index |
Old Index