Home | History | Annotate | Line # | Download | only in sets
makeflist revision 1.21.2.2
      1  1.21.2.2  mrg #!/bin/sh
      2  1.21.2.2  mrg #
      3  1.21.2.2  mrg # $NetBSD: makeflist,v 1.21.2.2 2000/08/22 05:38:13 mrg Exp $
      4  1.21.2.2  mrg #
      5  1.21.2.2  mrg # Print out the files in some or all lists.
      6  1.21.2.2  mrg # Usage: makeflist [-b] [-x] [-a arch] [-m machine] [-s setsdir] [setname ...]
      7  1.21.2.2  mrg #
      8  1.21.2.2  mrg 
      9  1.21.2.2  mrg # set defaults
     10  1.21.2.2  mrg : ${MAKE=make}
     11  1.21.2.2  mrg machine=${MACHINE:-`printf 'xxx:\n\techo ${MACHINE}' | $MAKE -s -f-`}
     12  1.21.2.2  mrg arch=${MACHINE_ARCH:-`printf 'xxx:\n\techo ${MACHINE_ARCH}' | $MAKE -s -f-`}
     13  1.21.2.2  mrg setd=`pwd`
     14  1.21.2.2  mrg nlists="base comp etc games man misc text"
     15  1.21.2.2  mrg xlists="xbase xcomp xcontrib xfont xserver"
     16  1.21.2.2  mrg lists=$nlists
     17  1.21.2.2  mrg 
     18  1.21.2.2  mrg # handle args
     19  1.21.2.2  mrg while : ; do
     20  1.21.2.2  mrg 	case $1 in
     21  1.21.2.2  mrg 	-b*)
     22  1.21.2.2  mrg 		lists="$xlists $nlists"
     23  1.21.2.2  mrg 		;;
     24  1.21.2.2  mrg 	-x*)
     25  1.21.2.2  mrg 		lists=$xlists
     26  1.21.2.2  mrg 		;;
     27  1.21.2.2  mrg 	-a*)
     28  1.21.2.2  mrg 		arch=$2; shift
     29  1.21.2.2  mrg 		;;
     30  1.21.2.2  mrg 	-m*)
     31  1.21.2.2  mrg 		machine=$2; shift
     32  1.21.2.2  mrg 		;;
     33  1.21.2.2  mrg 	-s*)
     34  1.21.2.2  mrg 		setd=$2; shift
     35  1.21.2.2  mrg 		;;
     36  1.21.2.2  mrg 	-*)
     37  1.21.2.2  mrg 		cat 1>&2 <<USAGE
     38  1.21.2.2  mrg Usage: $0 [-b] [-x] [-a arch] [-m machine] [-s setsdir] [setname ...]
     39  1.21.2.2  mrg 	-b		make netbsd + x11 lists
     40  1.21.2.2  mrg 	-x		only make x11 lists
     41  1.21.2.2  mrg 	-a arch		set arch (e.g, m68k, mips, powerpc)	[$arch]
     42  1.21.2.2  mrg 	-m machine	set machine (e.g, amiga, i386, macppc)	[$machine]
     43  1.21.2.2  mrg 	-s setsdir	directory to find sets	[$setd]
     44  1.21.2.2  mrg 	[setname ...]	sets to build 	[$lists]
     45  1.21.2.2  mrg USAGE
     46  1.21.2.2  mrg 		exit 1
     47  1.21.2.2  mrg 		;;
     48  1.21.2.2  mrg 	*)
     49  1.21.2.2  mrg 		break
     50  1.21.2.2  mrg 		;;
     51  1.21.2.2  mrg 	esac
     52  1.21.2.2  mrg 	shift
     53  1.21.2.2  mrg done
     54  1.21.2.2  mrg if [ -n "$1" ]; then
     55  1.21.2.2  mrg 	lists="$@"
     56  1.21.2.2  mrg fi
     57  1.21.2.2  mrg 
     58  1.21.2.2  mrg # Convert mipse[lb] to mips after processing command line arguments.
     59  1.21.2.2  mrg arch=`echo $arch | sed s,^mipse.,mips,`
     60  1.21.2.2  mrg 
     61  1.21.2.2  mrg # Compute toolchain  used on target cpu.
     62  1.21.2.2  mrg if [ "$arch" = "mips" -o "$machine" = "alpha" -o "$arch" = "powerpc" -o "$arch" = "sparc" -o "$arch" = "sparc64" -o "$arch" = "i386" ]; then
     63  1.21.2.2  mrg         shlib=elf
     64  1.21.2.2  mrg else
     65  1.21.2.2  mrg         shlib=aout
     66  1.21.2.2  mrg fi
     67  1.21.2.2  mrg 
     68  1.21.2.2  mrg for setname in $lists; do
     69  1.21.2.2  mrg 	awk -- '{print $1}' $setd/lists/$setname/mi
     70  1.21.2.2  mrg 	if [ "$machine" != "$cpu" -a -f $setd/lists/$setname/ad.${arch} ]; then
     71  1.21.2.2  mrg 		awk -- '{print $1}' $setd/lists/$setname/ad.${arch}
     72  1.21.2.2  mrg 	fi
     73  1.21.2.2  mrg 	if [ -f $setd/lists/$setname/md.${machine} ]; then
     74  1.21.2.2  mrg 		awk -- '{print $1}' $setd/lists/$setname/md.${machine}
     75  1.21.2.2  mrg 	fi
     76  1.21.2.2  mrg 	if [ "$shlib" != "" ]; then
     77  1.21.2.2  mrg 		if [ -f $setd/lists/$setname/shl.mi ]; then
     78  1.21.2.2  mrg 			awk -- '{print $1}' $setd/lists/$setname/shl.mi
     79  1.21.2.2  mrg 		fi
     80  1.21.2.2  mrg 		if [ -f $setd/lists/$setname/shl.${shlib} ]; then
     81  1.21.2.2  mrg 			awk -- '{print $1}' $setd/lists/$setname/shl.${shlib}
     82  1.21.2.2  mrg 		fi
     83  1.21.2.2  mrg 	fi
     84  1.21.2.2  mrg 
     85  1.21.2.2  mrg 	# Split man/md_share into: this machine, other machine
     86  1.21.2.2  mrg 	if [ $setname = man ]; then
     87  1.21.2.2  mrg 		grep ${machine} $setd/lists/man/md_share
     88  1.21.2.2  mrg 	fi
     89  1.21.2.2  mrg 	if [ $setname = misc ]; then
     90  1.21.2.2  mrg 		grep -v ${machine} $setd/lists/man/md_share
     91  1.21.2.2  mrg 	fi
     92  1.21.2.2  mrg 
     93  1.21.2.2  mrg done | egrep -v '^#' | sort -u
     94