makeflist revision 1.43
11.2Sgwr#!/bin/sh
21.2Sgwr#
31.43Sfredette# $NetBSD: makeflist,v 1.43 2002/03/26 22:58:17 fredette 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.39Sthorpejmachine=`${MAKE} print_machine`
121.39Sthorpejmachine_arch=`${MAKE} print_machine_arch`
131.39Sthorpejmachine_cpu=`${MAKE} print_machine_cpu`
141.39Sthorpejobject_fmt=`${MAKE} print_object_fmt`
151.39Sthorpejtc=`${MAKE} print_use_new_toolchain`
161.41Stronx11_version=`${MAKE} print_x11_version`
171.2Sgwrsetd=`pwd`
181.8Slukemnlists="base comp etc games man misc text"
191.41Stronxlists=
201.41Stronfor xlist in xbase xcomp xcontrib xfont xserver xmisc
211.41Strondo
221.41Stron if [ -z "$xlists" ]
231.41Stron then
241.41Stron  xlists=$xlist
251.41Stron else
261.41Stron  xlists="$xlists $xlist"
271.41Stron fi
281.41Stron if [ -d "$setd/lists/$xlist${x11_version}" ]
291.41Stron then
301.41Stron  xlists="$xlists $xlist${x11_version}"
311.41Stron fi
321.41Strondone
331.8Slukemlists=$nlists
341.2Sgwr
351.2Sgwr# handle args
361.8Slukemwhile : ; do
371.2Sgwr	case $1 in
381.8Slukem	-b*)
391.8Slukem		lists="$xlists $nlists"
401.8Slukem		;;
411.8Slukem	-x*)
421.8Slukem		lists=$xlists
431.8Slukem		;;
441.8Slukem	-a*)
451.39Sthorpej		machine_arch=`MACHINE_ARCH=${2} ${MAKE} print_machine_arch`
461.39Sthorpej		machine_cpu=`MACHINE_ARCH=${2} ${MAKE} print_machine_cpu`
471.39Sthorpej		shift
481.8Slukem		;;
491.8Slukem	-m*)
501.8Slukem		machine=$2; shift
511.8Slukem		;;
521.8Slukem	-s*)
531.8Slukem		setd=$2; shift
541.8Slukem		;;
551.8Slukem	-*)
561.8Slukem		cat 1>&2 <<USAGE
571.8SlukemUsage: $0 [-b] [-x] [-a arch] [-m machine] [-s setsdir] [setname ...]
581.8Slukem	-b		make netbsd + x11 lists
591.8Slukem	-x		only make x11 lists
601.40Sthorpej	-a arch		set arch (e.g, m68k, mipseb, mipsel, powerpc) [$machine_arch]
611.39Sthorpej	-m machine	set machine (e.g, amiga, i386, macppc) [$machine]
621.39Sthorpej	-s setsdir	directory to find sets [$setd]
631.39Sthorpej	[setname ...]	sets to build [$lists]
641.8SlukemUSAGE
651.8Slukem		exit 1
661.8Slukem		;;
671.8Slukem	*)
681.8Slukem		break
691.8Slukem		;;
701.2Sgwr	esac
711.2Sgwr	shift
721.2Sgwrdone
731.8Slukemif [ -n "$1" ]; then
741.8Slukem	lists="$@"
751.8Slukemfi
761.15Ssimonb
771.43Sfredette# Determine lib type.
781.39Sthorpejif [ "$object_fmt" = "ELF" ]; then
791.28Sitojun	shlib=elf
801.9Sjonathanelse
811.39Sthorpej	shlib=aout
821.9Sjonathanfi
831.43Sfredettestlib=$shlib
841.43Sfredette
851.43Sfredette# Turn off shlibs for some ports.
861.43Sfredetteif [ "$machine_cpu" = "sh3" -o "$machine_arch" = "m68000" ]; then
871.43Sfredette	shlib=no
881.43Sfredettefi
891.1Scgd
901.33Smrg# Turn off lintlibs for some ports.
911.33Smrglintlibs=
921.39Sthorpejif [ "$machine" = "sparc64" -o "$machine_cpu" = "sh3" -o \
931.39Sthorpej     "$machine_arch" = "m68000" ]; then
941.33Smrg	lintlibs=no
951.33Smrgfi
961.33Smrg
971.8Slukemfor setname in $lists; do
981.29Sjwise	cat $setd/lists/$setname/mi
991.39Sthorpej	if [ "$machine" != "$machine_arch" -a \
1001.39Sthorpej	     -f $setd/lists/$setname/ad.${machine_cpu} ]; then
1011.39Sthorpej		cat $setd/lists/$setname/ad.${machine_cpu}
1021.8Slukem	fi
1031.8Slukem	if [ -f $setd/lists/$setname/md.${machine} ]; then
1041.29Sjwise		cat $setd/lists/$setname/md.${machine}
1051.9Sjonathan	fi
1061.43Sfredette	if [ -f $setd/lists/$setname/stl.mi ]; then
1071.43Sfredette		cat $setd/lists/$setname/stl.mi
1081.43Sfredette	fi
1091.43Sfredette	if [ -f $setd/lists/$setname/stl.${stlib} ]; then
1101.43Sfredette		cat $setd/lists/$setname/stl.${stlib}
1111.43Sfredette	fi
1121.43Sfredette	if [ "$shlib" != "no" ]; then
1131.9Sjonathan		if [ -f $setd/lists/$setname/shl.mi ]; then
1141.29Sjwise			cat $setd/lists/$setname/shl.mi
1151.9Sjonathan		fi
1161.9Sjonathan		if [ -f $setd/lists/$setname/shl.${shlib} ]; then
1171.29Sjwise			cat $setd/lists/$setname/shl.${shlib}
1181.33Smrg		fi
1191.33Smrg	fi
1201.33Smrg	if [ "$lintlibs" != no ]; then
1211.33Smrg		if [ -f $setd/lists/$setname/lint.mi ]; then
1221.33Smrg			cat $setd/lists/$setname/lint.mi
1231.36Sjmc		fi
1241.36Sjmc	fi
1251.38Stv	if [ "$tc" = "yes" ]; then
1261.36Sjmc		if [ -f $setd/lists/$setname/tc.mi ]; then
1271.36Sjmc			cat $setd/lists/$setname/tc.mi
1281.36Sjmc		fi
1291.36Sjmc	else
1301.36Sjmc		if [ -f $setd/lists/$setname/tc.old ]; then
1311.36Sjmc			cat $setd/lists/$setname/tc.old
1321.9Sjonathan		fi
1331.8Slukem	fi
1341.42Slukemdone | awk -- '/^[^#]/ {print $1}' | sort -u
135