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