Skip to content

Commit 4ef8644

Browse files
authored
Merge pull request #2224 from BishopFox/clean-makefile
Cleanup makefile vars
2 parents c272c8a + 02117a6 commit 4ef8644

1 file changed

Lines changed: 61 additions & 80 deletions

File tree

Makefile

Lines changed: 61 additions & 80 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,33 @@
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
2132
EXECUTABLES = uname sed git date cut $(GO)
2233
K := $(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
4951
SED_INPLACE := sed -i
5052
STATIC_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 ***
6364
ifeq ($(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

227208
ifeq ($(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

Comments
 (0)