1 #!/bin/sh 2 # 3 # $NetBSD: makeflist,v 1.44 2002/04/08 17:18:22 tron Exp $ 4 # 5 # Print out the files in some or all lists. 6 # Usage: makeflist [-b] [-x] [-a arch] [-m machine] [-s setsdir] [setname ...] 7 # 8 9 # set defaults 10 : ${MAKE=make} 11 machine=`${MAKE} print_machine` 12 machine_arch=`${MAKE} print_machine_arch` 13 machine_cpu=`${MAKE} print_machine_cpu` 14 object_fmt=`${MAKE} print_object_fmt` 15 tc=`${MAKE} print_use_new_toolchain` 16 x11_version=`${MAKE} print_x11_version` 17 setd=`pwd` 18 nlists="base comp etc games man misc text" 19 xlists="xbase xcomp xcontrib xfont xserver xmisc" 20 lists=$nlists 21 22 # handle args 23 while : ; do 24 case $1 in 25 -b*) 26 lists="$xlists $nlists" 27 ;; 28 -x*) 29 lists=$xlists 30 ;; 31 -a*) 32 machine_arch=`MACHINE_ARCH=${2} ${MAKE} print_machine_arch` 33 machine_cpu=`MACHINE_ARCH=${2} ${MAKE} print_machine_cpu` 34 shift 35 ;; 36 -m*) 37 machine=$2; shift 38 ;; 39 -s*) 40 setd=$2; shift 41 ;; 42 -*) 43 cat 1>&2 <<USAGE 44 Usage: $0 [-b] [-x] [-a arch] [-m machine] [-s setsdir] [setname ...] 45 -b make netbsd + x11 lists 46 -x only make x11 lists 47 -a arch set arch (e.g, m68k, mipseb, mipsel, powerpc) [$machine_arch] 48 -m machine set machine (e.g, amiga, i386, macppc) [$machine] 49 -s setsdir directory to find sets [$setd] 50 [setname ...] sets to build [$lists] 51 USAGE 52 exit 1 53 ;; 54 *) 55 break 56 ;; 57 esac 58 shift 59 done 60 if [ -n "$1" ]; then 61 lists="$@" 62 fi 63 64 # Determine lib type. 65 if [ "$object_fmt" = "ELF" ]; then 66 shlib=elf 67 else 68 shlib=aout 69 fi 70 stlib=$shlib 71 72 # Turn off shlibs for some ports. 73 if [ "$machine_cpu" = "sh3" -o "$machine_arch" = "m68000" ]; then 74 shlib=no 75 fi 76 77 # Turn off lintlibs for some ports. 78 lintlibs= 79 if [ "$machine" = "sparc64" -o "$machine_cpu" = "sh3" -o \ 80 "$machine_arch" = "m68000" ]; then 81 lintlibs=no 82 fi 83 84 # Automatically add XFree86 version specific sets 85 for list in $lists 86 do 87 if [ -z "$_lists" ] 88 then 89 _lists=$list 90 else 91 _lists="$_lists $list" 92 fi 93 if [ -d "$setd/lists/$list${x11_version}" ] 94 then 95 _lists="$_lists $list${x11_version}" 96 fi 97 done 98 lists=$_lists 99 unset _lists 100 101 for setname in $lists; do 102 cat $setd/lists/$setname/mi 103 if [ "$machine" != "$machine_arch" -a \ 104 -f $setd/lists/$setname/ad.${machine_cpu} ]; then 105 cat $setd/lists/$setname/ad.${machine_cpu} 106 fi 107 if [ -f $setd/lists/$setname/md.${machine} ]; then 108 cat $setd/lists/$setname/md.${machine} 109 fi 110 if [ -f $setd/lists/$setname/stl.mi ]; then 111 cat $setd/lists/$setname/stl.mi 112 fi 113 if [ -f $setd/lists/$setname/stl.${stlib} ]; then 114 cat $setd/lists/$setname/stl.${stlib} 115 fi 116 if [ "$shlib" != "no" ]; then 117 if [ -f $setd/lists/$setname/shl.mi ]; then 118 cat $setd/lists/$setname/shl.mi 119 fi 120 if [ -f $setd/lists/$setname/shl.${shlib} ]; then 121 cat $setd/lists/$setname/shl.${shlib} 122 fi 123 fi 124 if [ "$lintlibs" != no ]; then 125 if [ -f $setd/lists/$setname/lint.mi ]; then 126 cat $setd/lists/$setname/lint.mi 127 fi 128 fi 129 if [ "$tc" = "yes" ]; then 130 if [ -f $setd/lists/$setname/tc.mi ]; then 131 cat $setd/lists/$setname/tc.mi 132 fi 133 else 134 if [ -f $setd/lists/$setname/tc.old ]; then 135 cat $setd/lists/$setname/tc.old 136 fi 137 fi 138 done | awk -- '/^[^#]/ {print $1}' | sort -u 139