From da607c611de6fb42b88af260d36d2ff442216cd1 Mon Sep 17 00:00:00 2001
From: Adam Strzelecki <ono@java.pl>
Date: Tue, 1 Dec 2015 22:16:00 +0100
Subject: [PATCH 1/4] Makefile: Copy installed binary instead 2nd build

This speeds up single build/rebuild rather than install & build which compiles
everything twice, we just copy installed binary back to the project root.
---
 Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Makefile b/Makefile
index ee4950781a..4ee0cb9bf0 100644
--- a/Makefile
+++ b/Makefile
@@ -11,7 +11,7 @@ NOW = $(shell date -u '+%Y%m%d%I%M%S')
 
 build:
 	go install -ldflags '$(LDFLAGS)' -tags '$(TAGS)'
-	go build -ldflags '$(LDFLAGS)' -tags '$(TAGS)'
+	cp '$(GOPATH)/bin/gogs' .
 
 govet:
 	go tool vet -composites=false -methods=false -structtags=false .

From f907a5c98b5e847eddb529eddcc2b5786427c241 Mon Sep 17 00:00:00 2001
From: Adam Strzelecki <ono@java.pl>
Date: Tue, 1 Dec 2015 22:18:30 +0100
Subject: [PATCH 2/4] 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.
---
 Makefile | 17 ++++++++++++++---
 1 file changed, 14 insertions(+), 3 deletions(-)

diff --git a/Makefile b/Makefile
index 4ee0cb9bf0..c16584ac1c 100644
--- a/Makefile
+++ b/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 ./...

From 19e8ce0354cdfcd564010cd36efe70aea06a13cc Mon Sep 17 00:00:00 2001
From: Adam Strzelecki <ono@java.pl>
Date: Tue, 1 Dec 2015 22:20:21 +0100
Subject: [PATCH 3/4] Makefile: Remove trailing whitespace & add last LF

This is pure cleanup commit.
---
 Makefile | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/Makefile b/Makefile
index c16584ac1c..6f47958f67 100644
--- a/Makefile
+++ b/Makefile
@@ -11,7 +11,7 @@ RELEASE_ROOT = "release"
 RELEASE_GOGS = "release/gogs"
 NOW = $(shell date -u '+%Y%m%d%I%M%S')
 
-.PHONY: build pack release bindata clean 
+.PHONY: build pack release bindata clean
 
 build: $(GENERATED)
 	go install -ldflags '$(LDFLAGS)' -tags '$(TAGS)'
@@ -43,4 +43,4 @@ clean:
 	go clean -i ./...
 
 clean-mac: clean
-	find . -name ".DS_Store" -print0 | xargs -0 rm
\ No newline at end of file
+	find . -name ".DS_Store" -print0 | xargs -0 rm

From e5fe367b824965c8c3186888063c14e59e73946d Mon Sep 17 00:00:00 2001
From: Adam Strzelecki <ono@java.pl>
Date: Tue, 1 Dec 2015 22:21:19 +0100
Subject: [PATCH 4/4] scripts: Remove less.sh superseded by Makefile

We no longer need to manually build CSS files as Makefile keeps track of it.
---
 scripts/less.sh | 4 ----
 1 file changed, 4 deletions(-)
 delete mode 100755 scripts/less.sh

diff --git a/scripts/less.sh b/scripts/less.sh
deleted file mode 100755
index f69424f067..0000000000
--- a/scripts/less.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-echo "compiling LESS Files"
-lessc ../public/less/gogs.less ../public/css/gogs.css
-echo "done"