diff --git a/Makefile b/Makefile index 1e04c4f..1f08e11 100644 --- a/Makefile +++ b/Makefile @@ -9,10 +9,11 @@ DIR_RELEASE=release VERSION=$(patsubst "%",%,$(lastword $(shell grep 'const Version' version.go))) GITTAG=$(shell git rev-parse --short HEAD) -.PHONY: build build-linux-amd64 build-linux-386 clean - default: build +FORCE: +.PHONY: FORCE + $(DIR_BUILD)/bin/$(THIS_GOOS)_$(THIS_GOARCH)/dep: mkdir -p /tmp/go GOPATH=/tmp/go go get -d -v github.com/golang/dep @@ -21,16 +22,25 @@ $(DIR_BUILD)/bin/$(THIS_GOOS)_$(THIS_GOARCH)/dep: dep: $(DIR_BUILD)/bin/$(THIS_GOOS)_$(THIS_GOARCH)/dep +$(DIR_BUILD)/bin/$(THIS_GOOS)_$(THIS_GOARCH)/ghr: + mkdir -p /tmp/go + GOPATH=/tmp/go go get -d -v github.com/tcnksm/ghr + GOPATH=/tmp/go go build -v -o $(DIR_BUILD)/bin/$(THIS_GOOS)_$(THIS_GOARCH)/ghr github.com/tcnksm/ghr + rm -rf /tmp/go + +ghr: $(DIR_BUILD)/bin/$(THIS_GOOS)_$(THIS_GOARCH)/ghr + installdeps: dep $(DIR_BUILD)/bin/$(THIS_GOOS)_$(THIS_GOARCH)/dep ensure -v -vendor-only -build: - go build -v -i -ldflags "-X main.gittag=$(GITTAG)" -o $(DIR_BUILD)/mailfull_$(GOOS)_$(GOARCH)/mailfull cmd/mailfull/*.go + +build: FORCE + go build -v -ldflags "-X main.gittag=$(GITTAG)" -o $(DIR_BUILD)/mailfull_$(GOOS)_$(GOARCH)/mailfull cmd/mailfull/*.go .build-docker: docker run --rm -v $(DIR_PKG):/go/pkg -v $(PWD):/go/src/github.com/directorz/mailfull-go -w /go/src/github.com/directorz/mailfull-go \ - -e GOOS=$(GOOS) -e GOARCH=$(GOARCH) golang:1.9.2 \ - go build -v -i -ldflags "-X main.gittag=$(GITTAG)" -o $(DIR_BUILD)/mailfull_$(GOOS)_$(GOARCH)/mailfull cmd/mailfull/*.go + -e GOOS=$(GOOS) -e GOARCH=$(GOARCH) golang:1.10 \ + go build -v -ldflags "-X main.gittag=$(GITTAG)" -o $(DIR_BUILD)/mailfull_$(GOOS)_$(GOARCH)/mailfull cmd/mailfull/*.go build-linux-amd64: @$(MAKE) .build-docker GOOS=linux GOARCH=amd64 @@ -38,6 +48,7 @@ build-linux-amd64: build-linux-386: @$(MAKE) .build-docker GOOS=linux GOARCH=386 + release: release-linux-amd64 release-linux-386 release-linux-amd64: build-linux-amd64 @@ -55,12 +66,13 @@ release-targz: dir-$(DIR_RELEASE) dir-$(DIR_RELEASE): mkdir -p $(DIR_RELEASE) -release-upload: release-linux-amd64 release-linux-386 release-github-token - ghr -u directorz -r mailfull-go -t $(shell cat github_token) --replace --draft $(VERSION) $(DIR_RELEASE) +release-upload: ghr release-linux-amd64 release-linux-386 release-github-token + $(DIR_BUILD)/bin/$(THIS_GOOS)_$(THIS_GOARCH)/ghr -u directorz -r mailfull-go -t $(shell cat github_token) --replace --draft $(VERSION) $(DIR_RELEASE) release-github-token: github_token @echo "file \"github_token\" is required" + clean: -rm -rf $(DIR_BUILD) -rm -rf $(DIR_RELEASE)