BIN := dna-backup SRC := $(shell find . -not \( -path './exp' -prune \) -type f -name '*.go') V := $(if $(CI),-v) SUBDIRS := exp # Default installation paths PREFIX ?= /usr/local BINDIR = $(DESTDIR)$(PREFIX)/bin .PHONY: all all: build $(SUBDIRS) .PHONY: build build: $(BIN) $(BIN): $(SRC) go build $V -o $@ .PHONY: clean clean: buildclean $(SUBDIRS) .PHONY: buildclean buildclean: rm -rf $(BIN) .PHONY: test test: go test $V ./... .PHONY: install install: $(BIN) install -D $(BIN) $(BINDIR) .PHONY: uninstall uninstall: -rm -f $(BINDIR)/$(BIN) .PHONY: $(SUBDIRS) $(SUBDIRS): $(MAKE) -C $@ $(MAKECMDGOALS)