40 lines
785 B
Makefile
40 lines
785 B
Makefile
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
|