PYTHON=python3
-PIP=pip3
-VIRTUALENV=pyvenv
+SETUP=$(PYTHON) setup.py
RM=rm -rf
.PHONY: default
default:
- @echo "pypol - A polyhedral library based on ISL"
+ @echo "LinPy – A polyhedral library based on isl"
@echo
@echo "Makefile usage:"
+ @echo " make build build the extension modules"
@echo " make test run the test suite"
+ @echo " make doc generate the documentation"
+ @echo " make view_doc open the documentation index"
@echo " make clean remove the generated files"
+ @echo " make upload upload the module on PyPI"
+
+.PHONY: build
+build:
+ $(SETUP) build_ext --inplace
.PHONY: test
-test:
- $(PYTHON) -m unittest
+test: build
+ $(PYTHON) -m unittest -v
+
+.PHONY: doc
+doc:
+ $(MAKE) -C doc html
+
+.PHONY: view_doc
+view_doc: doc
+ xdg-open doc/_build/html/index.html >/dev/null 2>&1
.PHONY: clean
clean:
- $(RM) build dist MANIFEST venv
- $(RM) pypol.egg-info pypol/_isl.*.so pypol/__pycache__
- $(RM) tests/__pycache__
+ $(RM) build dist MANIFEST LinPy.egg-info linpy/_islhelper.*.so
+ find . -name __pycache__ | xargs $(RM)
+ $(MAKE) -C doc $@
-.PHONY: venv
-venv:
- $(RM) venv
- $(VIRTUALENV) venv
- . venv/bin/activate; $(PIP) install -e .
+.PHONY: upload
+upload:
+ $(SETUP) register sdist upload