makeflist revision 1.20
11.2Sgwr#!/bin/sh
21.2Sgwr#
31.20Sjwise# $NetBSD: makeflist,v 1.20 2000/01/23 20:31:17 jwise 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.14Sitohy: ${MAKE=make}
111.14Sitohymachine=${MACHINE:-`printf 'xxx:\n\techo ${MACHINE}' | $MAKE -s -f-`}
121.14Sitohyarch=${MACHINE_ARCH:-`printf 'xxx:\n\techo ${MACHINE_ARCH}' | $MAKE -s -f-`}
131.2Sgwrsetd=`pwd`
141.8Slukemnlists="base comp etc games man misc text"
151.4Sveegoxlists="xbase xcomp xcontrib xfont xserver"
161.8Slukemlists=$nlists
171.2Sgwr
181.2Sgwr# handle args
191.8Slukemwhile : ; do
201.2Sgwr	case $1 in
211.10Sperry	-d*)
221.10Sperry		nlists="$nlists secr"
231.10Sperry		lists=$nlists
241.10Sperry		;;
251.19Smrg	-i*)
261.19Smrg		nlists="$nlists cryptint"
271.19Smrg		lists=$nlists
281.19Smrg		;;
291.8Slukem	-b*)
301.8Slukem		lists="$xlists $nlists"
311.8Slukem		;;
321.8Slukem	-x*)
331.8Slukem		lists=$xlists
341.8Slukem		;;
351.8Slukem	-a*)
361.8Slukem		arch=$2; shift
371.8Slukem		;;
381.8Slukem	-m*)
391.8Slukem		machine=$2; shift
401.8Slukem		;;
411.8Slukem	-s*)
421.8Slukem		setd=$2; shift
431.8Slukem		;;
441.8Slukem	-*)
451.8Slukem		cat 1>&2 <<USAGE
461.8SlukemUsage: $0 [-b] [-x] [-a arch] [-m machine] [-s setsdir] [setname ...]
471.8Slukem	-b		make netbsd + x11 lists
481.10Sperry	-d		do domestic ("secr") sets
491.19Smrg	-i		do international crypto ("cryptint") sets
501.8Slukem	-x		only make x11 lists
511.8Slukem	-a arch		set arch (e.g, m68k, mips, powerpc)	[$arch]
521.8Slukem	-m machine	set machine (e.g, amiga, i386, macppc)	[$machine]
531.8Slukem	-s setsdir	directory to find sets	[$setd]
541.8Slukem	[setname ...]	sets to build 	[$lists]
551.8SlukemUSAGE
561.8Slukem		exit 1
571.8Slukem		;;
581.8Slukem	*)
591.8Slukem		break
601.8Slukem		;;
611.2Sgwr	esac
621.2Sgwr	shift
631.2Sgwrdone
641.8Slukemif [ -n "$1" ]; then
651.8Slukem	lists="$@"
661.8Slukemfi
671.15Ssimonb
681.15Ssimonb# Convert mipse[lb] to mips after processing command line arguments.
691.15Ssimonbarch=`echo $arch | sed s,^mipse.,mips,`
701.1Scgd
711.9Sjonathan# Compute toolchain  used on target cpu.
721.18Sfvdlif [ "$arch" = "mips" -o "$machine" = "alpha" -o "$arch" = "powerpc" -o "$arch" = "sparc" -o "$arch" = "i386" ]; then
731.9Sjonathan        shlib=elf
741.9Sjonathanelse
751.9Sjonathan        shlib=aout
761.9Sjonathanfi
771.1Scgd
781.8Slukemfor setname in $lists; do
791.20Sjwise	awk -- '{print $1}' $setd/lists/$setname/mi
801.8Slukem	if [ "$machine" != "$cpu" -a -f $setd/lists/$setname/ad.${arch} ]; then
811.20Sjwise		awk -- '{print $1}' $setd/lists/$setname/ad.${arch}
821.8Slukem	fi
831.8Slukem	if [ -f $setd/lists/$setname/md.${machine} ]; then
841.20Sjwise		awk -- '{print $1}' $setd/lists/$setname/md.${machine}
851.9Sjonathan	fi
861.9Sjonathan	if [ "$shlib" != "" ]; then
871.9Sjonathan		if [ -f $setd/lists/$setname/shl.mi ]; then
881.20Sjwise			awk -- '{print $1}' $setd/lists/$setname/shl.mi
891.9Sjonathan		fi
901.9Sjonathan		if [ -f $setd/lists/$setname/shl.${shlib} ]; then
911.20Sjwise			awk -- '{print $1}' $setd/lists/$setname/shl.${shlib}
921.9Sjonathan		fi
931.8Slukem	fi
941.8Slukem
951.8Slukem	# Split man/md_share into: this machine, other machine
961.2Sgwr	if [ $setname = man ]; then
971.8Slukem		grep ${machine} $setd/lists/man/md_share
981.2Sgwr	fi
991.2Sgwr	if [ $setname = misc ]; then
1001.8Slukem		grep -v ${machine} $setd/lists/man/md_share
1011.2Sgwr	fi
1021.19Smrg
1031.16Ssimonbdone | egrep -v '^#' | sort -u
104