commento/api/Makefile

40 lines
1.1 KiB
Makefile
Raw Permalink Normal View History

2018-04-16 23:49:28 +08:00
SHELL = bash
BUILD_DIR = build
DEVEL_BUILD_DIR = $(BUILD_DIR)/devel
PROD_BUILD_DIR = $(BUILD_DIR)/prod
2018-04-16 23:49:28 +08:00
GO_SRC_DIR = .
GO_SRC_FILES = $(wildcard $(GO_SRC_DIR)/*.go)
GO_DEVEL_BUILD_DIR = $(DEVEL_BUILD_DIR)
2018-12-29 01:41:45 +08:00
GO_DEVEL_BUILD_BINARY = $(GO_DEVEL_BUILD_DIR)/commento
GO_PROD_BUILD_DIR = $(PROD_BUILD_DIR)
2018-12-29 01:41:45 +08:00
GO_PROD_BUILD_BINARY = $(GO_PROD_BUILD_DIR)/commento
2018-04-16 23:49:28 +08:00
devel: devel-go
2018-04-16 23:49:28 +08:00
prod: prod-go
2018-04-16 23:49:28 +08:00
test: test-go
2018-04-16 23:49:28 +08:00
clean:
rm -rf $(BUILD_DIR)
# There's really no difference between the prod and devel binaries in Go, but
# for consistency sake, we'll use separate targets (maybe this will be useful
# later down the line).
devel-go:
2019-06-06 12:38:04 +08:00
GO111MODULE=on go mod vendor
GO111MODULE=on go build -mod=vendor -v -o $(GO_DEVEL_BUILD_BINARY) -ldflags "-X main.version=$(shell git describe --tags)"
prod-go:
2019-06-06 12:38:04 +08:00
GO111MODULE=on go mod vendor
GO111MODULE=on go build -mod=vendor -v -o $(GO_PROD_BUILD_BINARY) -ldflags "-X main.version=$(shell git describe --tags)"
test-go:
2019-06-06 16:44:17 +08:00
GO111MODULE=on go mod vendor
go test -v .
$(shell mkdir -p $(GO_DEVEL_BUILD_DIR) $(GO_PROD_BUILD_DIR))