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