# sfdupes is pure Go; disable cgo so builds never touch the host C # toolchain. export CGO_ENABLED = 0 BINARY := sfdupes VERSION := $(shell git describe --tags --always --dirty 2>/dev/null || echo dev) LDFLAGS := -X main.Version=$(VERSION) .PHONY: sfdupes build bootstrap setup test lint fmt fmt-check check docker hooks clean # Standard targets are thin shims; the implementations live in script/ # per the scripts-to-rule-them-all pattern. # Default target: build the binary. Phony so go build (which has its # own build cache) always decides what to recompile. sfdupes: go build -ldflags "$(LDFLAGS)" -o $(BINARY) build: sfdupes bootstrap: @script/bootstrap setup: @script/setup test: @script/test lint: @script/lint fmt: @script/fmt fmt-check: @script/fmt-check check: @script/check docker: @script/docker hooks: @script/install-precommit clean: rm -f $(BINARY) files.dat