configdirs="doc"
srcname="GDB"
srctrigger=main.c
target_dependent=true

# per-host:

# map host info into gdb names.

case "${host_cpu}" in

m68k)
	case "${host_vendor}" in
	apollo*)
		case "${host_os}" in
		sysv*)	gdb_host=apollo68v ;;
		esac
		;;
	att)	gdb_host=3b1 ;;
	altos)
		case "${host_os}" in
		gas)	gdb_host=altosgas ;;
		*)	gdb_host=altos ;;	
		esac
		;;

	cbm)
		case ${host_os} in
		amigados)	gdb_host=amigados ;;
		sysv4*)		gdb_host=amix ;;
		esac
		;;

	hp)
		case ${host_os} in
		hpux)	gdb_host=hp300hpux ;;
		bsd)	gdb_host=hp300bsd ;;
		esac
		;;

	isi)	gdb_host=isi ;;
	sony)	gdb_host=news ;;
	sun)
		case "${host_os}" in
		sunos3)	gdb_host=sun3os3 ;;
		sunos4)	gdb_host=sun3os4 ;;
		*)	gdb_host=sun3 ;;
		esac
		;;
	esac
	;;

m68000)
	case "${host_vendor}" in
	sun)
		case "${host_os}" in
		sunos3)	gdb_host=sun2os3 ;;
		sunos4)	gdb_host=sun2os4 ;;
		*)	gdb_host=sun2 ;;
		esac
	esac
	;;

sparc)
	case "${host_os}" in
	sunos3)		gdb_host=sun4os3 ;;
	sunos4)		gdb_host=sun4os4 ;;
	sunos5*|sysv4*)	gdb_host=sun4os5 ;;
	*)		gdb_host=sun4 ;;
	esac
	;;

m68030)
	case "${host_vendor}" in
	sony)	gdb_host=news1000 ;;
	esac
	;;

mips)
	case "${host_vendor}" in
	sony)	gdb_host=bigmips ;;
	dec)	gdb_host=decstation ;;
	little)	gdb_host=littlemips ;;
	sgi)
		case "${host_os}" in
		irix3)	gdb_host=irix3 ;;
		irix4)	gdb_host=irix4 ;;
		esac
		;;
	esac
	;;

i860)
	gdb_host=stratus
	;;

i386)
	case "${host_vendor}" in
	sun)	gdb_host=sun386 ;;
	sco)	gdb_host=i386sco ;;
	sequent)	gdb_host=symmetry ;;
	ncr)	gdb_host=ncr3000 ;;
	*)
		case "${host_os}" in
		sysv32)	gdb_host=i386v32 ;;
		sysv4*)	gdb_host=i386v4 ;;
		sysv*)	gdb_host=i386v ;;
		scosysv*) gdb_host=i386sco ;;
		mach)	gdb_host=i386mach ;;
		esac
		;;
	esac
	;;

c1 | c2)	gdb_host=convex ;;

ns32k)
	case "${host_vendor}" in
	umax)	gdb_host=umax ;;
	esac
	;;

romp)
	gdb_host=rtbsd
	;;

rs6000)
	gdb_host=rs6000
	;;

a29k)
	gdb_host=ultra3
	;;

m88k)
	case "${host_vendor}" in
	motorola)
		gdb_host=delta88 ;;
	*)	
		gdb_host=m88k ;;
	esac
	;;

vax)
	case "${host_os}" in
	bsd*)
		gdb_host=vaxbsd ;;
	ultrix*)
		gdb_host=vaxult ;;
	esac
	;;

arm | merlin | none | np1 | pn | pyramid | tahoe)
	gdb_host=${host_cpu}
	;;

### unhandled hosts
#altosgas
#i386v-g
#i386v32-g

esac


if [ ! -f ${srcdir}/config/${gdb_host}.mh ]; then
	echo '***' "Gdb does not support host ${host}" 1>&2
	exit 1
fi

#  We really shouldn't depend on there being a space after XM_FILE= ...
hostfile=`awk '$1 == "XM_FILE=" { print $2 }' <${srcdir}/config/${gdb_host}.mh`

# per-target:

case "${target_cpu}" in

m68k)
	case "${target_vendor}" in
	att)	gdb_target=3b1 ;;
	altos)	gdb_target=altos ;;
	cbm)
		case ${target_os} in
		amigados)	gdb_host=amigados ;;
		sysv4*)		gdb_target=amix ;;
		esac
		;;
	hp)
		case "${target_os}" in
		bsd)	gdb_target=hp300bsd ;;
		hpux)	gdb_target=hp300hpux ;;
		esac
		;;
	sun)
		case "${target_os}" in
		sunos3)	gdb_target=sun3os3 ;;
		sunos4)	gdb_target=sun3os4 ;;
		*)	gdb_target=sun3 ;;
		esac
		;;
	wrs)	gdb_target=vxworks68 ;;
	isi)	gdb_target=isi ;;
	sony)	gdb_target=news ;;
	esac
	case "${target_os}" in
	os68k)	gdb_target=os68k ;;
	esac
	;;

m68000)
	case "${target_vendor}" in
	sun)
		case "${target_os}" in
		sunos3)	gdb_target=sun2os3 ;;
		sunos4)	gdb_target=sun2os4 ;;
		*)	gdb_target=sun2 ;;
		esac
	esac
	;;

m68030)
	case "${target_vendor}" in
	sony)	gdb_target=news1000 ;;
	esac
	;;

none | arm | tahoe | vax | np1 | pn | np1 | pn | pyramid | merlin)
	gdb_target=${target_cpu} ;;

m88k)
	case "${target_vendor}" in
	motorola) gdb_target=delta88 ;;
	*) gdb_target=dgux ;;
	esac
	;;
a29k)
	case "${target_os}" in
	none|aout|coff)	gdb_target=a29k ;;
	sym1)	gdb_target=ultra3 ;;
	kern)	gdb_target=a29k-kern ;;
	ebmon)  gdb_target=a29k;;
	udi)	gdb_target=a29k-udi;;
	esac
	;;
	
mips)
	case "${target_vendor}" in
	sony)	gdb_target=bigmips ;;
	big)	gdb_target=bigmips ;;
	dec)	gdb_target=decstation ;;
	little)	gdb_target=littlemips ;;
	sgi)	gdb_target=irix3 ;;
	esac
	;;

c1 | c2)	gdb_target=convex ;;

sparc)
	case "${target_vendor}" in
	sun)
		case "${target_os}" in
		sunos3)		gdb_target=sun4os3 ;;
		sunos4)		gdb_target=sun4os4 ;;
		sunos5|sysv4*)	gdb_target=sun4os5 ;;
		*)		gdb_target=sun4 ;;
		esac
		;;
	esac
	;;

h8300)
	gdb_target=h8300hms 
	;;

i860)	gdb_target=stratus
	;;

i386)
	case "${target_vendor}" in
	sco)	gdb_target=i386sco ;;
	sun)	gdb_target=sun386 ;;
	sequent)	gdb_target=symmetry ;;
	ncr)	gdb_target=ncr3000 ;;
	*)
		case "${target_os}" in
		sysv32)	gdb_target=i386v32 ;;
		scosysv3*) gdb_target=i386v32 ;;
		sysv4*)	gdb_target=i386v4 ;;
		sysv*)	gdb_target=i386v ;;
		mach)	gdb_target=i386mach ;;
		coff)	gdb_target=i386v ;;
		aout)	gdb_target=i386aout ;;
		esac
	esac
	;;

i960)
	case "${target_vendor}" in
	bout | wrs)	gdb_target=vxworks960 ;;
	coff | intel)	gdb_target=nindy960 ;;
	esac
	;;

ns32k)
	case "${target_vendor}" in
	utek)	gdb_target=umax ;;
	esac
	;;

rs6000)
	gdb_target=rs6000
	;;

### unhandled targets
# altosgas
# i386v-g
# i386v32-g

esac

if [ ! -f ${srcdir}/config/${gdb_target}.mt ]; then
	echo '***' "Gdb does not support target ${target}" 1>&2
	exit 1
fi

if [ -z "${removing}" ] ; then
	cat ${srcdir}/config/${gdb_host}.mh ${srcdir}/config/${gdb_target}.mt | awk '$1 == "#msg" {
		print substr($0,6)}'
fi

#  We really shouldn't depend on there being a space after TM_FILE= ...
targetfile=`awk '$1 == "TM_FILE=" { print $2 }' <${srcdir}/config/${gdb_target}.mt`

host_makefile_frag=config/${gdb_host}.mh
target_makefile_frag=config/${gdb_target}.mt

# If hostfile (XM_FILE) and/or targetfile (TM_FILE) is not set in the
# ?config/* file, we don't make the corresponding links.  But we have
# to remove the xm.h files and tm.h files anyway, e.g. when switching
# from "configure host" to "configure none".
files=
links=
rm -f xm.h
if [ "${hostfile}" != "" ]; then
	files="${files} ${hostfile}"
	links="${links} xm.h"
fi
rm -f tm.h
if [ "${targetfile}" != "" ]; then
	files="${files} ${targetfile}"
	links="${links} tm.h"
fi

# post-target:

case ${srcdir} in
  .)
    ;;
  *)
    grep -s "source ${srcdir}/.gdbinit" .gdbinit 2>/dev/null || \
      echo "source ${srcdir}/.gdbinit" >> .gdbinit
esac

cat ${srcdir}/alldeps.mak ${srcdir}/depend >>Makefile
