mirror-komikku/Makefile

40 lines
891 B
Makefile

BUILD := _build
define PRINT_HELP_PYSCRIPT
import re, sys
for line in sys.stdin:
match = re.match(r'^([a-zA-Z_-]+):.*?## (.*)$$', line)
if match:
target, help = match.groups()
print("%-20s %s" % (target, help))
endef
export PRINT_HELP_PYSCRIPT
help:
@python3 -c "$$PRINT_HELP_PYSCRIPT" < $(MAKEFILE_LIST)
setup: ## Setup build folder.
mkdir -p $(BUILD)
meson setup . $(BUILD)
local: ## Configure a local build.
meson configure $(BUILD) -Dprefix=$$(pwd)/$(BUILD)/testdir
ninja -C $(BUILD) install
develop: ## Configure a local build with debugging.
meson configure $(BUILD) -Dprefix=$$(pwd)/$(BUILD)/testdir -Dprofile=development
ninja -C $(BUILD) install
run: ## Run the local build.
ninja -C $(BUILD) run
install: ## Install system-wide.
ninja -C $(BUILD) install
test: ## Run tests.
python3 -m pytest -v tests/
clean: ## Clean build files.
rm -r $(BUILD)