makeflist revision 1.38
11.2Sgwr#!/bin/sh
21.2Sgwr#
31.38Stv# $NetBSD: makeflist,v 1.38 2001/11/19 20:43:33 tv Exp $
41.2Sgwr#
51.8Slukem# Print out the files in some or all lists.
61.8Slukem# Usage: makeflist [-b] [-x] [-a arch] [-m machine] [-s setsdir] [setname ...]
71.2Sgwr#
81.2Sgwr
91.2Sgwr# set defaults
101.14Sitohy: ${MAKE=make}
111.14Sitohymachine=${MACHINE:-`printf 'xxx:\n\techo ${MACHINE}' | $MAKE -s -f-`}
121.14Sitohyarch=${MACHINE_ARCH:-`printf 'xxx:\n\techo ${MACHINE_ARCH}' | $MAKE -s -f-`}
131.38Stvtc=${USE_NEW_TOOLCHAIN:-`printf '.include <bsd.own.mk>\nxxx:\n\techo ${USE_NEW_TOOLCHAIN:Dyes}' | ${MAKE} -s -f-`}
141.2Sgwrsetd=`pwd`
151.8Slukemnlists="base comp etc games man misc text"
161.23Sthorpejxlists="xbase xcomp xcontrib xfont xserver xmisc"
171.8Slukemlists=$nlists
181.2Sgwr
191.2Sgwr# handle args
201.8Slukemwhile : ; do
211.2Sgwr	case $1 in
221.8Slukem	-b*)
231.8Slukem		lists="$xlists $nlists"
241.8Slukem		;;
251.8Slukem	-x*)
261.8Slukem		lists=$xlists
271.8Slukem		;;
281.8Slukem	-a*)
291.8Slukem		arch=$2; shift
301.8Slukem		;;
311.8Slukem	-m*)
321.8Slukem		machine=$2; shift
331.8Slukem		;;
341.8Slukem	-s*)
351.8Slukem		setd=$2; shift
361.8Slukem		;;
371.8Slukem	-*)
381.8Slukem		cat 1>&2 <<USAGE
391.8SlukemUsage: $0 [-b] [-x] [-a arch] [-m machine] [-s setsdir] [setname ...]
401.8Slukem	-b		make netbsd + x11 lists
411.8Slukem	-x		only make x11 lists
421.8Slukem	-a arch		set arch (e.g, m68k, mips, powerpc)	[$arch]
431.8Slukem	-m machine	set machine (e.g, amiga, i386, macppc)	[$machine]
441.8Slukem	-s setsdir	directory to find sets	[$setd]
451.8Slukem	[setname ...]	sets to build 	[$lists]
461.8SlukemUSAGE
471.8Slukem		exit 1
481.8Slukem		;;
491.8Slukem	*)
501.8Slukem		break
511.8Slukem		;;
521.2Sgwr	esac
531.2Sgwr	shift
541.2Sgwrdone
551.8Slukemif [ -n "$1" ]; then
561.8Slukem	lists="$@"
571.8Slukemfi
581.15Ssimonb
591.15Ssimonb# Convert mipse[lb] to mips after processing command line arguments.
601.28Sitojunarch=`echo $arch | sed s,^mipse.,mips, | sed s,^sh3e.,sh3,`
611.1Scgd
621.9Sjonathan# Compute toolchain  used on target cpu.
631.35Sthomasif [ "$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" -o "$machine" = "cesfic" -o "$machine" = "atari" ]; then
641.28Sitojun	shlib=elf
651.9Sjonathanelse
661.28Sitojun	if [ "$arch" = "sh3" ]; then
671.28Sitojun		shlib=
681.28Sitojun	else
691.28Sitojun		shlib=aout
701.28Sitojun	fi
711.9Sjonathanfi
721.1Scgd
731.33Smrg# Turn off lintlibs for some ports.
741.33Smrglintlibs=
751.33Smrgif [ "$machine" = "sparc64" -o "$arch" = "sh3" -o "$arch" = "m68000" ]; then
761.33Smrg	lintlibs=no
771.33Smrgfi
781.33Smrg
791.8Slukemfor setname in $lists; do
801.29Sjwise	cat $setd/lists/$setname/mi
811.8Slukem	if [ "$machine" != "$cpu" -a -f $setd/lists/$setname/ad.${arch} ]; then
821.29Sjwise		cat $setd/lists/$setname/ad.${arch}
831.8Slukem	fi
841.8Slukem	if [ -f $setd/lists/$setname/md.${machine} ]; then
851.29Sjwise		cat $setd/lists/$setname/md.${machine}
861.9Sjonathan	fi
871.9Sjonathan	if [ "$shlib" != "" ]; then
881.9Sjonathan		if [ -f $setd/lists/$setname/shl.mi ]; then
891.29Sjwise			cat $setd/lists/$setname/shl.mi
901.9Sjonathan		fi
911.9Sjonathan		if [ -f $setd/lists/$setname/shl.${shlib} ]; then
921.29Sjwise			cat $setd/lists/$setname/shl.${shlib}
931.33Smrg		fi
941.33Smrg	fi
951.33Smrg	if [ "$lintlibs" != no ]; then
961.33Smrg		if [ -f $setd/lists/$setname/lint.mi ]; then
971.33Smrg			cat $setd/lists/$setname/lint.mi
981.36Sjmc		fi
991.36Sjmc	fi
1001.38Stv	if [ "$tc" = "yes" ]; then
1011.36Sjmc		if [ -f $setd/lists/$setname/tc.mi ]; then
1021.36Sjmc			cat $setd/lists/$setname/tc.mi
1031.36Sjmc		fi
1041.36Sjmc	else
1051.36Sjmc		if [ -f $setd/lists/$setname/tc.old ]; then
1061.36Sjmc			cat $setd/lists/$setname/tc.old
1071.9Sjonathan		fi
1081.8Slukem	fi
1091.29Sjwisedone | egrep -v '^#' | awk -- '{print $1}' | sort -u
110