1*55a74a43SLisandro Dalcin# -*- makefile -*- 2*55a74a43SLisandro Dalcin 3*55a74a43SLisandro DalcinMPIEXEC= 4*55a74a43SLisandro DalcinPYTHON=python 5*55a74a43SLisandro Dalcin 6*55a74a43SLisandro DalcinF2PY = f2py 7*55a74a43SLisandro DalcinF2PY_FLAGS = --quiet 8*55a74a43SLisandro DalcinF2PY_FLAGS += --noarch --f90flags='' 9*55a74a43SLisandro DalcinF2PY_FLAGS += -DF2PY_REPORT_ON_ARRAY_COPY=1 10*55a74a43SLisandro Dalcin 11*55a74a43SLisandro Dalcin-include ../../../../../petscdir.mk 12*55a74a43SLisandro Dalcin-include ${PETSC_DIR}/lib/petsc/conf/variables 13*55a74a43SLisandro Dalcin 14*55a74a43SLisandro Dalcin.PHONY:test 15*55a74a43SLisandro Dalcintest: run clean 16*55a74a43SLisandro Dalcin 17*55a74a43SLisandro Dalcin.PHONY:run 18*55a74a43SLisandro Dalcinrun: run_py run_cc 19*55a74a43SLisandro Dalcin 20*55a74a43SLisandro DalcinSCRIPT=poisson3d 21*55a74a43SLisandro DalcinMODULE=del2lib 22*55a74a43SLisandro Dalcin.PHONY:run_py 23*55a74a43SLisandro Dalcinrun_py: ${MODULE}.so 24*55a74a43SLisandro Dalcin ${MPIEXEC} ${PYTHON} ${SCRIPT}.py 25*55a74a43SLisandro Dalcin 26*55a74a43SLisandro Dalcin${MODULE}.so: ${MODULE}.f90 27*55a74a43SLisandro Dalcin ${F2PY} ${F2PY_FLAGS} -c $< -m ${MODULE} 28*55a74a43SLisandro Dalcin 29*55a74a43SLisandro DalcinEXECUTABLE=poisson3d 30*55a74a43SLisandro Dalcin.PHONY:run_cc 31*55a74a43SLisandro Dalcinrun_cc: ${EXECUTABLE}.exe 32*55a74a43SLisandro Dalcin ${MPIEXEC} ./${EXECUTABLE}.exe 33*55a74a43SLisandro Dalcin 34*55a74a43SLisandro Dalcin${EXECUTABLE}.exe: 35*55a74a43SLisandro Dalcin ${MAKE} -f makefile.petsc \ 36*55a74a43SLisandro Dalcin PETSC_DIR=${PETSC_DIR} PETSC_ARCH=${PETSC_ARCH} 37*55a74a43SLisandro Dalcin 38*55a74a43SLisandro Dalcin.PHONY:clean 39*55a74a43SLisandro Dalcinclean: 40*55a74a43SLisandro Dalcin ${RM} *.py[co] ${MODULE}*.so ${EXECUTABLE}.exe 41*55a74a43SLisandro Dalcin ${RM} -r __pycache__ 42