VERSION := 1.1.6-beta BUILD := $(shell git rev-parse --short HEAD) GO := go BUILD_FLAGS := -buildmode=pie -trimpath LDFLAGS := -linkmode=external -extldflags="-Wl,-z,relro,-z,now" -X git.nevets.tech/Keys/certman/common.Version=$(VERSION) -X git.nevets.tech/Keys/certman/common.Build=$(BUILD) .PHONY: proto bundle client server executor build debug stage help proto: @protoc --go_out=./proto --go-grpc_out=./proto proto/hook.proto @protoc --go_out=./proto --go-grpc_out=./proto proto/symlink.proto bundle: proto @echo "Building Bundled Certman" $(GO) build $(BUILD_FLAGS) -ldflags="-s -w $(LDFLAGS)" -o ./bin/certman-$(VERSION)-amd64 ./app/bundle client: proto @echo "Building Certman Client" $(GO) build $(BUILD_FLAGS) -ldflags="-s -w $(LDFLAGS)" -o ./bin/certman-client-$(VERSION)-amd64 ./app/client server: proto @echo "Building Certman Server" $(GO) build $(BUILD_FLAGS) -ldflags="-s -w $(LDFLAGS)" -o ./bin/certman-server-$(VERSION)-amd64 ./app/server executor: proto @echo "Building Certman Executor" $(GO) build $(BUILD_FLAGS) -ldflags="-s -w $(LDFLAGS)" -o ./bin/certman-executor-$(VERSION)-amd64 ./app/executor build: proto bundle client server executor @echo "All binaries successfully built" debug: proto $(GO) build $(BUILD_FLAGS) -ldflags="$(LDFLAGS)" -o ./certman . @cp ./certman ./certman-$(VERSION)-amd64 stage: build @sudo cp ./certman /srv/vm-passthru/certman @ssh steven@192.168.122.44 updateCertman.sh help: @echo "proto - Generate gRPC proto stubs" @echo "bundle - Build bundled binary (client, server, executor)" @echo "client - Build client binary" @echo "server - Build server binary" @echo "executor - Build executor binary" @echo "build - Build all binaries" @echo "debug - Build bundled binary without stripping and hardening" @echo "stage - Build all binaries and upload to dev environment (vm)"