.PHONY: all clean VERSION := 1.0.1 OBJS := webcmd-$(VERSION)-linux64.tar.xz \ webcmd-$(VERSION)-linux32.tar.xz \ webcmd-$(VERSION)-win64.zip \ webcmd-$(VERSION)-win32.zip XZ_OPTS=-9 all: $(OBJS) define compilelinux /bin/bash -c 'GOARCH=$(1) GOOS=linux go build -a -o ./webcmd -ldflags "-s -w -X code.ivysaur.me/webcmd.APP_VERSION=$(VERSION)" -gcflags "-trimpath=$(GOPATH)" ./cmd/webcmd' tar caf webcmd-$(2)-$(VERSION).tar.xz webcmd -C cmd/webcmd webcmd.conf-sample --owner=0 --group=0 rm webcmd endef define compilewin /bin/bash -c 'GOARCH=$(1) GOOS=windows go build -a -o ./webcmd -ldflags "-s -w -X code.ivysaur.me/webcmd.APP_VERSION=$(VERSION)" -gcflags "-trimpath=$(GOPATH)" ./cmd/webcmd' zip -j webcmd-$(2)-$(VERSION).zip webcmd cmd/webcmd/webcmd.conf-sample rm webcmd endef webcmd-$(VERSION)-linux64.tar.xz: $(call compilelinux,amd64,linux64) webcmd-$(VERSION)-linux32.tar.xz: $(call compilelinux,386,linux32) webcmd-$(VERSION)-win64.zip: $(call compilewin,amd64,win64) webcmd-$(VERSION)-win32.zip: $(call compilewin,386,win32) clean: rm $(OBJS)