diff --git a/Makefile b/Makefile index 36016cf..59b57f1 100644 --- a/Makefile +++ b/Makefile @@ -1,39 +1,44 @@ -TARGET=gosuki -CMD_PATH := ./cmd/$(TARGET) +BINS := gosuki suki -.PHONY: all run clean docs build test debug $(CMD_PATH) +.PHONY: all run clean docs build test debug $(BINS) prepare -# CGO_CFLAGS="-g -O2 -Wno-return-local-addr" +CGO_CFLAGS="-g -O2 -Wno-return-local-addr" SRC := **/*.go DEBUG_FLAGS := -gcflags="all=-N -l" RELEASE_FLAGS := -ldflags="-s -w" +ifeq ($(origin TEST_FLAGS), environment) + override TEST_FLAGS := $(TEST_FLAGS) +endif -all: build +all: prepare build -build: $(CMD_PATH) +prepare: + @mkdir -p build -$(CMD_PATH): $(SRC) - @echo building ... $(CMD_PATH) - @# @CGO_CFLAGS=${CGO_CFLAGS} go build -o $(TARGET) *.go - @go build -v -o $(TARGET) $(CMD_PATH) +build: $(BINS) -run: build - @./$(TARGET) +# run: gosuki +# @run command -debug: $(SRC) +$(BINS): + @echo building ... $@ + @# @CGO_CFLAGS=${CGO_CFLAGS} go build -o $@ + @go build -v -o build/$@ ./cmd/$@ + +debug: @#dlv debug . -- server - @go build -v $(DEBUG_FLAGS) $ + @go build -v $(DEBUG_FLAGS) -o build/gosuki ./cmd/gosuki -release: $(SRC) +release: @echo building release ... - go build -v $(RELEASE_FLAGS) -o $(TARGET) + go build -v $(RELEASE_FLAGS) -o build/gosuki ./cmd/gosuki docs: @gomarkdoc -u ./... > docs/API.md test: - @go test -v . ./... + go test $(TEST_FLAGS) . ./... clean: - rm ./$(TARGET) + rm build/$(BINS)