makeflist revision 1.76
11.2Sgwr#!/bin/sh 21.2Sgwr# 31.76Scegger# $NetBSD: makeflist,v 1.76 2009/12/05 15:56:25 cegger 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.75SuebayasiUsage: ${0##*/} [-L base,x,ext] [-bxyo] [-a arch] [-m machine] [-s setsdir] [setname [...]] 171.75Suebayasi -L base,x,ext print specified lists 181.67Slukem -b print netbsd + x11 lists 191.67Slukem -x print make x11 lists 201.75Suebayasi -y print make extsrc lists 211.70Slukem -l just list the selected set names, not the contents 221.67Slukem -o only match obsolete files 231.73Sapb -a arch set arch (e.g, m68k, mipseb, mipsel, powerpc) [${MACHINE_ARCH}] 241.73Sapb -m machine set machine (e.g, amiga, i386, macppc) [${MACHINE}] 251.73Sapb -s setsdir directory to find sets [${setsdir}] 261.73Sapb [setname [...]] sets to build [${lists}] 271.67SlukemUSAGE 281.67Slukem exit 1 291.67Slukem} 301.61Sdyoung 311.2Sgwr# handle args 321.75Suebayasiwhile getopts L:bxXloa: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 ext) lists="${lists} ${extlists}" ;; 421.76Scegger esac 431.76Scegger done 441.76Scegger IFS="${save_IFS}" 451.75Suebayasi ;; 461.75Suebayasi # backward compat 471.67Slukem b) 481.73Sapb lists="${nlists} ${xlists}" 491.8Slukem ;; 501.67Slukem x) 511.73Sapb lists="${xlists}" 521.67Slukem ;; 531.75Suebayasi y) 541.75Suebayasi lists="${extlists}" 551.75Suebayasi ;; 561.70Slukem l) 571.70Slukem listonly=1 581.70Slukem ;; 591.67Slukem o) 601.67Slukem obsolete=1 611.67Slukem ;; 621.67Slukem a) 631.73Sapb MACHINE_ARCH="${OPTARG}" 641.73Sapb MACHINE_CPU="$(arch_to_cpu "${OPTARG}")" 651.8Slukem ;; 661.67Slukem m) 671.73Sapb MACHINE="${OPTARG}" 681.67Slukem ;; 691.67Slukem s) 701.73Sapb setsdir="${OPTARG}" 711.8Slukem ;; 721.8Slukem *) 731.67Slukem usage 741.8Slukem ;; 751.2Sgwr esac 761.2Sgwrdone 771.67Slukemshift $((${OPTIND} - 1)) 781.8Slukemif [ -n "$1" ]; then 791.74Sapb lists="$*" 801.8Slukemfi 811.15Ssimonb 821.73Sapbif [ -n "${listonly}" ]; then 831.70Slukem echo ${lists} | tr ' ' '\n' 841.70Slukem exit 0 851.70Slukemfi 861.70Slukem 871.76Sceggerlist_set_files ${lists:-${nlists}} | ${AWK} '{print $1}' | ${SORT} -u 88