# By default, run the tests.
all: test

version:
	python setup.py version

build:
	python setup.py build_ext --inplace

dist: sdist
sdist:
	python setup.py sdist

install:
	python setup.py install

develop:
	python setup.py develop

docs:
	make -C docs

lint:
	pylint --rcfile=.pylintrc nilmdb

test:
ifeq ($(INSIDE_EMACS), t)
# Use the slightly more flexible script
	python setup.py build_ext --inplace
	python tests/runtests.py
else
# Let setup.py check dependencies, build stuff, and run the test
	python setup.py nosetests
endif

clean::
	find . -name '*pyc' | xargs rm -f
	rm -f .coverage
	rm -rf tests/*testdb*
	rm -rf nilmdb.egg-info/ build/ nilmdb/server/*.so MANIFEST.in
	make -C docs clean

gitclean::
	git clean -dXf

.PHONY: all version build dist sdist install docs lint test clean gitclean
