Home | History | Annotate | Line # | Download | only in sets
makeflist revision 1.8
      1 #!/bin/sh
      2 #
      3 # $NetBSD: makeflist,v 1.8 1998/06/15 14:45:06 lukem Exp $
      4 #
      5 # Print out the files in some or all lists.
      6 # Usage: makeflist [-b] [-x] [-a arch] [-m machine] [-s setsdir] [setname ...]
      7 #
      8 
      9 # set defaults
     10 machine=${MACHINE:-`printf 'xxx:\n\techo ${MACHINE}' | make -s -f-`}
     11 arch=${MACHINE_ARCH:-`printf 'xxx:\n\techo ${MACHINE_ARCH}' | make -s -f-`}
     12 setd=`pwd`
     13 nlists="base comp etc games man misc text"
     14 xlists="xbase xcomp xcontrib xfont xserver"
     15 lists=$nlists
     16 
     17 # handle args
     18 while : ; do
     19 	case $1 in
     20 	-b*)
     21 		lists="$xlists $nlists"
     22 		;;
     23 	-x*)
     24 		lists=$xlists
     25 		;;
     26 	-a*)
     27 		arch=$2; shift
     28 		;;
     29 	-m*)
     30 		machine=$2; shift
     31 		;;
     32 	-s*)
     33 		setd=$2; shift
     34 		;;
     35 	-*)
     36 		cat 1>&2 <<USAGE
     37 Usage: $0 [-b] [-x] [-a arch] [-m machine] [-s setsdir] [setname ...]
     38 	-b		make netbsd + x11 lists
     39 	-x		only make x11 lists
     40 	-a arch		set arch (e.g, m68k, mips, powerpc)	[$arch]
     41 	-m machine	set machine (e.g, amiga, i386, macppc)	[$machine]
     42 	-s setsdir	directory to find sets	[$setd]
     43 	[setname ...]	sets to build 	[$lists]
     44 USAGE
     45 		exit 1
     46 		;;
     47 	*)
     48 		break
     49 		;;
     50 	esac
     51 	shift
     52 done
     53 if [ -n "$1" ]; then
     54 	lists="$@"
     55 fi
     56 
     57 # EXTRA SPECIAL (not done here): secr
     58 
     59 for setname in $lists; do
     60 	cat $setd/lists/$setname/mi
     61 	if [ "$machine" != "$cpu" -a -f $setd/lists/$setname/ad.${arch} ]; then
     62 		cat $setd/lists/$setname/ad.${arch}
     63 	fi
     64 	if [ -f $setd/lists/$setname/md.${machine} ]; then
     65 		cat $setd/lists/$setname/md.${machine}
     66 	fi
     67 
     68 	# Split man/md_share into: this machine, other machine
     69 	if [ $setname = man ]; then
     70 		grep ${machine} $setd/lists/man/md_share
     71 	fi
     72 	if [ $setname = misc ]; then
     73 		grep -v ${machine} $setd/lists/man/md_share
     74 	fi
     75 done | sort -u
     76