Makefile 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. PYTHON = python
  2. PYFLAKES = pyflakes
  3. PEP8 = pep8
  4. SETUP = $(PYTHON) setup.py
  5. PYDOCTOR ?= pydoctor
  6. ifeq ($(shell $(PYTHON) -c "import sys; print(sys.version_info >= (2, 7))"),True)
  7. TESTRUNNER ?= unittest
  8. else
  9. TESTRUNNER ?= unittest2.__main__
  10. endif
  11. RUNTEST = PYTHONHASHSEED=random PYTHONPATH=.:$(PYTHONPATH) $(PYTHON) -m $(TESTRUNNER) $(TEST_OPTIONS)
  12. DESTDIR=/
  13. all: build
  14. doc:: pydoctor
  15. doc:: sphinx
  16. sphinx::
  17. $(MAKE) -C docs html
  18. pydoctor::
  19. $(PYDOCTOR) --make-html -c dulwich.cfg
  20. build::
  21. $(SETUP) build
  22. $(SETUP) build_ext -i
  23. install::
  24. $(SETUP) install --root="$(DESTDIR)"
  25. check:: build
  26. $(RUNTEST) dulwich.tests.test_suite
  27. check-tutorial:: build
  28. $(RUNTEST) dulwich.tests.tutorial_test_suite
  29. check-nocompat:: build
  30. $(RUNTEST) dulwich.tests.nocompat_test_suite
  31. check-compat:: build
  32. $(RUNTEST) dulwich.tests.compat_test_suite
  33. check-pypy:: clean
  34. $(MAKE) check-noextensions PYTHON=pypy
  35. check-noextensions:: clean
  36. $(RUNTEST) dulwich.tests.test_suite
  37. check-all: check check-pypy check-noextensions
  38. clean::
  39. $(SETUP) clean --all
  40. rm -f dulwich/*.so
  41. flakes:
  42. $(PYFLAKES) dulwich
  43. pep8:
  44. $(PEP8) dulwich
  45. before-push: check
  46. git diff origin/master | $(PEP8) --diff