mirror of
git://git.yoctoproject.org/meta-virtualization.git
synced 2025-07-05 13:25:22 +02:00

The netns project has been moved into the 'genuinetools' organisation and so URLs have been updated. The copyright line in the license file has been updated to reference "The Genuinetools Authors". The patch name has been updated to make it more suitable for submission upstream. Signed-off-by: Paul Barker <pbarker@toganlabs.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
108 lines
4.1 KiB
Diff
108 lines
4.1 KiB
Diff
From 6576f228339b7931e05a8e861f085f483817806b Mon Sep 17 00:00:00 2001
|
|
From: Paul Barker <pbarker@toganlabs.com>
|
|
Date: Tue, 8 May 2018 11:01:14 +0000
|
|
Subject: [PATCH] Allow selection of go compiler
|
|
|
|
By running `make GO=/path/to/go` we can now select the appropriate go compiler
|
|
to use. This also makes it possible to cross compile netns more easily.
|
|
|
|
Signed-off-by: Paul Barker <pbarker@toganlabs.com>
|
|
Upstream-status: Pending
|
|
---
|
|
Makefile | 25 ++++++++++++++-----------
|
|
1 file changed, 14 insertions(+), 11 deletions(-)
|
|
|
|
diff --git a/Makefile b/Makefile
|
|
index 3a22f3e..476cb9b 100644
|
|
--- a/src/import/Makefile
|
|
+++ b/src/import/Makefile
|
|
@@ -23,6 +23,9 @@ CTIMEVAR=-X $(PKG)/version.GITCOMMIT=$(GITCOMMIT) -X $(PKG)/version.VERSION=$(VE
|
|
GO_LDFLAGS=-ldflags "-w $(CTIMEVAR)"
|
|
GO_LDFLAGS_STATIC=-ldflags "-w $(CTIMEVAR) -extldflags -static"
|
|
|
|
+# Set our default go compiler
|
|
+GO := go
|
|
+
|
|
# List the GOOS and GOARCH to build
|
|
GOOSARCHES = linux/arm linux/arm64 linux/amd64 linux/386
|
|
|
|
@@ -33,12 +36,12 @@ build: $(NAME) ## Builds a dynamic executable or package
|
|
|
|
$(NAME): *.go VERSION.txt
|
|
@echo "+ $@"
|
|
- go build -tags "$(BUILDTAGS)" ${GO_LDFLAGS} -o $(NAME) .
|
|
+ $(GO) build -tags "$(BUILDTAGS)" ${GO_LDFLAGS} -o $(NAME) .
|
|
|
|
.PHONY: static
|
|
static: ## Builds a static executable
|
|
@echo "+ $@"
|
|
- CGO_ENABLED=0 go build \
|
|
+ CGO_ENABLED=0 $(GO) build \
|
|
-tags "$(BUILDTAGS) static_build" \
|
|
${GO_LDFLAGS_STATIC} -o $(NAME) .
|
|
|
|
@@ -55,23 +58,23 @@ lint: ## Verifies `golint` passes
|
|
.PHONY: test
|
|
test: ## Runs the go tests
|
|
@echo "+ $@"
|
|
- @go test -v -tags "$(BUILDTAGS) cgo" $(shell go list ./... | grep -v vendor)
|
|
+ @$(GO) test -v -tags "$(BUILDTAGS) cgo" $(shell $(GO) list ./... | grep -v vendor)
|
|
|
|
.PHONY: vet
|
|
vet: ## Verifies `go vet` passes
|
|
@echo "+ $@"
|
|
- @go vet $(shell go list ./... | grep -v vendor) | grep -v '.pb.go:' | tee /dev/stderr
|
|
+ @$(GO) vet $(shell $(GO) list ./... | grep -v vendor) | grep -v '.pb.go:' | tee /dev/stderr
|
|
|
|
.PHONY: staticcheck
|
|
staticcheck: ## Verifies `staticcheck` passes
|
|
@echo "+ $@"
|
|
- @staticcheck $(shell go list ./... | grep -v vendor) | grep -v '.pb.go:' | tee /dev/stderr
|
|
+ @staticcheck $(shell $(GO) list ./... | grep -v vendor) | grep -v '.pb.go:' | tee /dev/stderr
|
|
|
|
.PHONY: cover
|
|
cover: ## Runs go test with coverage
|
|
@echo "" > coverage.txt
|
|
- @for d in $(shell go list ./... | grep -v vendor); do \
|
|
- go test -race -coverprofile=profile.out -covermode=atomic "$$d"; \
|
|
+ @for d in $(shell $(GO) list ./... | grep -v vendor); do \
|
|
+ $(GO) test -race -coverprofile=profile.out -covermode=atomic "$$d"; \
|
|
if [ -f profile.out ]; then \
|
|
cat profile.out >> coverage.txt; \
|
|
rm profile.out; \
|
|
@@ -81,11 +84,11 @@ cover: ## Runs go test with coverage
|
|
.PHONY: install
|
|
install: ## Installs the executable or package
|
|
@echo "+ $@"
|
|
- go install -a -tags "$(BUILDTAGS)" ${GO_LDFLAGS} .
|
|
+ $(GO) install -a -tags "$(BUILDTAGS)" ${GO_LDFLAGS} .
|
|
|
|
define buildpretty
|
|
mkdir -p $(BUILDDIR)/$(1)/$(2);
|
|
-GOOS=$(1) GOARCH=$(2) CGO_ENABLED=0 go build \
|
|
+GOOS=$(1) GOARCH=$(2) CGO_ENABLED=0 $(GO) build \
|
|
-o $(BUILDDIR)/$(1)/$(2)/$(NAME) \
|
|
-a -tags "$(BUILDTAGS) static_build netgo" \
|
|
-installsuffix netgo ${GO_LDFLAGS_STATIC} .;
|
|
@@ -99,7 +102,7 @@ cross: *.go VERSION.txt ## Builds the cross-compiled binaries, creating a clean
|
|
$(foreach GOOSARCH,$(GOOSARCHES), $(call buildpretty,$(subst /,,$(dir $(GOOSARCH))),$(notdir $(GOOSARCH))))
|
|
|
|
define buildrelease
|
|
-GOOS=$(1) GOARCH=$(2) CGO_ENABLED=0 go build \
|
|
+GOOS=$(1) GOARCH=$(2) CGO_ENABLED=0 $(GO) build \
|
|
-o $(BUILDDIR)/$(NAME)-$(1)-$(2) \
|
|
-a -tags "$(BUILDTAGS) static_build netgo" \
|
|
-installsuffix netgo ${GO_LDFLAGS_STATIC} .;
|
|
@@ -115,7 +118,7 @@ release: *.go VERSION.txt ## Builds the cross-compiled binaries, naming them in
|
|
.PHONY: bump-version
|
|
BUMP := patch
|
|
bump-version: ## Bump the version in the version file. Set BUMP to [ patch | major | minor ]
|
|
- @go get -u github.com/jessfraz/junk/sembump # update sembump tool
|
|
+ @$(GO) get -u github.com/jessfraz/junk/sembump # update sembump tool
|
|
$(eval NEW_VERSION = $(shell sembump --kind $(BUMP) $(VERSION)))
|
|
@echo "Bumping VERSION.txt from $(VERSION) to $(NEW_VERSION)"
|
|
echo $(NEW_VERSION) > VERSION.txt
|
|
--
|
|
2.7.4
|
|
|