1.PHONY: default src \ 2 config build test install \ 3 clean distclean srcclean fullclean uninstall \ 4 cython epydoc sdist 5 6PYTHON = python 7 8default: build 9 10src: src/PETSc.c 11 12config: 13 ${PYTHON} setup.py config ${CONFIGOPT} 14 15build: src 16 ${PYTHON} setup.py build ${BUILDOPT} 17 18test: 19 ${MPIEXEC} ${VALGRIND} ${PYTHON} test/runtests.py < /dev/null 20 21install: build 22 ${PYTHON} setup.py install ${INSTALLOPT} --home=${HOME} 23 24clean: 25 ${PYTHON} setup.py clean --all 26 -${RM} _configtest.* *.py[co] 27 -${MAKE} -C docs clean 28 29distclean: clean 30 -${RM} -r build *.py[co] 31 -${RM} -r MANIFEST dist petsc4py.egg-info 32 -${RM} `find . -name '*~'` 33 -${RM} `find . -name '*.py[co]'` 34 35srcclean: 36 -${RM} src/petsc4py_PETSc.c 37 -${RM} src/include/petsc4py/petsc4py_PETSc.h 38 -${RM} src/include/petsc4py/petsc4py_PETSc_api.h 39 40fullclean: distclean srcclean 41 42uninstall: 43 -${RM} -r ${HOME}/lib/python/petsc4py 44 -${RM} -r ${HOME}/lib/python/petsc4py-*-py*.egg-info 45 46CY_SRC_PXD = $(wildcard src/include/petsc4py/*.pxd) 47CY_SRC_PXI = $(wildcard src/PETSc/*.pxi) 48CY_SRC_PYX = $(wildcard src/PETSc/*.pyx) 49src/PETSc.c: src/petsc4py_PETSc.c 50src/petsc4py_PETSc.c: ${CY_SRC_PXD} ${CY_SRC_PXI} ${CY_SRC_PYX} 51 ${PYTHON} ./conf/cythonize.py 52 53cython: 54 ${PYTHON} ./conf/cythonize.py 55 56epydoc: 57 ${PYTHON} ./conf/epydocify.py -o /tmp/petsc4py-api-doc 58 59sdist: 60 ${PYTHON} setup.py sdist ${SDISTOPT} 61