build: Fix Makefile targets to match GNU coding standards

Signed-off-by: Sven Sager <akira@narux.de>
This commit is contained in:
2023-10-27 14:12:31 +02:00
parent 37ccac7f79
commit 801efe7fb4
3 changed files with 45 additions and 15 deletions

3
.idea/misc.xml generated
View File

@@ -1,5 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="Black">
<option name="sdkName" value="Python 3.11 (revpimodio2)" />
</component>
<component name="JavaScriptSettings"> <component name="JavaScriptSettings">
<option name="languageLevel" value="ES6" /> <option name="languageLevel" value="ES6" />
</component> </component>

View File

@@ -26,32 +26,56 @@ venv-info:
exit 0 exit 0
venv: venv:
$(SYSTEM_PYTHON) -m venv "$(VENV_PATH)" # Start with empty environment
source $(VENV_PATH)/bin/activate && \ "$(SYSTEM_PYTHON)" -m venv "$(VENV_PATH)"
source "$(VENV_PATH)/bin/activate" && \
python3 -m pip install --upgrade pip && \ python3 -m pip install --upgrade pip && \
python3 -m pip install -r requirements.txt python3 -m pip install -r requirements.txt
exit 0 exit 0
.PHONY: venv-info venv venv-ssp:
# Include system installed site-packages and add just missing modules
"$(SYSTEM_PYTHON)" -m venv --system-site-packages "$(VENV_PATH)"
source "$(VENV_PATH)/bin/activate" && \
python3 -m pip install --upgrade pip && \
python3 -m pip install -r requirements.txt
exit 0
.PHONY: venv-info venv venv-ssp
## Build steps
test:
PYTHONPATH=src "$(PYTHON)" -m pytest tests
## Build, install
build: build:
$(PYTHON) -m setup sdist "$(PYTHON)" -m setup sdist
$(PYTHON) -m setup bdist_wheel "$(PYTHON)" -m setup bdist_wheel
install: build install: build
$(PYTHON) -m pip install dist/$(PACKAGE)-*.whl "$(PYTHON)" -m pip install dist/$(PACKAGE)-$(APP_VERSION)-*.whl
uninstall:
"$(PYTHON)" -m pip uninstall --yes $(PACKAGE)
.PHONY: test build install uninstall
## Documentation
docs: docs:
$(PYTHON) -m sphinx.cmd.build -b html docs docs/_build/html "$(PYTHON)" -m sphinx.cmd.build -b html docs docs/_build/html
.PHONY: build docs install .PHONY: docs
## Clean ## Clean
clean: clean:
rm -rf build docs/_build dist src/*.egg-info *.spec # PyTest caches
rm -rf .pytest_cache
# Build artifacts
rm -rf build dist src/*.egg-info
# PyInstaller created files
rm -rf *.spec
clean-all: clean distclean: clean
rm -R $(VENV_PATH) # Virtual environment
rm -rf "$(VENV_PATH)"
.PHONY: clean clean-all .PHONY: clean distclean

View File

@@ -1,3 +1,6 @@
setuptools>=58.0.4 # Build dependencies
wheel setuptools
sphinx sphinx
wheel
# Runtime dependencies, must match install_requires in setup.py