#!/bin/sh
#
# $NetBSD: makeflist,v 1.71 2004/07/23 15:11:26 erh Exp $
#
# Print out the files in some or all lists.
# Usage: makeflist [-bxlo] [-a arch] [-m machine] [-s setsdir] [setname ...]
#

rundir=${0%/*}
. ${rundir}/sets.subr
lists=$nlists

usage()
{
	cat 1>&2 <<USAGE
Usage: ${0##*/} [-bxlo] [-a arch] [-m machine] [-s setsdir] [setname [...]]
	-b		print netbsd + x11 lists
	-x		print make x11 lists
	-l		just list the selected set names, not the contents
	-o		only match obsolete files
	-a arch		set arch (e.g, m68k, mipseb, mipsel, powerpc) [$MACHINE_ARCH]
	-m machine	set machine (e.g, amiga, i386, macppc) [$MACHINE]
	-s setsdir	directory to find sets [$setsdir]
	[setname [...]]	sets to build [$lists]
USAGE
	exit 1
}

# handle args
while getopts bxloa:m:s: ch; do
	case ${ch} in
	b)
		lists="$nlists $xlists"
		;;
	x)
		lists="$xlists"
		;;
	l)
		listonly=1
		;;
	o)
		obsolete=1
		;;
	a)
		MACHINE_ARCH=${OPTARG}
		MACHINE_CPU=$(arch_to_cpu ${OPTARG})
		;;
	m)
		MACHINE=${OPTARG}
		;;
	s)
		setsdir=${OPTARG}
		;;
	*)
		usage
		;;
	esac
done
shift $((${OPTIND} - 1))
if [ -n "$1" ]; then
	lists="$@"
fi

if [ -n "$listonly" ]; then
	echo ${lists} | tr ' ' '\n'
	exit 0
fi

list_set_files $lists | awk '{print $1}' | sort -u
