NetBSD/distrib/sets/makeflist
tv 8b5d5857ce Obliterate "man/md_share". The difference is negligible relative to the
size of the man set, and with all architectures' man pages in "man", we
can now share both "man" and "misc" on all platforms (CD-ROM space saver).
2000-10-05 00:11:43 +00:00

85 lines
2.0 KiB
Bash
Executable File

#!/bin/sh
#
# $NetBSD: makeflist,v 1.24 2000/10/05 00:11:43 tv Exp $
#
# Print out the files in some or all lists.
# Usage: makeflist [-b] [-x] [-a arch] [-m machine] [-s setsdir] [setname ...]
#
# set defaults
: ${MAKE=make}
machine=${MACHINE:-`printf 'xxx:\n\techo ${MACHINE}' | $MAKE -s -f-`}
arch=${MACHINE_ARCH:-`printf 'xxx:\n\techo ${MACHINE_ARCH}' | $MAKE -s -f-`}
setd=`pwd`
nlists="base comp etc games man misc text"
xlists="xbase xcomp xcontrib xfont xserver xmisc"
lists=$nlists
# handle args
while : ; do
case $1 in
-b*)
lists="$xlists $nlists"
;;
-x*)
lists=$xlists
;;
-a*)
arch=$2; shift
;;
-m*)
machine=$2; shift
;;
-s*)
setd=$2; shift
;;
-*)
cat 1>&2 <<USAGE
Usage: $0 [-b] [-x] [-a arch] [-m machine] [-s setsdir] [setname ...]
-b make netbsd + x11 lists
-x only make x11 lists
-a arch set arch (e.g, m68k, mips, powerpc) [$arch]
-m machine set machine (e.g, amiga, i386, macppc) [$machine]
-s setsdir directory to find sets [$setd]
[setname ...] sets to build [$lists]
USAGE
exit 1
;;
*)
break
;;
esac
shift
done
if [ -n "$1" ]; then
lists="$@"
fi
# Convert mipse[lb] to mips after processing command line arguments.
arch=`echo $arch | sed s,^mipse.,mips,`
# Compute toolchain used on target cpu.
if [ "$arch" = "mips" -o "$machine" = "alpha" -o "$arch" = "powerpc" -o "$arch" = "sparc" -o "$arch" = "sparc64" -o "$arch" = "i386" ]; then
shlib=elf
else
shlib=aout
fi
for setname in $lists; do
awk -- '{print $1}' $setd/lists/$setname/mi
if [ "$machine" != "$cpu" -a -f $setd/lists/$setname/ad.${arch} ]; then
awk -- '{print $1}' $setd/lists/$setname/ad.${arch}
fi
if [ -f $setd/lists/$setname/md.${machine} ]; then
awk -- '{print $1}' $setd/lists/$setname/md.${machine}
fi
if [ "$shlib" != "" ]; then
if [ -f $setd/lists/$setname/shl.mi ]; then
awk -- '{print $1}' $setd/lists/$setname/shl.mi
fi
if [ -f $setd/lists/$setname/shl.${shlib} ]; then
awk -- '{print $1}' $setd/lists/$setname/shl.${shlib}
fi
fi
done | egrep -v '^#' | sort -u