#
#requirespackage 'PETSC_HAVE_MATLAB'
#requiresscalar real
#requiresprecision double
#
# matlabcodes makes the Matlab mex files for receiving PETSc objects
# in Matlab. You cannot use a complex numbers. 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} 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='${COPTFLAGS} ${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='${COPTFLAGS} ${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='${COPTFLAGS} ${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='${COPTFLAGS} ${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='${COPTFLAGS} ${CFLAGS} ${CCPPFLAGS}' readinvecs.c bread.c
-@${RM} -f readinvecs.o bread.o
-@if [ ${PETSC_ARCH} = IRIX64 ] ; then mv -f readinvecs.mexsg64 readinvecs.mexsg ; fi