Subject: Re: Proposal EXCLUDE_SUBDIRS
To: Frederick Bruckman <fb@enteract.com>
From: David Brownlee <abs@netbsd.org>
List: tech-misc
Date: 08/24/2000 09:57:49
This fits my needs very well - many thanks :)
ccing this to port-hpcmips in case any of the pocketbsd people
might have comments based on their work producing a smaller
distrib... :)
David/absolute
-- www.netbsd.org: A pmap for every occasion --
On Wed, 23 Aug 2000, Frederick Bruckman wrote:
> As I got no response to my last post, I've cleaned this up a little,
> and included directions. The idea is to arbitrarily exclude
> directories on the command line or in /etc/mk.conf, like so:
>
> .ifndef DESTDIR
> EXCLUDE_SUBDIRS= gnu/libexec gnu/usr.bin/sendmail \
> usr.sbin/amd
> .endif # DESTDIR
>
> The 'DESTDIR' thing is in case you ever wanted to do a "make release".
> You can't depend on "make(release)" because of all the recursive makes.
>
> I'm ready to commit this, if there are no objections.
>
>
> Frederick
>
>
> Index: bsd.README
> ===================================================================
> RCS file: /cvsroot/sharesrc/share/mk/bsd.README,v
> retrieving revision 1.63.4.1
> diff -c -r1.63.4.1 bsd.README
> *** bsd.README 2000/06/24 06:59:38 1.63.4.1
> --- bsd.README 2000/08/24 04:36:31
> ***************
> *** 75,80 ****
> --- 75,88 ----
> UNPRIVILEGED If defined, don't set the owner/group/mode when installing
> files or directories. This allows a non-root "make install".
>
> + EXCLUDE_SUBDIRS This can be set to a list of directories (or subdirectories)
> + to be arbitrarily excluded from the build. Directories are
> + specified relative to the top level, to any arbitrary depth,
> + such as, for example ``gnu/usr.sbin/sendmail gnu/libexec''.
> + Note that this isn't guaranteed to work in the general case,
> + as you could easily exclude a directory which builds targets
> + that are needed by some other directory.
> +
> MKCATPAGES If "no", don't build or install the catman pages.
>
> MKDOC If "no", don't build or install the documentation.
> Index: bsd.subdir.mk
> ===================================================================
> RCS file: /cvsroot/sharesrc/share/mk/bsd.subdir.mk,v
> retrieving revision 1.38
> diff -c -r1.38 bsd.subdir.mk
> *** bsd.subdir.mk 2000/06/06 08:54:06 1.38
> --- bsd.subdir.mk 2000/08/24 04:36:31
> ***************
> *** 10,15 ****
> --- 10,24 ----
> .MAIN: all
> .endif
>
> + .if defined(EXCLUDE_SUBDIRS)
> + .for __EXCLUDE_SUBDIR in ${EXCLUDE_SUBDIRS}
> + .if ${BSDSRCDIR}/${__EXCLUDE_SUBDIR:H} == ${.CURDIR}
> + __TMP_SUBDIR:= ${SUBDIR:N${__EXCLUDE_SUBDIR:T}}
> + SUBDIR:= ${__TMP_SUBDIR}
> + .endif
> + .endfor
> + .endif # defined(EXCLUDE_SUBDIRS)
> +
> .for dir in ${SUBDIR}
> .if exists(${dir}.${MACHINE})
> __REALSUBDIR+=${dir}.${MACHINE}
>
>
>