You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

89 lines
1.7 KiB

include Makefile.conf
.PHONY: all compile compile-inplace dist dist-egg dist-whl install install-user venv envtest install-test test develop docs clean clean-all clean-docs
all: dist
# Build
# =====
python3 build_ext $(DEBUG_OPT) $(PREFIX_OPT)
python3 build_ext $(DEBUG_OPT) $(PREFIX_OPT) --inplace
# Packaging
# =========
# create wheel and egg package in dist/
dist: dist-whl dist-egg
# create wheel package in dist/
dist-whl: compile
python3 bdist_wheel
# create egg package in dist/
dist-egg: compile
python3 bdist_egg
# Installation
# ============
# installs the package system wide
install: compile
pip3 install .
# installs the package into your user home
install-user: compile
pip3 install . --user
# Envrionment
# ===========
# Creates and activates a new venv that has the LD_LIBRARY_PATH/DYLD_LIBRARY_PATH
# already set for the prefix specified in local.conf
# Only activates venv if already existing
python3 -m venv $(VENV_DIR)
bash --rcfile $(VENV_DIR)/bin/activate
# Tests if the current environment is able to load the pEp module
python3 -c 'import pEp'
# Test
# ====
# Use these targets only in venv created with 'make venv'
install-test: compile
pip3 install .[test]
# TODO: maybe use test?
test: install-test
pytest --forked
# Development
develop: compile
pip install -e .
# Documentation
# =============
docs: compile-inplace
make html -C docs/
# Housekeeping
# ============
clean-all: clean
rm -rf $(VENV_DIR)
clean: clean-docs
rm -rf $(BUILD_DIR)
rm -rf $(DIST_DIR)
rm -rf $(VERSION_FILE)
make clean -C docs/