Makefile 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. .PHONY: clean-pyc clean-build docs clean test coverage coverage-run
  2. help:
  3. @echo "clean-build - remove build artifacts"
  4. @echo "clean-pyc - remove Python file artifacts"
  5. @echo "lint - check style with flake8"
  6. @echo "test - run tests quickly with the default Python"
  7. @echo "test-all - run tests on every Python version with tox"
  8. @echo "coverage - check code coverage quickly with the default Python"
  9. @echo "docs - generate Sphinx HTML documentation, including API docs"
  10. @echo "release - package and upload a release"
  11. @echo "dist - package"
  12. clean_all:
  13. clean
  14. clean_docs
  15. clean_coverage_report
  16. clean: clean-build clean-pyc
  17. clean_docs:
  18. $(MAKE) -C docs clean
  19. clean_coverage_report:
  20. rm -rf htmlcov/
  21. clean-build:
  22. rm -fr build/
  23. rm -fr dist/
  24. rm -fr *.egg-info
  25. clean-pyc:
  26. find . -name '*.pyc' -exec rm -f {} +
  27. find . -name '*.pyo' -exec rm -f {} +
  28. find . -name '*~' -exec rm -f {} +
  29. lint:
  30. flake8 pwman scripts
  31. test: install clean
  32. git checkout pwman/tests/pwman.v0.0.8.db
  33. python setup.py test
  34. test-all:
  35. tox
  36. coverage-run:
  37. coverage run --source pwman setup.py test
  38. coverage report -m
  39. @coverage html
  40. coverage: coverage-run
  41. docs:
  42. #rm -f docs/manutils.rst
  43. #rm -f docs/modules.rst
  44. sphinx-apidoc -o docs/source/ pwman
  45. $(MAKE) -C docs clean
  46. $(MAKE) -C docs html
  47. open docs/_build/html/index.html
  48. release: clean
  49. python setup.py sdist upload
  50. python setup.py bdist_wheel upload
  51. dist: clean
  52. python setup.py sdist
  53. python setup.py bdist_wheel
  54. ls -l dist
  55. install:
  56. -pip uninstall -y pwman3
  57. python setup.py -q install