makeobsolete revision 1.18
1#!/bin/sh 2# 3# $NetBSD: makeobsolete,v 1.18 2003/09/21 19:26:05 tron Exp $ 4# 5# Print out the obsolete files for a set 6# Usage: makeobsolete [-b] [-x] [-a arch] [-m machine] [-s setsdir] \ 7# [-t target] [setname ...] 8# 9 10# set defaults 11make="${MAKE:-make} -j 1 -f `dirname $0`/Makefile" 12machine=`${make} print_machine` 13arch=`${make} print_machine_arch` 14setd=`pwd` 15nlists="base comp etc games man misc text" 16xlists="xbase xcomp xcontrib xfont xserver xmisc" 17lists=$nlists 18target=./dist 19have_gcc3="`${make} print_have_gcc3`" 20 21# handle args 22while : ; do 23 case $1 in 24 -b*) 25 lists="$xlists $nlists" 26 ;; 27 -x*) 28 lists=$xlists;; 29 -a*) 30 arch=$2; shift 31 ;; 32 -m*) 33 machine=$2; shift 34 ;; 35 -s*) 36 setd=$2; shift 37 ;; 38 -t*) 39 target=$2;shift 40 ;; 41 -*) 42 cat 1>&2 <<USAGE 43Usage: $0 [-a arch] [-m machine] [-s setsdir] [setname ...] 44 -b make netbsd + x11 lists 45 -x only make x11 lists 46 -a arch set arch (e.g, m68k, mips, powerpc) [$arch] 47 -m machine set machine (e.g, amiga, i386, macppc) [$machine] 48 -s setsdir directory to find sets [$setd] 49 -t target target directory [$target] 50 [setname ...] sets to build 51USAGE 52 exit 1 53 ;; 54 *) 55 break 56 ;; 57 esac 58 shift 59done 60if [ -n "$1" ]; then 61 lists="$*" 62fi 63 64# Convert mipse[lb] to mips after processing command line arguments. 65arch=`echo $arch | sed s,^mipse.,mips, | sed s,^sh3e.,sh3e,` 66 67if [ ! -d $target ] ; then 68 echo "target directory [$target] doesn't exist" 69 exit 1 70fi 71 72# Automatically add XFree86 version specific sets 73for list in $lists 74do 75 if [ -z "$_lists" ] 76 then 77 _lists=$list 78 else 79 _lists="$_lists $list" 80 fi 81 if [ -d "$setd/lists/$list${x11_version}" ] 82 then 83 _lists="$_lists $list${x11_version}" 84 fi 85done 86lists=$_lists 87unset _lists 88 89for setname in $lists; do 90 file=$target/${setname} 91 ( 92 if [ -f $setd/lists/$setname/obsolete.mi ]; then 93 awk -- '{print $1}' $setd/lists/$setname/obsolete.mi 94 fi 95 if [ "$machine" != "$cpu" -a \ 96 -f $setd/lists/$setname/obsolete.${arch} ]; then 97 awk -- '{print $1}' $setd/lists/$setname/obsolete.${arch} 98 fi 99 if [ -f $setd/lists/$setname/obsolete.${machine} ]; then 100 awk -- '{print $1}' $setd/lists/$setname/obsolete.${machine} 101 fi 102 if [ "$have_gcc3" = yes -a -f $setd/lists/$setname/obsolete.gcc ]; then 103 awk -- '{print $1}' $setd/lists/$setname/obsolete.gcc 104 fi 105 ) | egrep -v '^#' | sort -ru > $file 106 if [ ! -s $file ] ; then 107 rm $file 108 fi 109 110done 111