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