diff --git a/Makefile b/Makefile index f573a49..30252f3 100644 --- a/Makefile +++ b/Makefile @@ -1,19 +1,40 @@ +BIN := bin +DIST := dist + +SRC = $(wildcard drone/*.go) +RELEASES = $(DIST)/drone_linux_amd64.tar.gz \ + $(DIST)/drone_linux_386.tar.gz \ + $(DIST)/drone_linux_arm.tar.gz \ + $(DIST)/drone_darwin_amd64.tar.gz \ + $(DIST)/drone_windows_386.tar.gz \ + $(DIST)/drone_windows_amd64.tar.gz + +GO = GO15VENDOREXPERIMENT=1 go + +install: $(BIN)/drone + cp $< $(GOPATH)/bin/ + +release: $(RELEASES) deps: - cd drone - go get -u ./... - -build: - cd drone - go install ./... + go get -u ./drone/... test: - cd drone - go test ./... + $(GO) test ./drone/... clean: - rm -rf bin dist + rm -rf $(BIN) $(DIST) -dist: - mkdir -p bin dist - echo dist \ No newline at end of file +$(BIN)/drone: $(SRC) + $(GO) build -o $@ $(SRC) + +.PRECIOUS: $(BIN)/%/drone +$(BIN)/%/drone: GOOS=$(firstword $(subst _, ,$*)) +$(BIN)/%/drone: GOARCH=$(subst .exe,,$(word 2,$(subst _, ,$*))) +$(BIN)/%/drone: $(SRC) + GOOS=$(GOOS) GOARCH=$(GOARCH) $(GO) build -o $@ $(SRC) + +$(DIST)/drone_%.tar.gz: $(BIN)/%/drone + mkdir -p $(DIST) + tar -cvzf $@ --directory=$(BIN)/$* drone + sha256sum $@ > $(DIST)/drone_$*.sha256