X-Git-Url: http://gitweb.michael.orlitzky.com/?p=dunshire.git;a=blobdiff_plain;f=makefile;h=13b18cbc52cf09b3bf86b2b7fa8e38b373144b1d;hp=95eb2075a047c007a046684e3790c711ba27132c;hb=HEAD;hpb=f15a47b09621da5b51aa91757f41664796bbf635 diff --git a/makefile b/makefile index 95eb207..13b18cb 100644 --- a/makefile +++ b/makefile @@ -1,16 +1,55 @@ -SRCDIR := src/dunshire +PN := dunshire +SRCS := $(PN)/*.py test/*.py +# Sphinx tries to keep track of which docs need to be built on its +# own. We could do better, but we would have to duplicate all of the +# information that we already gave Sphinx to make it work. Thus the +# "doc" target will unconditionally invoke sphinx. +.PHONY: doc +doc: + cd doc && $(MAKE) html + +# Run the doctests contained in the sphinx documentation, which aren't +# run as part of the normal test suite (because nobody wants to wait +# for sphinx to run). +.PHONY: doctest +doctest: + cd doc && $(MAKE) doctest + +# Run the test suite once. .PHONY: check check: - python test/suite.py + PYTHONPATH="." test/__main__.py + +# Run the test suite once, loudly. This is used in Gentoo, for example +# where we want users to see the output from the test suite on the off +# chance that it fails and they have to report it. +.PHONY: check-verbose +check-verbose: + PYTHONPATH="." test/__main__.py --verbose +# Run the test suite forever, but only the parts of it that are +# randomized. +.PHONY: check-loop +check-loop: + PYTHONPATH="." test/__main__.py --no-doctests --loop + +# Run pylint to obtain some unconstructive criticism on my coding style. .PHONY: lint lint: - PYTHONPATH="$(SRCDIR)" pylint \ - --reports=n \ - --good-names='b,c,h,A,C,G,_K,_L,indented_L' \ - $(SRCDIR)/*.py + pylint --rcfile=./.pylintrc $(SRCS) + +# Create a source distribution tarball. First we clean up, to make +# sure no junk gets added to the distribution. Then we build the docs +# so that users will get some usable HTML documentation and not just +# the source files. +.PHONY: dist +dist: clean doc + python setup.py sdist +# Delete urrythang. .PHONY: clean clean: - rm -rf $(SRCDIR)/__pycache__ + rm -rf $(PN)/__pycache__ test/__pycache__ doc/build + rm -rf $(PN).egg-info + rm -rf dist