DIRENV := $(shell command -v direnv 2> /dev/null) # If we have direnv and we're not already in the environment, re-exec via direnv ifdef DIRENV ifeq ($(origin DIRENV_DIR), undefined) # Ensure direnv is allowed _ALLOW := $(shell direnv allow . > /dev/null 2>&1) # Re-exec make via direnv EXEC := direnv exec . $(MAKE) build run test clean flatpak-build: @$(EXEC) $@ else # We are already inside direnv, or direnv is not available EXEC := endif else EXEC := endif ifndef EXEC build: cargo build run: cargo run test: cargo test clean: cargo clean # Flatpak build target .PHONY: flatpak-build flatpak-build: flatpak-builder --force-clean build-flatpak flatpak/app.flatpak.json endif .PHONY: build run test clean