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