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