# $Id: makefile,v 1.21 2001/08/22 17:58:55 balay Exp $
#
#requirespackage 'PETSC_HAVE_MATLAB'
#requiresscalar real
#
# matlabcodes makes the Matlab mex files for receiving PETSc objects
# in Matlab. You cannot use a BOPT=*_C++ or BOPT=*_complex. If mex fails
# in compiling these files and you are using the gcc compiler then try
# removing the -fPIC from the CC declaration in ${PETSC_DIR}/bmake/${PETSC_ARCH}/variables
#
SPECIALLIB = yes
SPECIALFASTLIB = yes
speciallib:
-@echo "BEGINNING TO COMPILE MATLAB INTERFACE"
-@${OMAKE} BOPT=g matlabcodes PETSC_ARCH=${PETSC_ARCH} PETSC_DIR=${PETSC_DIR}
-@if [ ! -d "${PETSC_DIR}/bin/matlab" ] ; then ${MKDIR} ${PETSC_DIR}/bin/matlab; fi
-@${MV} receive.mex* openport.mex* closeport.mex* launch.mex* readinvecs.mex* ${PETSC_DIR}/bin/matlab
specialfastlib: speciallib
matlabcodes: receive openport closeport launch readinvecs
CFLAGS =
FFLAGS =
CPPFLAGS =
SOURCEC =
SOURCEF =
SOURCEH = closeport.c openport.c receivedense.c launch.c receive.c bread.c \
receivesparse.c closeport.m launch.m openport.m receive.m readinvecs.c
OBJSC =
OBJSF =
MANSEC = Viewer
LIBBASE = libpetsc
DIRS =
LOCDIR = src/sys/src/viewer/impls/socket/matlab/
NOADIC = true
include ${PETSC_DIR}/bmake/common/base
include ${PETSC_DIR}/bmake/common/test
# MATLAB_MEX and MATLAB_CC are defined in bmake/${PETSC_ARCH}/packages
#
receive:
-@${MATLAB_MEX} -g CC=${MATLAB_CC} ${CFLAGS} ${CCPPFLAGS} receive.c receivesparse.c receivedense.c bread.c
-@${RM} -f receive.o receivesparse.o receivedense.o bread.o
-@if [ ${PETSC_ARCH} = IRIX64 ] ; then mv -f receive.mexsg64 receive.mexsg ; fi
openport:
-@${MATLAB_MEX} -g CC=${MATLAB_CC} ${CFLAGS} ${CCPPFLAGS} openport.c
-@${RM} -f openport.o
-@if [ ${PETSC_ARCH} = IRIX64 ] ; then mv -f openport.mexsg64 openport.mexsg ; fi
closeport:
-@${MATLAB_MEX} -g CC=${MATLAB_CC} ${CFLAGS} ${CCPPFLAGS} closeport.c
-@${RM} -f closeport.o
-@if [ ${PETSC_ARCH} = IRIX64 ] ; then mv -f closeport.mexsg64 closeport.mexsg ; fi
launch:
-@${MATLAB_MEX} -g CC=${MATLAB_CC} ${CFLAGS} ${CCPPFLAGS} launch.c
-@${RM} -f launch.o
-@if [ ${PETSC_ARCH} = IRIX64 ] ; then mv -f launch.mexsg64 launch.mexsg ; fi
readinvecs:
-@${MATLAB_MEX} -g CC=${MATLAB_CC} ${CFLAGS} ${CCPPFLAGS} readinvecs.c bread.c
-@${RM} -f readinvecs.o bread.o
-@if [ ${PETSC_ARCH} = IRIX64 ] ; then mv -f readinvecs.mexsg64 readinvecs.mexsg ; fi