diff --git a/Makefile b/Makefile index 6d13fc9..d4e53d4 100644 --- a/Makefile +++ b/Makefile @@ -3,38 +3,62 @@ DEV_DEPS = github.com/kardianos/govendor \ github.com/mailru/easyjson/... \ github.com/jteeuwen/go-bindata/... -test: dev-deps - @govendor test +local +program +BINARY = bin/ozuio +BINDIR = $(shell dirname ${BINARY}) +SOURCES = $(shell find . -name '*.go') -generate: dev-deps - @govendor generate +local +program +.DEFAULT_GOAL: $(BINARY) +$(BINARY): $(SOURCES) + go build -o ${BINARY} +.PHONY: build +build: $(BINARY) + +.PHONY: clean +clean: + if [ -f ${BINARY} ]; then rm ${BINARY}; fi; \ + if [ -d ${BINDIR} ]; then rmdir ${BINDIR}; fi + +.PHONY: run +run: $(BINARY) + $(BINARY) + +.PHONY: install install: dev-deps @govendor install +local +program -build: - mkdir -p bin && go build -o bin/ozuio +.PHONY: test +test: dev-deps + @govendor test +local +program -run: build - ./bin/ozuio +.PHONY: generate +generate: dev-deps + @govendor generate +local +program -web-generate: - cd web && go generate +.PHONY: vendor-sync +vendor-sync: dev-deps + @govendor sync -web-debug-bindata: - cd web && go-bindata -debug -pkg web static/... templates/... - -fetch-vendor: dev-deps +.PHONY: vendor-fetch +vendor-fetch: dev-deps @govendor fetch +external +missing -install-vendor: dev-deps +.PHONY: vendor-install +vendor-install: dev-deps @govendor install +vendor +.PHONY: dev-deps dev-deps: @$(foreach DEP,$(DEV_DEPS),go get $(DEP);) +.PHONY: update-dev-deps update-dev-deps: @$(foreach DEP,$(DEV_DEPS),go get -u $(DEP);) -.PHONY: test generate generate-web install build run install-vendor dev-deps \ - update-dev-deps +.PHONY: web-generate +web-generate: +cd web && go generate + +.PHONY: web-debug-bindata +web-debug-bindata: +cd web && go-bindata -debug -pkg web static/... templates/...