program = day-23 GO = go CLI_DIR := cmd/cli BIN_DIR := bin EXE := $(BIN_DIR)/$(program) .DEFAULT_GOAL := build .PHONY: fmt vet build bench clean fmt: $(GO) fmt ./... vet: fmt $(GO) vet ./... build: vet | $(BIN_DIR) $(GO) build -o $(EXE) ./$(CLI_DIR) bench: $(GO) test ./internal/one/ -bench=. > internal/one/benchmark $(GO) test ./internal/two/ -bench=. > internal/two/benchmark $(GO) test . -count=10 -bench=. > benchmark $(BIN_DIR): @mkdir -p $@ clean: @rm -rv $(BIN_DIR)