makeflist revision 1.9
11.2Sgwr#!/bin/sh
21.2Sgwr#
31.9Sjonathan# $NetBSD: makeflist,v 1.9 1998/07/02 06:36:35 jonathan Exp $
41.2Sgwr#
51.8Slukem# Print out the files in some or all lists.
61.8Slukem# Usage: makeflist [-b] [-x] [-a arch] [-m machine] [-s setsdir] [setname ...]
71.2Sgwr#
81.2Sgwr
91.2Sgwr# set defaults
101.8Slukemmachine=${MACHINE:-`printf 'xxx:\n\techo ${MACHINE}' | make -s -f-`}
111.8Slukemarch=${MACHINE_ARCH:-`printf 'xxx:\n\techo ${MACHINE_ARCH}' | make -s -f-`}
121.2Sgwrsetd=`pwd`
131.8Slukemnlists="base comp etc games man misc text"
141.4Sveegoxlists="xbase xcomp xcontrib xfont xserver"
151.8Slukemlists=$nlists
161.2Sgwr
171.2Sgwr# handle args
181.8Slukemwhile : ; do
191.2Sgwr	case $1 in
201.8Slukem	-b*)
211.8Slukem		lists="$xlists $nlists"
221.8Slukem		;;
231.8Slukem	-x*)
241.8Slukem		lists=$xlists
251.8Slukem		;;
261.8Slukem	-a*)
271.8Slukem		arch=$2; shift
281.8Slukem		;;
291.8Slukem	-m*)
301.8Slukem		machine=$2; shift
311.8Slukem		;;
321.8Slukem	-s*)
331.8Slukem		setd=$2; shift
341.8Slukem		;;
351.8Slukem	-*)
361.8Slukem		cat 1>&2 <<USAGE
371.8SlukemUsage: $0 [-b] [-x] [-a arch] [-m machine] [-s setsdir] [setname ...]
381.8Slukem	-b		make netbsd + x11 lists
391.8Slukem	-x		only make x11 lists
401.8Slukem	-a arch		set arch (e.g, m68k, mips, powerpc)	[$arch]
411.8Slukem	-m machine	set machine (e.g, amiga, i386, macppc)	[$machine]
421.8Slukem	-s setsdir	directory to find sets	[$setd]
431.8Slukem	[setname ...]	sets to build 	[$lists]
441.8SlukemUSAGE
451.8Slukem		exit 1
461.8Slukem		;;
471.8Slukem	*)
481.8Slukem		break
491.8Slukem		;;
501.2Sgwr	esac
511.2Sgwr	shift
521.2Sgwrdone
531.8Slukemif [ -n "$1" ]; then
541.8Slukem	lists="$@"
551.8Slukemfi
561.1Scgd
571.9Sjonathan# Compute toolchain  used on target cpu.
581.9Sjonathanif [ "$machine" = "vax" ]; then
591.9Sjonathan	shlib=
601.9Sjonathanelif [ "$arch" = "mips" -o "$machine" = "alpha" ]; then
611.9Sjonathan        shlib=elf
621.9Sjonathanelse
631.9Sjonathan        shlib=aout
641.9Sjonathanfi
651.9Sjonathan
661.1Scgd# EXTRA SPECIAL (not done here): secr
671.1Scgd
681.8Slukemfor setname in $lists; do
691.8Slukem	cat $setd/lists/$setname/mi
701.8Slukem	if [ "$machine" != "$cpu" -a -f $setd/lists/$setname/ad.${arch} ]; then
711.8Slukem		cat $setd/lists/$setname/ad.${arch}
721.8Slukem	fi
731.8Slukem	if [ -f $setd/lists/$setname/md.${machine} ]; then
741.8Slukem		cat $setd/lists/$setname/md.${machine}
751.9Sjonathan	fi
761.9Sjonathan	if [ "$shlib" != "" ]; then
771.9Sjonathan		if [ -f $setd/lists/$setname/shl.mi ]; then
781.9Sjonathan			cat $setd/lists/$setname/shl.mi
791.9Sjonathan		fi
801.9Sjonathan		if [ -f $setd/lists/$setname/shl.${shlib} ]; then
811.9Sjonathan			cat $setd/lists/$setname/shl.${shlib}
821.9Sjonathan		fi
831.8Slukem	fi
841.8Slukem
851.8Slukem	# Split man/md_share into: this machine, other machine
861.2Sgwr	if [ $setname = man ]; then
871.8Slukem		grep ${machine} $setd/lists/man/md_share
881.2Sgwr	fi
891.2Sgwr	if [ $setname = misc ]; then
901.8Slukem		grep -v ${machine} $setd/lists/man/md_share
911.2Sgwr	fi
921.8Slukemdone | sort -u
93