# 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=5.2
MLINKDIR = /usr/local/Wolfram/Mathematica/${VERSION}/AddOns/MathLink/DeveloperKit
SYS = Linux-x86-64
CADDSDIR = ${MLINKDIR}/${SYS}/CompilerAdditions
EXTRA_CFLAGS=

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

MPREP = ${CADDSDIR}/mprep

all : addtwo bitops counter factor factor2 factor3 quotient reverse sumalist

addtwo : addtwotm.o addtwo.o
	${CC} ${EXTRA_CFLAGS} -I${INCDIR} addtwotm.o addtwo.o -L${LIBDIR} -lML -lm -lpthread -lrt -o $@

bitops : bitopstm.o bitops.o
	${CC} ${EXTRA_CFLAGS} -I${INCDIR} bitopstm.o bitops.o -L${LIBDIR} -lML -lm -lpthread -lrt -o $@

counter : countertm.o
	${CC} ${EXTRA_CFLAGS} -I${INCDIR} countertm.o -L${LIBDIR} -lML -lm -lpthread -lrt -o $@

factor : factor.o
	${CC} ${EXTRA_CFLAGS} -I${INCDIR} factor.o -L${LIBDIR} -lML -lm -lpthread -lrt -o $@

factor2 : factor2.o
	${CC} ${EXTRA_CFLAGS} -I${INCDIR} factor2.o -L${LIBDIR} -lML -lm -lpthread -lrt -o $@

factor3 : factor3.o
	${CC} ${EXTRA_CFLAGS} -I${INCDIR} factor3.o -L${LIBDIR} -lML -lm -lpthread -lrt -o $@

quotient : quotient.o
	${CC} ${EXTRA_CFLAGS} -I${INCDIR} quotient.o -L${LIBDIR} -lML -lm -lpthread -lrt -o $@

reverse : reversetm.o
	${CC} ${EXTRA_CFLAGS} -I${INCDIR} reversetm.o -L${LIBDIR} -lML -lm -lpthread -lrt -o $@

sumalist : sumalisttm.o
	${CC} ${EXTRA_CFLAGS} -I${INCDIR} sumalisttm.o -L${LIBDIR} -lML -lm -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 $@

