makeflist revision 1.75
11.2Sgwr#!/bin/sh
21.2Sgwr#
31.75Suebayasi# $NetBSD: makeflist,v 1.75 2009/11/30 16:13:23 uebayasi Exp $
41.2Sgwr#
51.8Slukem# Print out the files in some or all lists.
61.70Slukem# Usage: makeflist [-bxlo] [-a arch] [-m machine] [-s setsdir] [setname ...]
71.2Sgwr#
81.2Sgwr
91.73Sapbrundir="$(dirname "$0")" # ${0%/*} isn't good enough when there's no "/"
101.73Sapb. "${rundir}/sets.subr"
111.73Sapblists="${nlists}"
121.65Sdyoung
131.67Slukemusage()
141.67Slukem{
151.67Slukem	cat 1>&2 <<USAGE
161.75SuebayasiUsage: ${0##*/} [-L base,x,ext] [-bxyo] [-a arch] [-m machine] [-s setsdir] [setname [...]]
171.75Suebayasi	-L base,x,ext	print specified lists
181.67Slukem	-b		print netbsd + x11 lists
191.67Slukem	-x		print make x11 lists
201.75Suebayasi	-y		print make extsrc lists
211.70Slukem	-l		just list the selected set names, not the contents
221.67Slukem	-o		only match obsolete files
231.73Sapb	-a arch		set arch (e.g, m68k, mipseb, mipsel, powerpc) [${MACHINE_ARCH}]
241.73Sapb	-m machine	set machine (e.g, amiga, i386, macppc) [${MACHINE}]
251.73Sapb	-s setsdir	directory to find sets [${setsdir}]
261.73Sapb	[setname [...]]	sets to build [${lists}]
271.67SlukemUSAGE
281.67Slukem	exit 1
291.67Slukem}
301.61Sdyoung
311.2Sgwr# handle args
321.75Suebayasiwhile getopts L:bxXloa:m:s: ch; do
331.67Slukem	case ${ch} in
341.75Suebayasi	L)
351.75Suebayasi		lists=$(
361.75Suebayasi			for _list in $( echo ${OPTARG} | tr , ' ' ); do
371.75Suebayasi				case $_list in
381.75Suebayasi				base)	echo "${nlists}" ;;
391.75Suebayasi				x)	echo "${xlists}" ;;
401.75Suebayasi				ext)	echo "${extlists}" ;;
411.75Suebayasi				esac
421.75Suebayasi			done
431.75Suebayasi		)
441.75Suebayasi		;;
451.75Suebayasi	# backward compat
461.67Slukem	b)
471.73Sapb		lists="${nlists} ${xlists}"
481.8Slukem		;;
491.67Slukem	x)
501.73Sapb		lists="${xlists}"
511.67Slukem		;;
521.75Suebayasi	y)
531.75Suebayasi		lists="${extlists}"
541.75Suebayasi		;;
551.70Slukem	l)
561.70Slukem		listonly=1
571.70Slukem		;;
581.67Slukem	o)
591.67Slukem		obsolete=1
601.67Slukem		;;
611.67Slukem	a)
621.73Sapb		MACHINE_ARCH="${OPTARG}"
631.73Sapb		MACHINE_CPU="$(arch_to_cpu "${OPTARG}")"
641.8Slukem		;;
651.67Slukem	m)
661.73Sapb		MACHINE="${OPTARG}"
671.67Slukem		;;
681.67Slukem	s)
691.73Sapb		setsdir="${OPTARG}"
701.8Slukem		;;
711.8Slukem	*)
721.67Slukem		usage
731.8Slukem		;;
741.2Sgwr	esac
751.2Sgwrdone
761.67Slukemshift $((${OPTIND} - 1))
771.8Slukemif [ -n "$1" ]; then
781.74Sapb	lists="$*"
791.8Slukemfi
801.15Ssimonb
811.73Sapbif [ -n "${listonly}" ]; then
821.70Slukem	echo ${lists} | tr ' ' '\n'
831.70Slukem	exit 0
841.70Slukemfi
851.70Slukem
861.73Sapblist_set_files ${lists} | ${AWK} '{print $1}' | ${SORT} -u
87