xref: /netbsd/distrib/sets/makeplist (revision bf9ec67e)
1#!/bin/sh
2#
3# Print out the files in some or all lists.
4# Usage: makeflist [-a arch] [-m machine] [-s setsdir] [-p prefix] setname pkgname
5#
6
7# set defaults
8: ${MAKE=make}
9machine=${MACHINE:-`printf 'xxx:\n\techo ${MACHINE}' | $MAKE -s -f-`}
10arch=${MACHINE_ARCH:-`printf 'xxx:\n\techo ${MACHINE_ARCH}' | $MAKE -s -f-`}
11setd=`dirname $0`
12prefix=/
13
14usage() {
15exec 1>&2
16
17echo "Usage: $0 [-a arch] [-m machine] [-s setsdir] [-p prefix] setname pkgname"
18echo "	-a arch		set arch (e.g, m68k, mips, powerpc)	[$arch]"
19echo "	-m machine	set machine (e.g, amiga, i386, macppc)	[$machine]"
20echo "	-s setsdir	directory to find sets			[$setd]"
21echo "	-p prefix	prefix for created plist		[$plist]"
22echo "	setname pkgname	set and package to build plist for"
23
24exit 1
25}
26
27# handle args
28while : ; do
29	case $1 in
30	-a*)
31		arch=$2; shift
32		;;
33	-m*)
34		machine=$2; shift
35		;;
36	-s*)
37		setd=$2; shift
38		;;
39	-p*)
40		prefix=$2; shift
41		;;
42	-*)
43		usage
44		exit 1
45		;;
46	*)
47		break
48		;;
49	esac
50	shift
51done
52if [ -n "$1" ]; then
53	setname="$1"
54else
55	usage
56	exit 1
57fi
58if [ -n "$2" ]; then
59	pkgname=$2
60else
61	usage
62	exit 1
63fi
64
65# Convert mipse[lb] to mips after processing command line arguments.
66arch=`echo $arch | sed s,^mipse.,mips, | sed s,^sh3e.,sh3,`
67
68# Compute toolchain  used on target cpu.
69if [ "$arch" = "mips" -o "$machine" = "alpha" -o "$arch" = "powerpc" -o "$arch" = "sparc" -o "$arch" = "sparc64" -o "$arch" = "i386" -o "$arch" = "arm" -o "$machine" = "mvme68k" -o "$machine" = "hp300" ]; then
70	shlib=elf
71else
72	if [ "$arch" = "sh3" ]; then
73		shlib=
74	else
75		shlib=aout
76	fi
77fi
78
79echo "@cwd $prefix"
80(
81	cat $setd/lists/$setname/mi
82	if [ "$machine" != "$cpu" -a -f $setd/lists/$setname/ad.${arch} ]; then
83		cat $setd/lists/$setname/ad.${arch}
84	fi
85	if [ -f $setd/lists/$setname/md.${machine} ]; then
86		cat $setd/lists/$setname/md.${machine}
87	fi
88	if [ "$shlib" != "" ]; then
89		if [ -f $setd/lists/$setname/shl.mi ]; then
90			cat $setd/lists/$setname/shl.mi
91		fi
92		if [ -f $setd/lists/$setname/shl.${shlib} ]; then
93			cat $setd/lists/$setname/shl.${shlib}
94		fi
95	fi
96)| egrep -v '^#' | egrep $pkgname\$ | awk -- '{print $1}' | sort -u
97