75 lines
2.5 KiB
Diff
75 lines
2.5 KiB
Diff
|
|
From ace481915286e8973821d80642ec56457331d07f Mon Sep 17 00:00:00 2001
|
|||
|
|
From: zhangxiaoyu <zhangxiaoyu58@huawei.com>
|
|||
|
|
Date: Mon, 19 Sep 2022 16:37:07 +0800
|
|||
|
|
Subject: [PATCH 17/17] fix Makefile build error
|
|||
|
|
|
|||
|
|
Signed-off-by: zhangxiaoyu <zhangxiaoyu58@huawei.com>
|
|||
|
|
---
|
|||
|
|
Makefile | 28 ++++++++++++++++++++++------
|
|||
|
|
1 file changed, 22 insertions(+), 6 deletions(-)
|
|||
|
|
|
|||
|
|
diff --git a/Makefile b/Makefile
|
|||
|
|
index 4b6d7c7..d2c4d9e 100644
|
|||
|
|
--- a/Makefile
|
|||
|
|
+++ b/Makefile
|
|||
|
|
@@ -9,26 +9,40 @@ ARCH = arm64
|
|||
|
|
endif
|
|||
|
|
endif
|
|||
|
|
|
|||
|
|
+TMP_PATH := /tmp/xxeggo
|
|||
|
|
+
|
|||
|
|
EXTRALDFLAGS :=
|
|||
|
|
LDFLAGS := -X isula.org/eggo/cmd.Version=$(VERSION) \
|
|||
|
|
-X isula.org/eggo/cmd.Commit=$(GIT_COMMIT) \
|
|||
|
|
-X isula.org/eggo/cmd.BuildTime=$(SOURCE_DATE_EPOCH) \
|
|||
|
|
-X isula.org/eggo/cmd.Arch=$(ARCH) \
|
|||
|
|
$(EXTRALDFLAGS)
|
|||
|
|
-STATIC_LDFLAGS := -extldflags=-static -linkmode=external
|
|||
|
|
-SAFEBUILDFLAGS := -buildmode=pie -extldflags=-ftrapv -extldflags=-zrelro -extldflags=-znow -tmpdir=/tmp/xxeggo $(LDFLAGS)
|
|||
|
|
+STATIC_LDFLAGS := -extldflags=-static -linkmode=external
|
|||
|
|
+SAFEBUILDFLAGS := -buildmode=pie \
|
|||
|
|
+ -extldflags=-ftrapv -extldflags=-zrelro -extldflags=-znow \
|
|||
|
|
+ -linkmode=external \
|
|||
|
|
+ -extldflags "-static-pie -Wl,-z,now" \
|
|||
|
|
+ -tmpdir=$(TMP_PATH) \
|
|||
|
|
+ $(LDFLAGS)
|
|||
|
|
|
|||
|
|
GO := go
|
|||
|
|
-GO_BUILD := CGO_ENABLED=0 GOARCH=$(ARCH) $(GO)
|
|||
|
|
+GO_BUILD := CGO_ENABLED=1 GOARCH=$(ARCH) $(GO)
|
|||
|
|
+GO_SAFE_BUILD:= CGO_ENABLE=1 \
|
|||
|
|
+ CGO_CFLAGS="-fstack-protector-strong -fPIE" \
|
|||
|
|
+ CGO_CPPFLAGS="-fstack-protector-strong -fPIE" \
|
|||
|
|
+ CGO_LDFLAGS_ALLOW="-Wl,-z,relro,-z,now" \
|
|||
|
|
+ CGO_LDFLAGS="-Wl,-z,relro,-z,now -Wl,-z,noexecstack" \
|
|||
|
|
+ GOARCH=$(ARCH) \
|
|||
|
|
+ $(GO)
|
|||
|
|
|
|||
|
|
.PHONY: eggo
|
|||
|
|
eggo:
|
|||
|
|
@echo "build eggo of $(ARCH) starting..."
|
|||
|
|
- @$(GO_BUILD) build -ldflags '$(LDFLAGS) $(STATIC_LDFLAGS)' -o bin/eggo .
|
|||
|
|
+ @$(GO_BUILD) build -ldflags '$(LDFLAGS) $(STATIC_LDFLAGS)' -o bin/eggo . 2>/dev/null
|
|||
|
|
@echo "build eggo done!"
|
|||
|
|
local:
|
|||
|
|
@echo "build eggo use vendor starting..."
|
|||
|
|
- @$(GO_BUILD) build -ldflags '$(LDFLAGS) $(STATIC_LDFLAGS)' -mod vendor -o bin/eggo .
|
|||
|
|
+ @$(GO_BUILD) build -ldflags '$(LDFLAGS) $(STATIC_LDFLAGS)' -mod vendor -o bin/eggo . 2>/dev/null
|
|||
|
|
@echo "build eggo use vendor done!"
|
|||
|
|
test:
|
|||
|
|
@echo "Unit tests starting..."
|
|||
|
|
@@ -38,7 +52,9 @@ test:
|
|||
|
|
.PHONY: safe
|
|||
|
|
safe:
|
|||
|
|
@echo "build safe eggo starting..."
|
|||
|
|
- $(GO_BUILD) build -ldflags '$(SAFEBUILDFLAGS) $(STATIC_LDFLAGS)' -o bin/eggo .
|
|||
|
|
+ mkdir -p $(TMP_PATH)
|
|||
|
|
+ $(GO_SAFE_BUILD) build -ldflags '$(SAFEBUILDFLAGS)' -o bin/eggo .
|
|||
|
|
+ rm -rf $(TMP_PATH)
|
|||
|
|
@echo "build safe eggo done!"
|
|||
|
|
|
|||
|
|
images: image-eggo
|
|||
|
|
--
|
|||
|
|
2.25.1
|
|||
|
|
|