1 Star 0 Fork 2

物联网平台/device-mqtt-go

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
Makefile 2.49 KB
一键复制 编辑 原始数据 按行查看 历史
Jack Chen 提交于 2024-11-08 10:51 . fix: Only one ldflags flag is allowed
.PHONY: build test unittest lint 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
# 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
MICROSERVICES=cmd/device-mqtt
ARCH=$(shell uname -m)
.PHONY: $(MICROSERVICES)
DOCKERS=docker_device_mqtt_go
.PHONY: $(DOCKERS)
VERSION=$(shell cat ./VERSION 2>/dev/null || echo 0.0.0)
GIT_SHA=$(shell git rev-parse HEAD)
ifeq ($(ENABLE_FULL_RELRO), true)
ENABLE_FULL_RELRO_GOFLAGS = -bindnow
endif
SDKVERSION=$(shell cat ./go.mod | grep 'github.com/edgexfoundry/device-sdk-go/v4 v' | awk '{print $$2}')
GOFLAGS=-ldflags "-X github.com/edgexfoundry/device-mqtt-go.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
build: $(MICROSERVICES)
build-nats:
make -e ADD_BUILD_TAGS=include_nats_messaging build
tidy:
go mod tidy
cmd/device-mqtt:
CGO_ENABLED=0 go build -tags "$(ADD_BUILD_TAGS)" $(GOFLAGS) -o $@ ./cmd
unittest:
go test ./... -coverprofile=coverage.out ./...
lint:
@which golangci-lint >/dev/null || echo "WARNING: go linter not installed. To install, run make install-lint"
@if [ "z${ARCH}" = "zx86_64" ] && which golangci-lint >/dev/null ; then golangci-lint run --config .golangci.yml ; else echo "WARNING: Linting skipped (not on x86_64 or linter not installed)"; fi
install-lint:
sudo curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $$(go env GOPATH)/bin v1.61.0
test: unittest lint
go vet ./...
gofmt -l $$(find . -type f -name '*.go'| grep -v "/vendor/")
[ "`gofmt -l $$(find . -type f -name '*.go'| grep -v "/vendor/")`" = "" ]
./bin/test-attribution-txt.sh
clean:
rm -f $(MICROSERVICES)
run:
cd bin && ./edgex-launch.sh
docker: $(DOCKERS)
docker_device_mqtt_go:
docker build \
--build-arg ADD_BUILD_TAGS=$(ADD_BUILD_TAGS) \
--label "git_sha=$(GIT_SHA)" \
-t edgexfoundry/device-mqtt:$(GIT_SHA) \
-t edgexfoundry/device-mqtt:$(VERSION)-dev \
.
docker-nats:
make -e ADD_BUILD_TAGS=include_nats_messaging docker
vendor:
CGO_ENABLED=0 go mod vendor
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/iiot-scada/device-mqtt-go.git
git@gitee.com:iiot-scada/device-mqtt-go.git
iiot-scada
device-mqtt-go
device-mqtt-go
main

搜索帮助