xref: /petsc/src/binding/petsc4py/demo/legacy/poisson3d/makefile (revision 5a48edb989d3ea10d6aff6c0e26d581c18691deb)
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