Skip to content

Commit

Permalink
fix: Only one ldflags flag is allowed
Browse files Browse the repository at this point in the history
Signed-off-by: Jack Chen <[email protected]>
  • Loading branch information
jackchenjc committed Nov 8, 2024
1 parent 2cd3421 commit d3f616b
Showing 1 changed file with 10 additions and 8 deletions.
18 changes: 10 additions & 8 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
.PHONY: build test clean prepare update docker

# change the following boolean flag to enable or disable the Full RELRO (RELocation Read Only) for linux ELF (Executable and Linkable Format) binaries
ENABLE_FULL_RELRO:="true"
ENABLE_FULL_RELRO=true
# change the following boolean flag to enable or disable PIE for linux binaries which is needed for ASLR (Address Space Layout Randomization) on Linux, the ASLR support on Windows is enabled by default
ENABLE_PIE:="true"
ENABLE_PIE=true

MICROSERVICES=cmd/device-uart

Expand All @@ -15,15 +15,17 @@ DOCKERS=docker_device_uart
VERSION=$(shell cat ./VERSION 2>/dev/null || echo 0.0.0)
GIT_SHA=$(shell git rev-parse HEAD)
SDKVERSION=$(shell cat ./go.mod | grep 'github.com/edgexfoundry/device-sdk-go/v4 v' | awk '{print $$2}')
GOFLAGS=-ldflags "-X github.com/edgexfoundry/device-uart.Version=$(VERSION) \
-X github.com/edgexfoundry/device-sdk-go/v4/internal/common.SDKVersion=$(SDKVERSION)" \
-trimpath -mod=readonly

ifeq ($(ENABLE_FULL_RELRO), "true")
GOFLAGS += -ldflags "-bindnow"
ifeq ($(ENABLE_FULL_RELRO), true)
ENABLE_FULL_RELRO_GOFLAGS = -bindnow
endif

ifeq ($(ENABLE_PIE), "true")
GOFLAGS=-ldflags "-X github.com/edgexfoundry/device-uart.Version=$(VERSION) \
-X github.com/edgexfoundry/device-sdk-go/v4/internal/common.SDKVersion=$(SDKVERSION) \
$(ENABLE_FULL_RELRO_GOFLAGS)" \
-trimpath -mod=readonly

ifeq ($(ENABLE_PIE), true)
GOFLAGS += -buildmode=pie
endif

Expand Down

0 comments on commit d3f616b

Please sign in to comment.