makeflist revision 1.21.2.2 1 1.21.2.2 mrg #!/bin/sh
2 1.21.2.2 mrg #
3 1.21.2.2 mrg # $NetBSD: makeflist,v 1.21.2.2 2000/08/22 05:38:13 mrg Exp $
4 1.21.2.2 mrg #
5 1.21.2.2 mrg # Print out the files in some or all lists.
6 1.21.2.2 mrg # Usage: makeflist [-b] [-x] [-a arch] [-m machine] [-s setsdir] [setname ...]
7 1.21.2.2 mrg #
8 1.21.2.2 mrg
9 1.21.2.2 mrg # set defaults
10 1.21.2.2 mrg : ${MAKE=make}
11 1.21.2.2 mrg machine=${MACHINE:-`printf 'xxx:\n\techo ${MACHINE}' | $MAKE -s -f-`}
12 1.21.2.2 mrg arch=${MACHINE_ARCH:-`printf 'xxx:\n\techo ${MACHINE_ARCH}' | $MAKE -s -f-`}
13 1.21.2.2 mrg setd=`pwd`
14 1.21.2.2 mrg nlists="base comp etc games man misc text"
15 1.21.2.2 mrg xlists="xbase xcomp xcontrib xfont xserver"
16 1.21.2.2 mrg lists=$nlists
17 1.21.2.2 mrg
18 1.21.2.2 mrg # handle args
19 1.21.2.2 mrg while : ; do
20 1.21.2.2 mrg case $1 in
21 1.21.2.2 mrg -b*)
22 1.21.2.2 mrg lists="$xlists $nlists"
23 1.21.2.2 mrg ;;
24 1.21.2.2 mrg -x*)
25 1.21.2.2 mrg lists=$xlists
26 1.21.2.2 mrg ;;
27 1.21.2.2 mrg -a*)
28 1.21.2.2 mrg arch=$2; shift
29 1.21.2.2 mrg ;;
30 1.21.2.2 mrg -m*)
31 1.21.2.2 mrg machine=$2; shift
32 1.21.2.2 mrg ;;
33 1.21.2.2 mrg -s*)
34 1.21.2.2 mrg setd=$2; shift
35 1.21.2.2 mrg ;;
36 1.21.2.2 mrg -*)
37 1.21.2.2 mrg cat 1>&2 <<USAGE
38 1.21.2.2 mrg Usage: $0 [-b] [-x] [-a arch] [-m machine] [-s setsdir] [setname ...]
39 1.21.2.2 mrg -b make netbsd + x11 lists
40 1.21.2.2 mrg -x only make x11 lists
41 1.21.2.2 mrg -a arch set arch (e.g, m68k, mips, powerpc) [$arch]
42 1.21.2.2 mrg -m machine set machine (e.g, amiga, i386, macppc) [$machine]
43 1.21.2.2 mrg -s setsdir directory to find sets [$setd]
44 1.21.2.2 mrg [setname ...] sets to build [$lists]
45 1.21.2.2 mrg USAGE
46 1.21.2.2 mrg exit 1
47 1.21.2.2 mrg ;;
48 1.21.2.2 mrg *)
49 1.21.2.2 mrg break
50 1.21.2.2 mrg ;;
51 1.21.2.2 mrg esac
52 1.21.2.2 mrg shift
53 1.21.2.2 mrg done
54 1.21.2.2 mrg if [ -n "$1" ]; then
55 1.21.2.2 mrg lists="$@"
56 1.21.2.2 mrg fi
57 1.21.2.2 mrg
58 1.21.2.2 mrg # Convert mipse[lb] to mips after processing command line arguments.
59 1.21.2.2 mrg arch=`echo $arch | sed s,^mipse.,mips,`
60 1.21.2.2 mrg
61 1.21.2.2 mrg # Compute toolchain used on target cpu.
62 1.21.2.2 mrg if [ "$arch" = "mips" -o "$machine" = "alpha" -o "$arch" = "powerpc" -o "$arch" = "sparc" -o "$arch" = "sparc64" -o "$arch" = "i386" ]; then
63 1.21.2.2 mrg shlib=elf
64 1.21.2.2 mrg else
65 1.21.2.2 mrg shlib=aout
66 1.21.2.2 mrg fi
67 1.21.2.2 mrg
68 1.21.2.2 mrg for setname in $lists; do
69 1.21.2.2 mrg awk -- '{print $1}' $setd/lists/$setname/mi
70 1.21.2.2 mrg if [ "$machine" != "$cpu" -a -f $setd/lists/$setname/ad.${arch} ]; then
71 1.21.2.2 mrg awk -- '{print $1}' $setd/lists/$setname/ad.${arch}
72 1.21.2.2 mrg fi
73 1.21.2.2 mrg if [ -f $setd/lists/$setname/md.${machine} ]; then
74 1.21.2.2 mrg awk -- '{print $1}' $setd/lists/$setname/md.${machine}
75 1.21.2.2 mrg fi
76 1.21.2.2 mrg if [ "$shlib" != "" ]; then
77 1.21.2.2 mrg if [ -f $setd/lists/$setname/shl.mi ]; then
78 1.21.2.2 mrg awk -- '{print $1}' $setd/lists/$setname/shl.mi
79 1.21.2.2 mrg fi
80 1.21.2.2 mrg if [ -f $setd/lists/$setname/shl.${shlib} ]; then
81 1.21.2.2 mrg awk -- '{print $1}' $setd/lists/$setname/shl.${shlib}
82 1.21.2.2 mrg fi
83 1.21.2.2 mrg fi
84 1.21.2.2 mrg
85 1.21.2.2 mrg # Split man/md_share into: this machine, other machine
86 1.21.2.2 mrg if [ $setname = man ]; then
87 1.21.2.2 mrg grep ${machine} $setd/lists/man/md_share
88 1.21.2.2 mrg fi
89 1.21.2.2 mrg if [ $setname = misc ]; then
90 1.21.2.2 mrg grep -v ${machine} $setd/lists/man/md_share
91 1.21.2.2 mrg fi
92 1.21.2.2 mrg
93 1.21.2.2 mrg done | egrep -v '^#' | sort -u
94