1#!/bin/sh 2# 3# $NetBSD: makeflist,v 1.80 2023/11/08 13:02:47 christos 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 30umask 022 31# handle args 32while getopts L:bxloa:m:s: ch; do 33 case ${ch} in 34 L) 35 save_IFS="${IFS}" 36 IFS=, 37 for _list in ${OPTARG}; do 38 case $_list in 39 base) lists="${lists} ${nlists}" ;; 40 x) lists="${lists} ${xlists}" ;; 41 esac 42 done 43 IFS="${save_IFS}" 44 ;; 45 # backward compat 46 b) 47 lists="${nlists} ${xlists}" 48 ;; 49 x) 50 lists="${xlists}" 51 ;; 52 l) 53 listonly=1 54 ;; 55 o) 56 obsolete=1 57 ;; 58 a) 59 MACHINE_ARCH="${OPTARG}" 60 MACHINE_CPU="$(arch_to_cpu "${OPTARG}")" 61 ;; 62 m) 63 MACHINE="${OPTARG}" 64 ;; 65 s) 66 setsdir="${OPTARG}" 67 ;; 68 *) 69 usage 70 ;; 71 esac 72done 73shift $((${OPTIND} - 1)) 74if [ -n "$1" ]; then 75 lists="$*" 76fi 77 78if [ -n "${listonly}" ]; then 79 echo ${lists} | tr ' ' '\n' 80 exit 0 81fi 82 83list_set_files ${lists:-${nlists}} | ${AWK} '{print $1}' | ${SORT} -u 84