1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
|
# Simple makefile to quickly access handy build commands for Cython extension
# code generation. Note that the actual code to produce the extension lives in
# the setup.py file, this Makefile is just meant as a command
# convenience/reminder while doing development.
PYTHON ?= python
PKGDIR=dipy
DOCSRC_DIR=doc
DOCDIR=${PKGDIR}/${DOCSRC_DIR}
TESTDIR=${PKGDIR}/tests
help:
@echo "Numpy/Cython tasks. Available tasks:"
@echo "ext -> build the Cython extension module."
@echo "cython-html -> create annotated HTML from the .pyx sources"
@echo "test -> run a simple test demo."
@echo "all -> Call ext, html and finally test."
all: ext cython-html test
ext: recspeed.so propspeed.so vox2track.so \
distances.so
test: ext
nosetests .
cython-html: ${PKGDIR}/reconst/recspeed.html ${PKGDIR}/tracking/propspeed.html ${PKGDIR}/tracking/vox2track.html ${PKGDIR}/tracking/distances.html
recspeed.so: ${PKGDIR}/reconst/recspeed.pyx
propspeed.so: ${PKGDIR}/tracking/propspeed.pyx
vox2track.so: ${PKGDIR}/tracking/vox2track.pyx
distances.so: ${PKGDIR}/tracking/distances.pyx
$(PYTHON) setup.py build_ext --inplace
# Phony targets for cleanup and similar uses
.PHONY: clean
clean:
- find ${PKGDIR} -name "*.so" -print0 | xargs -0 rm
- find ${PKGDIR} -name "*.pyd" -print0 | xargs -0 rm
- find ${PKGDIR} -name "*.c" -print0 | xargs -0 rm
- find ${PKGDIR} -name "*.html" -print0 | xargs -0 rm
rm -rf build
rm -rf docs/_build
rm -rf docs/dist
rm -rf dipy/dipy.egg-info
distclean: clean
rm -rf dist
# Suffix rules
%.c : %.pyx
cython $<
%.html : %.pyx
cython -a $<
# Check for files not installed
check-files:
$(PYTHON) -c 'from nisext.testers import check_files; check_files("dipy")'
# Print out info for possible install methods
check-version-info:
$(PYTHON) -c 'from nisext.testers import info_from_here; info_from_here("dipy")'
# Run tests from installed code
installed-tests:
$(PYTHON) -c 'from nisext.testers import tests_installed; tests_installed("dipy")'
# Run tests from installed code
sdist-tests:
$(PYTHON) -c 'from nisext.testers import sdist_tests; sdist_tests("dipy")'
bdist-egg-tests:
$(PYTHON) -c 'from nisext.testers import bdist_egg_tests; bdist_egg_tests("dipy")'
source-release: clean
$(PYTHON) -m compileall .
$(PYTHON) setup.py sdist --formats=gztar,zip
binary-release: clean
$(PYTHON) setup_egg.py bdist_egg
build-stamp-source:
$(PYTHON) -c 'import cythexts; cythexts.build_stamp_source()'
|