1- #
2- # Makefile for Sliver
3- #
4-
5- ifneq ($(OS ) ,Windows_NT)
6-
7- GO ?= go
8- ARTIFACT_SUFFIX ?=
9- ENV =
10- TAGS ?= -tags go_sqlite
11- CGO_ENABLED = 0
12-
13- ifneq (,$(findstring cgo_sqlite,$(TAGS ) ) )
14- CGO_ENABLED = 1
15- endif
16-
17- #
18- # Prerequisites
19- #
1+ #
2+ # Makefile for Sliver
3+ #
4+
5+ GO ?= go
6+ ARTIFACT_SUFFIX ?=
7+ ENV =
8+ TAGS ?= -tags go_sqlite
9+ CGO_ENABLED = 0
10+
11+ ifneq (,$(findstring cgo_sqlite,$(TAGS ) ) )
12+ CGO_ENABLED = 1
13+ endif
14+
15+ MIN_SUPPORTED_GO_MAJOR_VERSION = 1
16+ MIN_SUPPORTED_GO_MINOR_VERSION = 25
17+ GO_VERSION_VALIDATION_ERR_MSG = Golang version is not supported, please update to at least $(MIN_SUPPORTED_GO_MAJOR_VERSION ) .$(MIN_SUPPORTED_GO_MINOR_VERSION )
18+
19+ SLIVER_PUBLIC_KEY ?= RWTZPg959v3b7tLG7VzKHRB1/QT+d3c71Uzetfa44qAoX5rH7mGoQTTR
20+ ARMORY_PUBLIC_KEY ?= RWSBpxpRWDrD7Fe+VvRE3c2VEDC2NK80rlNCj+BX0gz44Xw07r6KQD9L
21+ ARMORY_REPO_URL ?= https://api.github.com/repos/sliverarmory/armory/releases
22+ CLIENT_ASSETS_PKG = github.com/bishopfox/sliver/client/assets
23+ SLIVER_UPDATE_PKG = github.com/bishopfox/sliver/client/command/update
24+ PB_COMPILERS = protoc protoc-gen-go protoc-gen-go-grpc
25+
26+ ifneq ($(OS ) ,Windows_NT)
27+
28+ #
29+ # Prerequisites
30+ #
2031# https://stackoverflow.com/questions/5618615/check-if-a-program-exists-from-a-makefile
2132EXECUTABLES = uname sed git date cut $(GO )
2233K := $(foreach exec,$(EXECUTABLES ) ,\
@@ -25,21 +36,12 @@ K := $(foreach exec,$(EXECUTABLES),\
2536#
2637# Build Information
2738#
28- GO_MAJOR_VERSION = $(shell $(GO ) version | cut -c 14- | cut -d' ' -f1 | cut -d'.' -f1)
29- GO_MINOR_VERSION = $(shell $(GO ) version | cut -c 14- | cut -d' ' -f1 | cut -d'.' -f2)
30- MIN_SUPPORTED_GO_MAJOR_VERSION = 1
31- MIN_SUPPORTED_GO_MINOR_VERSION = 25
32- GO_VERSION_VALIDATION_ERR_MSG = Golang version is not supported, please update to at least $(MIN_SUPPORTED_GO_MAJOR_VERSION ) .$(MIN_SUPPORTED_GO_MINOR_VERSION )
33-
34- SLIVER_PUBLIC_KEY ?= RWTZPg959v3b7tLG7VzKHRB1/QT+d3c71Uzetfa44qAoX5rH7mGoQTTR
35- ARMORY_PUBLIC_KEY ?= RWSBpxpRWDrD7Fe+VvRE3c2VEDC2NK80rlNCj+BX0gz44Xw07r6KQD9L
36- ARMORY_REPO_URL ?= https://api.github.com/repos/sliverarmory/armory/releases
37- CLIENT_ASSETS_PKG = github.com/bishopfox/sliver/client/assets
38- SLIVER_UPDATE_PKG = github.com/bishopfox/sliver/client/command/update
39-
40- LDFLAGS = -ldflags "-s -w \
41- -X $(SLIVER_UPDATE_PKG).SliverPublicKey=$(SLIVER_PUBLIC_KEY) \
42- -X $(CLIENT_ASSETS_PKG).DefaultArmoryPublicKey=$(ARMORY_PUBLIC_KEY) \
39+ GO_MAJOR_VERSION = $(shell $(GO ) version | cut -c 14- | cut -d' ' -f1 | cut -d'.' -f1)
40+ GO_MINOR_VERSION = $(shell $(GO ) version | cut -c 14- | cut -d' ' -f1 | cut -d'.' -f2)
41+
42+ LDFLAGS = -ldflags "-s -w \
43+ -X $(SLIVER_UPDATE_PKG ) .SliverPublicKey=$(SLIVER_PUBLIC_KEY ) \
44+ -X $(CLIENT_ASSETS_PKG ) .DefaultArmoryPublicKey=$(ARMORY_PUBLIC_KEY ) \
4345 -X $(CLIENT_ASSETS_PKG ) .DefaultArmoryRepoURL=$(ARMORY_REPO_URL ) "
4446
4547# Debug builds shouldn't be stripped (-s -w flags)
@@ -49,15 +51,14 @@ LDFLAGS_DEBUG = -ldflags "-X $(CLIENT_ASSETS_PKG).DefaultArmoryPublicKey=$(ARMOR
4951SED_INPLACE := sed -i
5052STATIC_TARGET := linux
5153
52- UNAME_S := $(shell uname -s)
53- UNAME_P := $(shell uname -p)
54-
55- # Programs required for generating protobuf/grpc files
56- PB_COMPILERS = protoc protoc-gen-go protoc-gen-go-grpc
57- ifeq ($(MAKECMDGOALS ) , pb)
58- K := $(foreach exec,$(PB_COMPILERS),\
59- $(if $(shell which $(exec)),some string,$(error "Missing protobuf util $(exec) in PATH")))
60- endif
54+ UNAME_S := $(shell uname -s)
55+ UNAME_P := $(shell uname -p)
56+
57+ # Programs required for generating protobuf/grpc files
58+ ifeq ($(MAKECMDGOALS ) , pb)
59+ K := $(foreach exec,$(PB_COMPILERS),\
60+ $(if $(shell which $(exec)),some string,$(error "Missing protobuf util $(exec) in PATH")))
61+ endif
6162
6263# *** Darwin ***
6364ifeq ($(UNAME_S ) ,Darwin)
@@ -186,43 +187,23 @@ clean:
186187 touch ./.downloaded_assets
187188
188189
189- #
190- # >>> WINDOWS <<<
191- #
192- else
193-
194- GO ?= go
195- ARTIFACT_SUFFIX ?=
196- ENV =
197- TAGS ?= -tags go_sqlite
198- CGO_ENABLED = 0
199-
200- ifneq (,$(findstring cgo_sqlite,$(TAGS ) ) )
201- CGO_ENABLED = 1
202- endif
203-
204- SHELL := cmd.exe
205- .SHELLFLAGS := /C
206-
207- GO_VERSION := $(patsubst go% ,% ,$(strip $(shell $(GO ) env GOVERSION) ) )
208- GO_MAJOR_VERSION := $(word 1,$(subst ., ,$(GO_VERSION ) ) )
209- GO_MINOR_VERSION := $(word 2,$(subst ., ,$(GO_VERSION ) ) )
210- MIN_SUPPORTED_GO_MAJOR_VERSION = 1
211- MIN_SUPPORTED_GO_MINOR_VERSION = 25
212- GO_VERSION_VALIDATION_ERR_MSG = Golang version is not supported, please update to at least $(MIN_SUPPORTED_GO_MAJOR_VERSION ) .$(MIN_SUPPORTED_GO_MINOR_VERSION )
213-
214- SLIVER_PUBLIC_KEY ?= RWTZPg959v3b7tLG7VzKHRB1/QT+d3c71Uzetfa44qAoX5rH7mGoQTTR
215- ARMORY_PUBLIC_KEY ?= RWSBpxpRWDrD7Fe+VvRE3c2VEDC2NK80rlNCj+BX0gz44Xw07r6KQD9L
216- ARMORY_REPO_URL ?= https://api.github.com/repos/sliverarmory/armory/releases
217- CLIENT_ASSETS_PKG = github.com/bishopfox/sliver/client/assets
218- SLIVER_UPDATE_PKG = github.com/bishopfox/sliver/client/command/update
219-
220- LDFLAGS = -ldflags "-s -w -X $(SLIVER_UPDATE_PKG ) .SliverPublicKey=$(SLIVER_PUBLIC_KEY ) -X $(CLIENT_ASSETS_PKG ) .DefaultArmoryPublicKey=$(ARMORY_PUBLIC_KEY ) -X $(CLIENT_ASSETS_PKG ) .DefaultArmoryRepoURL=$(ARMORY_REPO_URL ) "
221-
222- LDFLAGS_DEBUG = -ldflags "-X $(CLIENT_ASSETS_PKG ) .DefaultArmoryPublicKey=$(ARMORY_PUBLIC_KEY ) -X $(CLIENT_ASSETS_PKG ) .DefaultArmoryRepoURL=$(ARMORY_REPO_URL ) "
223-
224- PB_COMPILERS = protoc protoc-gen-go protoc-gen-go-grpc
225- COMMA := ,
190+ #
191+ # >>> WINDOWS <<<
192+ #
193+ else
194+
195+ SHELL := cmd.exe
196+ .SHELLFLAGS := /C
197+
198+ GO_VERSION := $(patsubst go% ,% ,$(strip $(shell $(GO ) env GOVERSION) ) )
199+ GO_MAJOR_VERSION := $(word 1,$(subst ., ,$(GO_VERSION ) ) )
200+ GO_MINOR_VERSION := $(word 2,$(subst ., ,$(GO_VERSION ) ) )
201+
202+ LDFLAGS = -ldflags "-s -w -X $(SLIVER_UPDATE_PKG ) .SliverPublicKey=$(SLIVER_PUBLIC_KEY ) -X $(CLIENT_ASSETS_PKG ) .DefaultArmoryPublicKey=$(ARMORY_PUBLIC_KEY ) -X $(CLIENT_ASSETS_PKG ) .DefaultArmoryRepoURL=$(ARMORY_REPO_URL ) "
203+
204+ LDFLAGS_DEBUG = -ldflags "-X $(CLIENT_ASSETS_PKG ) .DefaultArmoryPublicKey=$(ARMORY_PUBLIC_KEY ) -X $(CLIENT_ASSETS_PKG ) .DefaultArmoryRepoURL=$(ARMORY_REPO_URL ) "
205+
206+ COMMA := ,
226207
227208ifeq ($(MAKECMDGOALS ) , linux)
228209 LDFLAGS = -ldflags "-s -w -extldflags '-static' -X $(CLIENT_ASSETS_PKG).DefaultArmoryPublicKey=$(ARMORY_PUBLIC_KEY) -X $(CLIENT_ASSETS_PKG).DefaultArmoryRepoURL=$(ARMORY_REPO_URL)"
0 commit comments