LDFLAGS += -X "github.com/gogits/gogs/modules/setting.BuildTime=$(shell date -u '+%Y-%m-%d %I:%M:%S %Z')" LDFLAGS += -X "github.com/gogits/gogs/modules/setting.BuildGitHash=$(shell git rev-parse HEAD)" DATA_FILES ?= $(shell find conf | sed 's/ /\\ /g') LESS_FILES ?= $(wildcard public/less/gogs.less public/less/_*.less) GENERATED ?= modules/bindata/bindata.go public/css/gogs.css TAGS ?= DIST := dist BIN := bin FILES := templates public scripts LICENSE README.md README_ZH.md RELEASES ?= $(DIST)/gogs-linux-amd64.tgz \ $(DIST)/gogs-linux-386.tgz \ $(DIST)/gogs-linux-arm.tgz \ $(DIST)/gogs-darwin-amd64.tgz \ $(DIST)/gogs-darwin-386.tgz \ $(DIST)/gogs-darwin-arm.tgz \ $(DIST)/gogs-freebsd-amd64.tgz \ $(DIST)/gogs-freebsd-386.tgz \ $(DIST)/gogs-freebsd-arm.tgz \ $(DIST)/gogs-openbsd-amd64.tgz \ $(DIST)/gogs-openbsd-386.tgz \ $(DIST)/gogs-openbsd-arm.tgz \ $(DIST)/gogs-windows-amd64.zip \ $(DIST)/gogs-windows-386.zip .PHONY: clean test deps gofmt govet build install .IGNORE: public/css/gogs.css clean: go clean -i ./... rm -rf $(BIN) $(DIST) test: @echo "Tests are not integrated!" # go test -tags '$(TAGS)' -cover ./... deps: go get -tags '$(TAGS)' -d -t ./... gofmt: go fmt ./... govet: go tool vet -composites=false -methods=false -structtags=false . build: install cp $(GOPATH)/bin/gogs . install: go install -ldflags '$(LDFLAGS)' -tags '$(TAGS)' bindata: modules/bindata/bindata.go modules/bindata/bindata.go: $(DATA_FILES) go-bindata -o=$@ -ignore="\\.DS_Store|README.md" -pkg=bindata conf/... less: public/css/gogs.css public/css/gogs.css: $(LESS_FILES) lessc $< $@ release: $(RELEASES) $(BIN)/%/gogs/gogs: GOOS=$(firstword $(subst -, ,$*)) $(BIN)/%/gogs/gogs: GOARCH=$(subst .exe,,$(word 2,$(subst -, ,$*))) $(BIN)/%/gogs/gogs: GOOS=$(GOOS) GOARCH=$(GOARCH) go build -ldflags '$(LDFLAGS)' -tags '$(TAGS)' -o $@ cp -r $(FILES) $(BIN)/$*/gogs $(DIST)/gogs-%.tgz: GOOS=$(firstword $(subst -, ,$*)) $(DIST)/gogs-%.tgz: GOARCH=$(subst .exe,,$(word 2,$(subst -, ,$*))) $(DIST)/gogs-%.tgz: $(BIN)/%/gogs/gogs mkdir -p $(DIST) tar -czf $@ --directory=$(BIN)/$* gogs $(DIST)/gogs-%.zip: GOOS=$(firstword $(subst -, ,$*)) $(DIST)/gogs-%.zip: GOARCH=$(subst .exe,,$(word 2,$(subst -, ,$*))) $(DIST)/gogs-%.zip: $(BIN)/%/gogs/gogs @mkdir -p $(DIST) (cd $(BIN)/$* && zip -r - gogs) > $@