Browse Source

Makefile: Auto-build CSS & bin-data when necessary

This will ensure that running `make` we will get all necessary files built and
we do not need manually remember to rebuild them.
Adam Strzelecki 8 years ago
parent
commit
f907a5c98b
1 changed files with 14 additions and 3 deletions
  1. 14 3
      Makefile

+ 14 - 3
Makefile

@@ -1,6 +1,10 @@
 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 = ""
 
 RELEASE_ROOT = "release"
@@ -9,7 +13,7 @@ NOW = $(shell date -u '+%Y%m%d%I%M%S')
 
 .PHONY: build pack release bindata clean 
 
-build:
+build: $(GENERATED)
 	go install -ldflags '$(LDFLAGS)' -tags '$(TAGS)'
 	cp '$(GOPATH)/bin/gogs' .
 
@@ -25,8 +29,15 @@ pack:
 
 release: build pack
 
-bindata: 
-	go-bindata -o=modules/bindata/bindata.go -ignore="\\.DS_Store|README.md" -pkg=bindata conf/...
+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 $< $@
 
 clean:
 	go clean -i ./...