57 lines
2.2 KiB
Makefile
57 lines
2.2 KiB
Makefile
.PHONY: pack build help qa critic vet codegen provision docs build auth webapp
|
|
|
|
include Makefile.inc
|
|
|
|
BUILD_FLAVOUR ?= corteza
|
|
BUILD_TIME ?= $(shell date +%FT%T%z)
|
|
BUILD_VERSION ?= $(shell git describe --tags --abbrev=0)
|
|
BUILD_ARCH ?= $(shell go env GOARCH)
|
|
BUILD_OS ?= $(shell go env GOOS)
|
|
BUILD_OS_is_windows = $(filter windows,$(BUILD_OS))
|
|
BUILD_DEST_DIR ?= build
|
|
BUILD_NAME = $(BUILD_FLAVOUR)-server-discovery-$(BUILD_VERSION)-$(BUILD_OS)-$(BUILD_ARCH)
|
|
BUILD_BIN_NAME = $(BUILD_NAME)$(if $(BUILD_OS_is_windows),.exe,)
|
|
|
|
RELEASE_BASEDIR = $(BUILD_DEST_DIR)/pkg/$(BUILD_FLAVOUR)-server
|
|
RELEASE_NAME = $(BUILD_NAME).tar.gz
|
|
RELEASE_EXTRA_FILES ?= README.md LICENSE CONTRIBUTING.md DCO .env.example
|
|
RELEASE_PKEY ?= .upload-rsa
|
|
|
|
LDFLAGS_VERSION = -X github.com/cortezaproject/corteza/server/pkg/version.Version=$(BUILD_VERSION)
|
|
LDFLAGS_EXTRA ?=
|
|
LDFLAGS = -ldflags "$(LDFLAGS_VERSION) $(LDFLAGS_EXTRA)"
|
|
|
|
########################################################################################################################
|
|
# Building & packing
|
|
|
|
build: $(BUILD_DEST_DIR)/$(BUILD_BIN_NAME)
|
|
|
|
$(BUILD_DEST_DIR)/$(BUILD_BIN_NAME):
|
|
GOOS=$(BUILD_OS) GOARCH=$(BUILD_ARCH) go build $(LDFLAGS) -o $@ *.go
|
|
|
|
release: build $(BUILD_DEST_DIR)/$(RELEASE_NAME)
|
|
|
|
$(BUILD_DEST_DIR)/$(RELEASE_NAME):
|
|
@ mkdir -p $(RELEASE_BASEDIR) $(RELEASE_BASEDIR)/bin
|
|
@ cp $(RELEASE_EXTRA_FILES) $(RELEASE_BASEDIR)/
|
|
@ cp $(BUILD_DEST_DIR)/$(BUILD_BIN_NAME) $(RELEASE_BASEDIR)/bin/$(BUILD_FLAVOUR)-server
|
|
tar -C $(dir $(RELEASE_BASEDIR)) -czf $(BUILD_DEST_DIR)/$(RELEASE_NAME) $(notdir $(RELEASE_BASEDIR))
|
|
|
|
release-clean:
|
|
rm -rf $(BUILD_DEST_DIR)/$(BUILD_BIN_NAME)
|
|
rm -rf $(BUILD_DEST_DIR)/$(RELEASE_NAME)
|
|
|
|
upload: $(RELEASE_PKEY)
|
|
@ echo "put $(BUILD_DEST_DIR)/*.tar.gz" | sftp -q -o "StrictHostKeyChecking no" -i $(RELEASE_PKEY) $(RELEASE_SFTP_URI)
|
|
@ rm -f $(RELEASE_PKEY)
|
|
|
|
$(RELEASE_PKEY):
|
|
@ echo $(RELEASE_SFTP_KEY) | base64 -d > $@
|
|
@ chmod 0400 $@
|
|
|
|
########################################################################################################################
|
|
# Development
|
|
|
|
watch: $(GIN)
|
|
$(GIN) $(GIN_ARGS) run -- serve
|