Home | History | Annotate | Line # | Download | only in sets
      1   1.2       gwr #!/bin/sh
      2   1.2       gwr #
      3  1.80  christos # $NetBSD: makeflist,v 1.80 2023/11/08 13:02:47 christos Exp $
      4   1.2       gwr #
      5   1.8     lukem # Print out the files in some or all lists.
      6  1.70     lukem # Usage: makeflist [-bxlo] [-a arch] [-m machine] [-s setsdir] [setname ...]
      7   1.2       gwr #
      8   1.2       gwr 
      9  1.73       apb rundir="$(dirname "$0")" # ${0%/*} isn't good enough when there's no "/"
     10  1.73       apb . "${rundir}/sets.subr"
     11  1.76    cegger lists=
     12  1.65    dyoung 
     13  1.67     lukem usage()
     14  1.67     lukem {
     15  1.67     lukem 	cat 1>&2 <<USAGE
     16  1.78     lukem Usage: ${0##*/} [-L base,x] [-bxo] [-a arch] [-m machine] [-s setsdir] [setname [...]]
     17  1.78     lukem 	-L base,x	print specified lists
     18  1.67     lukem 	-b		print netbsd + x11 lists
     19  1.67     lukem 	-x		print make x11 lists
     20  1.70     lukem 	-l		just list the selected set names, not the contents
     21  1.67     lukem 	-o		only match obsolete files
     22  1.73       apb 	-a arch		set arch (e.g, m68k, mipseb, mipsel, powerpc) [${MACHINE_ARCH}]
     23  1.73       apb 	-m machine	set machine (e.g, amiga, i386, macppc) [${MACHINE}]
     24  1.73       apb 	-s setsdir	directory to find sets [${setsdir}]
     25  1.73       apb 	[setname [...]]	sets to build [${lists}]
     26  1.67     lukem USAGE
     27  1.67     lukem 	exit 1
     28  1.67     lukem }
     29  1.61    dyoung 
     30  1.80  christos umask 022
     31   1.2       gwr # handle args
     32  1.77  christos while getopts L:bxloa:m:s: ch; do
     33  1.67     lukem 	case ${ch} in
     34  1.75  uebayasi 	L)
     35  1.76    cegger 		save_IFS="${IFS}"
     36  1.76    cegger 		IFS=,
     37  1.76    cegger 		for _list in ${OPTARG}; do
     38  1.76    cegger 			case $_list in
     39  1.76    cegger 			base)	lists="${lists} ${nlists}" ;;
     40  1.76    cegger 			x)	lists="${lists} ${xlists}" ;;
     41  1.76    cegger 			esac
     42  1.76    cegger 		done
     43  1.76    cegger 		IFS="${save_IFS}"
     44  1.75  uebayasi 		;;
     45  1.75  uebayasi 	# backward compat
     46  1.67     lukem 	b)
     47  1.73       apb 		lists="${nlists} ${xlists}"
     48   1.8     lukem 		;;
     49  1.67     lukem 	x)
     50  1.73       apb 		lists="${xlists}"
     51  1.67     lukem 		;;
     52  1.70     lukem 	l)
     53  1.70     lukem 		listonly=1
     54  1.70     lukem 		;;
     55  1.67     lukem 	o)
     56  1.67     lukem 		obsolete=1
     57  1.67     lukem 		;;
     58  1.67     lukem 	a)
     59  1.73       apb 		MACHINE_ARCH="${OPTARG}"
     60  1.73       apb 		MACHINE_CPU="$(arch_to_cpu "${OPTARG}")"
     61   1.8     lukem 		;;
     62  1.67     lukem 	m)
     63  1.73       apb 		MACHINE="${OPTARG}"
     64  1.67     lukem 		;;
     65  1.67     lukem 	s)
     66  1.73       apb 		setsdir="${OPTARG}"
     67   1.8     lukem 		;;
     68   1.8     lukem 	*)
     69  1.67     lukem 		usage
     70   1.8     lukem 		;;
     71   1.2       gwr 	esac
     72   1.2       gwr done
     73  1.67     lukem shift $((${OPTIND} - 1))
     74   1.8     lukem if [ -n "$1" ]; then
     75  1.74       apb 	lists="$*"
     76   1.8     lukem fi
     77  1.15    simonb 
     78  1.73       apb if [ -n "${listonly}" ]; then
     79  1.70     lukem 	echo ${lists} | tr ' ' '\n'
     80  1.70     lukem 	exit 0
     81  1.70     lukem fi
     82  1.70     lukem 
     83  1.76    cegger list_set_files ${lists:-${nlists}} | ${AWK} '{print $1}' | ${SORT} -u
     84