cerrado @ master

 1GIT_COMMIT 	?= $(shell git rev-parse --short HEAD)
 2LDFLAGS 	:= "-X 'git.gabrielgio.me/cerrado/templates.Slug=.$(GIT_COMMIT)' -s -w"
 3GO_SRC 		:= $(shell find . -name '*.go')
 4
 5BIN 	?= cerrado
 6PREFIX 	?= /usr/local
 7BINDIR 	?= $(PREFIX)/bin
 8
 9TEMPLATES_DIR 		:= templates
10TEMPLATES			:= $(wildcard $(TEMPLATES_DIR)/*.qtpl)
11GO_TEMPLATES_FILES 	:= $(TEMPLATES:.qtpl=.qtpl.go)
12
13SASS_DIR 	:= scss
14CSS_DIR 	:= static
15OUTPUT_CSS 	:= $(CSS_DIR)/main.$(GIT_COMMIT).css
16SASS_FILES 	:= $(wildcard $(SASS_DIR)/*.scss)
17
18build: $(BIN)
19
20$(BIN): $(GO_SRC) $(OUTPUT_CSS) $(GO_TEMPLATES_FILES)
21	go build -ldflags=$(LDFLAGS) -o $(BIN)
22
23install:
24	install -Dm755 $(BIN) $(BINDIR)/$(BIN)
25
26run: sass tmpl
27	go run -ldflags=$(LDFLAGS) .
28
29test:
30	go test -v --tags=unit ./...
31
32sass: $(OUTPUT_CSS)
33
34$(OUTPUT_CSS): $(SASS_FILES)
35	@mkdir -p $(CSS_DIR)
36	sassc $(SASS_DIR)/main.scss $(OUTPUT_CSS)
37
38tmpl: $(GO_TEMPLATES_FILES)
39
40$(TEMPLATES_DIR)/%.qtpl.go: $(TEMPLATES_DIR)/%.qtpl
41	qtc $(TEMPLATES_DIR)/$*.qtpl
42
43clean:
44	-rm $(OUTPUT_CSS)
45	-rm $(BIN)
46
47.PHONY: sass tmpl