#!/bin/sh

# This is a hack to account for differing paths to make on linux and
# solaris.  Since we need "make -f", using /usr/bin/env won't work.

if [ "x$HOSTTYPE" = "xsun4" ]; then
MAKE=gmake
else
MAKE=make
fi

sed -n '/^# Makefile starts here$/,$ p' $0 | $MAKE -f - "$@"
exit $?

# Makefile starts here
ifeq (${HOSTTYPE},linux)
ARCH=${ATHENA_SYS}
ECHO=/bin/echo -e
MAKE=make
MAKEFILE=makefile.linux64
endif

ifeq (${HOSTTYPE},sun4)
ARCH=sun4x_510
ECHO=/usr/bin/echo
MAKE=gmake
MAKEFILE=makefile.solaris
endif

TMPDIR=/tmp/sd
DSTDIR=/mit/sd/arch/${ARCH}/bin

LEVELS=Mainstream Plus A1 A2 C1 C2 C3A C3 C3X C4A C4 C4X

FILES=mkcalls sd_calls.dat sd_calls.txt \
	$(foreach level, ${LEVELS}, sd_calls.${level}cache)

default: compile

clean:
	rm -rf ${TMPDIR}
	mkdir ${TMPDIR}

download: clean
	cd ${TMPDIR} && wget https://www.challengedance.org/sd/sd_source.zip
	cd ${TMPDIR} && unzip sd_source.zip

compile: download
	cd ${TMPDIR} && sed -e 's/configuration::null_resolve_ptr/null_resolve_ptr/' sd.h > sd.h2 && mv sd.h2 sd.h
	cd ${TMPDIR} && ${MAKE} -f ${MAKEFILE}
	$(foreach level, ${LEVELS}, cd ${TMPDIR} && ${ECHO} "${level}\nexit" | ./sdtty -session 0;)

install: compile
	attach sd
	aklog sipb.mit.edu
	mkdir -p ${DSTDIR}
	fs sa ${DSTDIR} ${USER} rlidwka
	cd ${TMPDIR} && cp -p ${FILES} ${DSTDIR}
	cd ${TMPDIR} && cp -p sdtty ${DSTDIR}/sdtty.real
	ln -nsf ../../common/sdtty ${DSTDIR}/sd
	fs sa ${DSTDIR} ${USER} rla
