# This makefile can be used to build all or some of the sample
# programs.  To build all of them, use the command
# 'make all'.  To build one, say addtwo, use the command
# 'make addtwo'.

VERSION=6.0
MLINKDIR = /usr/local/Wolfram/Mathematica/${VERSION}/SystemFiles/Links/MathLink/DeveloperKit
SYS = HPUX-PA64
CADDSDIR = ${MLINKDIR}/${SYS}/CompilerAdditions
EXTRA_CFLAGS=

INCDIR = ${CADDSDIR}
LIBDIR = ${CADDSDIR}

MPREP = ${CADDSDIR}/mprep
RM = rm

BINARIES = addtwo bitops counter factor factor2 factor3 quotient reverse sumalist

all : $(BINARIES)

addtwo : addtwotm.o addtwo.o
	${CC} ${EXTRA_CFLAGS} -I${INCDIR} addtwotm.o addtwo.o -L${LIBDIR} '-lML64i3 -L/usr/lib/pa20_64 /usr/lib/pa20_64/libdld.sl -lm /usr/lib/pa20_64/libm.a -lpthread -lrt' -o $@

bitops : bitopstm.o bitops.o
	${CC} ${EXTRA_CFLAGS} -I${INCDIR} bitopstm.o bitops.o -L${LIBDIR} '-lML64i3 -L/usr/lib/pa20_64 /usr/lib/pa20_64/libdld.sl -lm /usr/lib/pa20_64/libm.a -lpthread -lrt' -o $@

counter : countertm.o
	${CC} ${EXTRA_CFLAGS} -I${INCDIR} countertm.o -L${LIBDIR} '-lML64i3 -L/usr/lib/pa20_64 /usr/lib/pa20_64/libdld.sl -lm /usr/lib/pa20_64/libm.a -lpthread -lrt' -o $@

factor : factor.o
	${CC} ${EXTRA_CFLAGS} -I${INCDIR} factor.o -L${LIBDIR} '-lML64i3 -L/usr/lib/pa20_64 /usr/lib/pa20_64/libdld.sl -lm /usr/lib/pa20_64/libm.a -lpthread -lrt' -o $@

factor2 : factor2.o
	${CC} ${EXTRA_CFLAGS} -I${INCDIR} factor2.o -L${LIBDIR} '-lML64i3 -L/usr/lib/pa20_64 /usr/lib/pa20_64/libdld.sl -lm /usr/lib/pa20_64/libm.a -lpthread -lrt' -o $@

factor3 : factor3.o
	${CC} ${EXTRA_CFLAGS} -I${INCDIR} factor3.o -L${LIBDIR} '-lML64i3 -L/usr/lib/pa20_64 /usr/lib/pa20_64/libdld.sl -lm /usr/lib/pa20_64/libm.a -lpthread -lrt' -o $@

quotient : quotient.o
	${CC} ${EXTRA_CFLAGS} -I${INCDIR} quotient.o -L${LIBDIR} '-lML64i3 -L/usr/lib/pa20_64 /usr/lib/pa20_64/libdld.sl -lm /usr/lib/pa20_64/libm.a -lpthread -lrt' -o $@

reverse : reversetm.o
	${CC} ${EXTRA_CFLAGS} -I${INCDIR} reversetm.o -L${LIBDIR} '-lML64i3 -L/usr/lib/pa20_64 /usr/lib/pa20_64/libdld.sl -lm /usr/lib/pa20_64/libm.a -lpthread -lrt' -o $@

sumalist : sumalisttm.o
	${CC} ${EXTRA_CFLAGS} -I${INCDIR} sumalisttm.o -L${LIBDIR} '-lML64i3 -L/usr/lib/pa20_64 /usr/lib/pa20_64/libdld.sl -lm /usr/lib/pa20_64/libm.a -lpthread -lrt' -o $@

.c.o :
	${CC} -c ${EXTRA_CFLAGS} -I${INCDIR} $<

addtwotm.c : addtwo.tm
	${MPREP} $? -o $@

bitopstm.c : bitops.tm
	${MPREP} $? -o $@

countertm.c : counter.tm
	${MPREP} $? -o $@

reversetm.c : reverse.tm
	${MPREP} $? -o $@

sumalisttm.c : sumalist.tm
	${MPREP} $? -o $@

clean :
	@ ${RM} -rf *.o *tm.c $(BINARIES)
