makeflist revision 1.80 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