SOURCES := $(shell find src -name '*.go') TARGETS := $(patsubst src/%.go,bin/%,$(SOURCES)) bin/%: src/%.go go build -o $@ $^ all: $(TARGETS) clean: rm -v bin/* .PHONY: all clean