BUILD_MODE ?= DEBUG ifeq ($(BUILD_MODE),DEBUG) LISTEN_PORT = ":9090" else ifeq ($(BUILD_MODE),RELEASE) LISTEN_PORT = ":80" else $(error Unknown build mode) endif all: lts watcher lts: lts.go uuid.go go build -ldflags="-X main.LISTEN_PORT=$(LISTEN_PORT)" watcher: watcher.c cc -o $@ $< clean: go clean rm watcher watch: all ./watcher . sh -c "make BUILD_MODE=$(BUILD_MODE) && ./lts" run: lts ./lts .PHONY: all clean watch run