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