GAMEFILES=$(wildcard internal/game/*.go) COORDFILEs=$(wildcard internal/coordinator/*.go) #set variables GIT_COMMIT := $(shell git rev-list -1 HEAD) ifeq ($(PREFIX),) # PREFIX is environment variable, but if it is not set, then set default value PREFIX := /usr/local endif all: client client2 server engine client: $(GAMEFILES) $(wildcard cmd/client/*.go) go build -ldflags "-X main.GitCommit=$(GIT_COMMIT)" ./cmd/client client2: $(GAMEFILES) $(wildcard cmd/client2/*.go) go build -ldflags "-X main.GitCommit=$(GIT_COMMIT)" ./cmd/client2 server: $(GAMEFILES) $(COORDFILEs) $(wildcard cmd/server/*.go) go build -ldflags "-X main.GitCommit=$(GIT_COMMIT)" ./cmd/server engine: $(GAMEFILES) go build -ldflags "-X main.GitCommit=$(GIT_COMMIT)" ./cmd/engine clean: rm -f client server engine run: engine ./engine install: $(SNENGAME) install -d $(DESTDIR)$(PREFIX)/bin install -m 755 $(PROG) $(DESTDIR)$(PREFIX)/bin