Files
Gogs/Makefile

92 lines
2.2 KiB
Makefile
Raw Normal View History

LDFLAGS += -X "gogs.io/gogs/internal/conf.BuildTime=$(shell date -u '+%Y-%m-%d %I:%M:%S %Z')"
LDFLAGS += -X "gogs.io/gogs/internal/conf.BuildCommit=$(shell git rev-parse HEAD)"
2015-11-03 12:16:43 -05:00
CONF_FILES := $(shell find conf | sed 's/ /\\ /g')
TEMPLATES_FILES := $(shell find templates | sed 's/ /\\ /g')
PUBLIC_FILES := $(shell find public | sed 's/ /\\ /g')
LESS_FILES := $(wildcard public/less/*.less)
ASSETS_GENERATED := internal/assets/conf/conf_gen.go internal/assets/templates/templates_gen.go internal/assets/public/public_gen.go
GENERATED := $(ASSETS_GENERATED) public/css/gogs.css
OS := $(shell uname)
2015-11-03 12:16:43 -05:00
TAGS = ""
BUILD_FLAGS = "-v"
2015-11-03 12:16:43 -05:00
RELEASE_ROOT = "release"
RELEASE_GOGS = "release/gogs"
NOW = $(shell date -u '+%Y%m%d%I%M%S')
2016-08-06 11:20:10 -07:00
GOVET = go tool vet -composites=false -methods=false -structtags=false
2015-11-03 12:16:43 -05:00
.PHONY: build pack release generate clean
2015-11-03 12:16:43 -05:00
.IGNORE: public/css/gogs.css
all: build
check: test
dist: release
2017-04-06 00:14:30 -04:00
web: build
./gogs web
2015-11-08 14:31:49 -05:00
govet:
$(GOVET) gogs.go
2017-07-14 16:48:55 -04:00
$(GOVET) models pkg routes
2015-11-08 14:31:49 -05:00
2016-08-06 11:20:10 -07:00
build: $(GENERATED)
go build $(BUILD_FLAGS) -ldflags '$(LDFLAGS)' -tags '$(TAGS)' -trimpath -o gogs
2020-02-18 20:19:12 +08:00
build-no-gen:
go build $(BUILD_FLAGS) -ldflags '$(LDFLAGS)' -tags '$(TAGS)' -trimpath -o gogs
2015-11-03 12:16:43 -05:00
pack:
rm -rf $(RELEASE_GOGS)
mkdir -p $(RELEASE_GOGS)
cp -r gogs LICENSE README.md README_ZH.md scripts $(RELEASE_GOGS)
2015-11-03 12:16:43 -05:00
cd $(RELEASE_ROOT) && zip -r gogs.$(NOW).zip "gogs"
release: build pack
generate: $(ASSETS_GENERATED)
internal/assets/conf/conf_gen.go: $(CONF_FILES)
-rm -f $@
go generate internal/assets/conf/conf.go
gofmt -s -w $@
internal/assets/templates/templates_gen.go: $(TEMPLATES_FILES)
-rm -f $@
go generate internal/assets/templates/templates.go
gofmt -s -w $@
internal/assets/public/public_gen.go: $(PUBLIC_FILES)
-rm -f $@
go generate internal/assets/public/public.go
gofmt -s -w $@
less: public/css/gogs.css
public/css/gogs.css: $(LESS_FILES)
@type lessc >/dev/null 2>&1 && lessc --source-map "public/less/gogs.less" $@ || echo "lessc command not found or failed"
2015-11-03 12:16:43 -05:00
clean:
2015-11-08 14:31:49 -05:00
go clean -i ./...
clean-mac: clean
find . -name ".DS_Store" -print0 | xargs -0 rm
test:
go test -cover -race ./...
2016-03-06 16:40:04 -05:00
fixme:
grep -rnw "FIXME" internal
2016-03-06 16:40:04 -05:00
todo:
grep -rnw "TODO" internal
# Legacy code should be remove by the time of release
legacy:
grep -rnw "\(LEGACY\|DEPRECATED\)" internal