all:

REL=1.9
HOSTS= small-gods.mit.edu \
	equal-rites.mit.edu \
	salamander.mit.edu
#	all-in-one.mit.edu
#	edt.mit.edu
# sfdf.mit.edu rsx-11 raeburn.org capacitor-bank.mit.edu
#	rsts-11.mit.edu \
#	venix.mit.edu \
#	gamma-11.mit.edu \
#	bustopher-jones.raeburn.org

C_gamma-11.mit.edu= \
	powerpc-apple-darwin9.1.0:/Users/krbsnap/autobuild \
	powerpc-apple-darwin9.1.0:/Users/krbsnap/autobuild:${REL}

C_venix.mit.edu= \
	alpha-netbsd3.0:/home/krbsnap/autobuild-shared \
	alpha-netbsd3.0-static:/home/krbsnap/autobuild-static \
	alpha-netbsd3.0:/home/krbsnap/autobuild-shared:${REL} \
	alpha-netbsd3.0-static:/home/krbsnap/autobuild-static:${REL}

C_salamander.mit.edu= \
	sparc64-netbsd3.0:/home/krbsnap/autobuild-shared \
	sparc64-netbsd3.0:/home/krbsnap/autobuild-shared:${REL}
#	sparc64-netbsd3.0-static:/home/krbsnap/autobuild-static \
#	sparc64-netbsd3.0-static:/home/krbsnap/autobuild-static:${REL}

C_sfdf.mit.edu= ia64-linux-redhat:/home/krbsnap/autobuilder-krb5-redhat \
	ia64-linux-debian-static:/home/krbsnap/autobuilder-krb5-debian-static \
	ia64-linux-debian-shared:/home/krbsnap/autobuilder-krb5-debian-shared \
	ia64-linux-debian-static:/home/krbsnap/autobuilder-krb5-debian-static:${REL} \
	ia64-linux-debian-shared:/home/krbsnap/autobuilder-krb5-debian-shared:${REL}
C_small-gods.mit.edu=	\
		solaris-sparcv9-shared:/var/krbsnap/autobuild64-shared \
		solaris-sparc32-gcc-shared:/var/krbsnap/autobuild-shared \
		solaris-sparcv9-shared:/var/krbsnap/autobuild64-shared:${REL} \
		solaris-sparc32-gcc-shared:/var/krbsnap/autobuild-shared:${REL}
#		solaris-sparcv9-static:/var/krbsnap/autobuild64-static \
#		solaris-sparc32-gcc-static:/var/krbsnap/autobuild-static \
#		solaris-sparcv9-static:/var/krbsnap/autobuild64-static:${REL} \
#		solaris-sparc32-gcc-static:/var/krbsnap/autobuild-static:${REL}
C_capacitor-bank.mit.edu= \
		mips32-irix6.5.7-shared:/var/krbsnap/autobuilder-krb5-shared \
		mips32-irix6.5.7-shared:/var/krbsnap/autobuilder-krb5-shared:${REL}
#		mips32-irix6.5.7-static:/var/krbsnap/autobuilder-krb5-static \
#		mips32-irix6.5.7-static:/var/krbsnap/autobuilder-krb5-static:${REL} \

C_equal-rites.mit.edu= \
	x86_64-linux-shared:/home/krbsnap/autobuilder-krb5-shared \
	x86_64-linux-shared:/home/krbsnap/autobuilder-krb5-shared:${REL}
#	x86_64-linux-static:/home/krbsnap/autobuilder-krb5-static \
#	x86_64-linux-static:/home/krbsnap/autobuilder-krb5-static:${REL}
C_raeburn.org=	i386-netbsd2.0:/u1/k5build/autobuilder
C_all-in-one.mit.edu= \
		i386-linux-shared:/var/krbsnap/autobuilder-krb5-shared \
		i386-linux-shared:/var/krbsnap/autobuilder-krb5-shared:${REL}
#		i386-linux-static:/var/krbsnap/autobuilder-krb5-static \
#		i386-linux-static:/var/krbsnap/autobuilder-krb5-static:${REL}
C_rsx-11= \
		powerpc-aix4.3.3-gcc:/home/krbsnap/autobuilder-krb5-gcc:${REL} \
		powerpc-aix4.3.3-cc:/home/krbsnap/autobuilder-krb5:${REL} \
		powerpc-aix4.3.3-gcc:/home/krbsnap/autobuilder-krb5-gcc \
		powerpc-aix4.3.3-cc:/home/krbsnap/autobuilder-krb5 \

C_rsts-11.mit.edu= \
		alpha-osf5.1A-shared:/usr/users/krbsnap/autobuilder-krb5-shared \
		alpha-osf5.1A-shared:/usr/users/krbsnap/autobuilder-krb5-shared:${REL}
#		alpha-osf5.1A-static:/usr/users/krbsnap/autobuilder-krb5-static \
#		alpha-osf5.1A-static:/usr/users/krbsnap/autobuilder-krb5-static:${REL} \

C_bustopher-jones.raeburn.org= \
		alpha-linux-static:/u2/k5build/autobuild-static \
		alpha-linux-shared:/u2/k5build/autobuild-shared

C_edt.mit.edu= \
		alpha-linux-static:/home/krbsnap/autobuild-static \
		alpha-linux-shared:/home/krbsnap/autobuild-shared

# This grossness is to generate one make target per configuration, so
# we can have make drive parallel fetching.  It could probably be
# cleaned up or at least simplified -- maybe one target per host, with
# fetches from the host serialized?

ALL_HOSTS= $(foreach X,$(HOSTS),$X.all)

ALL_CONFIGS_1= $(subst :,!,$(foreach X,$(HOSTS),$(foreach C,$(C_$X),$X:$C)))

empty=
tab=$(empty)	$(empty)
ALL_CONFIGS=$(ALL_CONFIGS_1)

$(ALL_CONFIGS) :
	@echo Fetching results: $(subst !, ,$@)
	@perl /mit/krbdev/testing/grab-logs \
		$(word 1,$(subst !, ,$@)) \
		$(word 3,$(subst !, ,$@)) \
		$(word 2,$(subst !, ,$@)) \
		$(word 4,$(subst !, ,$@)) >tmp.$$$$ 2>&1 ; \
	s=$$? ; \
	if test -s tmp.$$$$ ; then \
		echo Output for $(subst !, ,$@): ; \
		sed -e 's/^/  /' tmp.$$$$ ; \
	fi ; \
	rm -f tmp.$$$$ ; \
	exit $$s

xall: $(ALL_CONFIGS)

all:
	echo ALL_CONFIGS = $(ALL_CONFIGS)
	echo ALL_HOSTS = $(ALL_HOSTS)

RSH_HOSTS=raeburn.org rsx-11 rsts-11.mit.edu bustopher-jones.raeburn.org all-in-one.mit.edu

CMD=uname -a
run-on-each-host:
	ssh-agent $(MAKE) -f /mit/krbdev/testing/get-logs.mk \
		run-on-each-host-2 CMD="$(CMD)" SSH_OPTS="$(SSH_OPTS)"

# We want -x -n for both ssh (no X forwarding, no input) and Kerberos
# rsh (encrypt, no input).
SSH_OPTS=-x -n $(SSH_USER_OPTS)
SSH_USER_OPTS=-l krbsnap
run-on-each-host-2:
	: ssh-add
	for d in $(HOSTS); do \
		case " $(RSH_HOSTS) " in \
		*" "$$d" "*) sshcmd=rsh ;; \
		*) sshcmd=ssh ;; \
		esac ; \
		(set -x ; $$sshcmd $(SSH_OPTS) $$d $(CMD)) ; \
	done
