export CGO_ENABLED=1
export DOCKER_HOST := ssh://root@ber1app1.local

# Version information
VERSION := 0.1.0
GIT_COMMIT := $(shell git rev-parse HEAD 2>/dev/null || echo "unknown")
LDFLAGS := -X 'git.eeqj.de/sneak/secret/internal/cli.Version=$(VERSION)' \
           -X 'git.eeqj.de/sneak/secret/internal/cli.GitCommit=$(GIT_COMMIT)'

.PHONY: default bootstrap setup test lint fmt fmt-check check docker hooks vet

default: check

bootstrap:
	@script/bootstrap

setup:
	@script/setup

build: ./secret

./secret: ./internal/*/*.go ./pkg/*/*.go ./cmd/*/*.go ./go.*
	go build -v -ldflags "$(LDFLAGS)" -o $@ cmd/secret/main.go

vet:
	go vet ./...

test:
	@script/test

fmt:
	@script/fmt

lint:
	@script/lint

check:
	@script/check

# Build Docker container
docker:
	@script/docker

# Run Docker container interactively
docker-run:
	docker run --rm -it "$$(./script/projectname)"

# Clean build artifacts
clean:
	rm -f ./secret

install: ./secret
	cp ./secret $(HOME)/bin/secret

fmt-check:
	@script/fmt-check

hooks:
	@script/install-precommit
