makeflist revision 1.78
11.2Sgwr#!/bin/sh 21.2Sgwr# 31.78Slukem# $NetBSD: makeflist,v 1.78 2022/08/21 07:10:03 lukem Exp $ 41.2Sgwr# 51.8Slukem# Print out the files in some or all lists. 61.70Slukem# Usage: makeflist [-bxlo] [-a arch] [-m machine] [-s setsdir] [setname ...] 71.2Sgwr# 81.2Sgwr 91.73Sapbrundir="$(dirname "$0")" # ${0%/*} isn't good enough when there's no "/" 101.73Sapb. "${rundir}/sets.subr" 111.76Sceggerlists= 121.65Sdyoung 131.67Slukemusage() 141.67Slukem{ 151.67Slukem cat 1>&2 <<USAGE 161.78SlukemUsage: ${0##*/} [-L base,x] [-bxo] [-a arch] [-m machine] [-s setsdir] [setname [...]] 171.78Slukem -L base,x print specified lists 181.67Slukem -b print netbsd + x11 lists 191.67Slukem -x print make x11 lists 201.70Slukem -l just list the selected set names, not the contents 211.67Slukem -o only match obsolete files 221.73Sapb -a arch set arch (e.g, m68k, mipseb, mipsel, powerpc) [${MACHINE_ARCH}] 231.73Sapb -m machine set machine (e.g, amiga, i386, macppc) [${MACHINE}] 241.73Sapb -s setsdir directory to find sets [${setsdir}] 251.73Sapb [setname [...]] sets to build [${lists}] 261.67SlukemUSAGE 271.67Slukem exit 1 281.67Slukem} 291.61Sdyoung 301.2Sgwr# handle args 311.77Schristoswhile getopts L:bxloa:m:s: ch; do 321.67Slukem case ${ch} in 331.75Suebayasi L) 341.76Scegger save_IFS="${IFS}" 351.76Scegger IFS=, 361.76Scegger for _list in ${OPTARG}; do 371.76Scegger case $_list in 381.76Scegger base) lists="${lists} ${nlists}" ;; 391.76Scegger x) lists="${lists} ${xlists}" ;; 401.76Scegger esac 411.76Scegger done 421.76Scegger IFS="${save_IFS}" 431.75Suebayasi ;; 441.75Suebayasi # backward compat 451.67Slukem b) 461.73Sapb lists="${nlists} ${xlists}" 471.8Slukem ;; 481.67Slukem x) 491.73Sapb lists="${xlists}" 501.67Slukem ;; 511.70Slukem l) 521.70Slukem listonly=1 531.70Slukem ;; 541.67Slukem o) 551.67Slukem obsolete=1 561.67Slukem ;; 571.67Slukem a) 581.73Sapb MACHINE_ARCH="${OPTARG}" 591.73Sapb MACHINE_CPU="$(arch_to_cpu "${OPTARG}")" 601.8Slukem ;; 611.67Slukem m) 621.73Sapb MACHINE="${OPTARG}" 631.67Slukem ;; 641.67Slukem s) 651.73Sapb setsdir="${OPTARG}" 661.8Slukem ;; 671.8Slukem *) 681.67Slukem usage 691.8Slukem ;; 701.2Sgwr esac 711.2Sgwrdone 721.67Slukemshift $((${OPTIND} - 1)) 731.8Slukemif [ -n "$1" ]; then 741.74Sapb lists="$*" 751.8Slukemfi 761.15Ssimonb 771.73Sapbif [ -n "${listonly}" ]; then 781.70Slukem echo ${lists} | tr ' ' '\n' 791.70Slukem exit 0 801.70Slukemfi 811.70Slukem 821.76Sceggerlist_set_files ${lists:-${nlists}} | ${AWK} '{print $1}' | ${SORT} -u 83