makeflist revision 1.80
11.2Sgwr#!/bin/sh 21.2Sgwr# 31.80Schristos# $NetBSD: makeflist,v 1.80 2023/11/08 13:02:47 christos 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.80Schristosumask 022 311.2Sgwr# handle args 321.77Schristoswhile getopts L:bxloa:m:s: ch; do 331.67Slukem case ${ch} in 341.75Suebayasi L) 351.76Scegger save_IFS="${IFS}" 361.76Scegger IFS=, 371.76Scegger for _list in ${OPTARG}; do 381.76Scegger case $_list in 391.76Scegger base) lists="${lists} ${nlists}" ;; 401.76Scegger x) lists="${lists} ${xlists}" ;; 411.76Scegger esac 421.76Scegger done 431.76Scegger IFS="${save_IFS}" 441.75Suebayasi ;; 451.75Suebayasi # backward compat 461.67Slukem b) 471.73Sapb lists="${nlists} ${xlists}" 481.8Slukem ;; 491.67Slukem x) 501.73Sapb lists="${xlists}" 511.67Slukem ;; 521.70Slukem l) 531.70Slukem listonly=1 541.70Slukem ;; 551.67Slukem o) 561.67Slukem obsolete=1 571.67Slukem ;; 581.67Slukem a) 591.73Sapb MACHINE_ARCH="${OPTARG}" 601.73Sapb MACHINE_CPU="$(arch_to_cpu "${OPTARG}")" 611.8Slukem ;; 621.67Slukem m) 631.73Sapb MACHINE="${OPTARG}" 641.67Slukem ;; 651.67Slukem s) 661.73Sapb setsdir="${OPTARG}" 671.8Slukem ;; 681.8Slukem *) 691.67Slukem usage 701.8Slukem ;; 711.2Sgwr esac 721.2Sgwrdone 731.67Slukemshift $((${OPTIND} - 1)) 741.8Slukemif [ -n "$1" ]; then 751.74Sapb lists="$*" 761.8Slukemfi 771.15Ssimonb 781.73Sapbif [ -n "${listonly}" ]; then 791.70Slukem echo ${lists} | tr ' ' '\n' 801.70Slukem exit 0 811.70Slukemfi 821.70Slukem 831.76Sceggerlist_set_files ${lists:-${nlists}} | ${AWK} '{print $1}' | ${SORT} -u 84