makeflist revision 1.72
1#!/bin/sh
2#
3# $NetBSD: makeflist,v 1.72 2006/01/03 16:40:16 apb Exp $
4#
5# Print out the files in some or all lists.
6# Usage: makeflist [-bxlo] [-a arch] [-m machine] [-s setsdir] [setname ...]
7#
8
9rundir=${0%/*}
10. ${rundir}/sets.subr
11lists=$nlists
12
13usage()
14{
15	cat 1>&2 <<USAGE
16Usage: ${0##*/} [-bxlo] [-a arch] [-m machine] [-s setsdir] [setname [...]]
17	-b		print netbsd + x11 lists
18	-x		print make x11 lists
19	-l		just list the selected set names, not the contents
20	-o		only match obsolete files
21	-a arch		set arch (e.g, m68k, mipseb, mipsel, powerpc) [$MACHINE_ARCH]
22	-m machine	set machine (e.g, amiga, i386, macppc) [$MACHINE]
23	-s setsdir	directory to find sets [$setsdir]
24	[setname [...]]	sets to build [$lists]
25USAGE
26	exit 1
27}
28
29# handle args
30while getopts bxloa:m:s: ch; do
31	case ${ch} in
32	b)
33		lists="$nlists $xlists"
34		;;
35	x)
36		lists="$xlists"
37		;;
38	l)
39		listonly=1
40		;;
41	o)
42		obsolete=1
43		;;
44	a)
45		MACHINE_ARCH=${OPTARG}
46		MACHINE_CPU=$(arch_to_cpu ${OPTARG})
47		;;
48	m)
49		MACHINE=${OPTARG}
50		;;
51	s)
52		setsdir=${OPTARG}
53		;;
54	*)
55		usage
56		;;
57	esac
58done
59shift $((${OPTIND} - 1))
60if [ -n "$1" ]; then
61	lists="$@"
62fi
63
64if [ -n "$listonly" ]; then
65	echo ${lists} | tr ' ' '\n'
66	exit 0
67fi
68
69list_set_files $lists | ${AWK} '{print $1}' | ${SORT} -u
70