Skip to content

Commit

Permalink
Merge pull request #12077 from hashicorp/b-makefile-use-gobin
Browse files Browse the repository at this point in the history
build: respect GOBIN when using make targets
  • Loading branch information
shoenig committed Feb 16, 2022
2 parents fafb7ce + 06613d6 commit 3ebfd7b
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 5 deletions.
3 changes: 3 additions & 0 deletions .changelog/12077.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
```release-note:improvement
build: make targets now respect GOBIN variable
```
16 changes: 11 additions & 5 deletions GNUmakefile
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,13 @@ ifneq (MSYS_NT,$(THIS_OS))
# GOPATH supports PATH style multi-paths; assume the first entry is favorable.
# Necessary because new Circle images override GOPATH with multiple values.
# See: https://discuss.circleci.com/t/gopath-is-set-to-multiple-directories/7174
GOPATH=$(shell go env GOPATH | cut -d: -f1)
GOPATH := $(shell go env GOPATH | cut -d: -f1)
endif

# Respect $GOBIN if set in environment or via $GOENV file.
BIN := $(shell go env GOBIN)
ifndef BIN
BIN := $(shell go env GOPATH)/bin
endif

GO_TAGS ?=
Expand Down Expand Up @@ -253,15 +259,15 @@ dev: hclfmt ## Build for the current development platform
@echo "==> Removing old development build..."
@rm -f $(PROJECT_ROOT)/$(DEV_TARGET)
@rm -f $(PROJECT_ROOT)/bin/nomad
@rm -f $(GOPATH)/bin/nomad
@rm -f $(BIN)/nomad
@if [ -d vendor ]; then echo -e "==> WARNING: Found vendor directory. This may cause build errors, consider running 'rm -r vendor' or 'make clean' to remove.\n"; fi
@$(MAKE) --no-print-directory \
$(DEV_TARGET) \
GO_TAGS="$(GO_TAGS) $(NOMAD_UI_TAG)"
@mkdir -p $(PROJECT_ROOT)/bin
@mkdir -p $(GOPATH)/bin
@mkdir -p $(BIN)
@cp $(PROJECT_ROOT)/$(DEV_TARGET) $(PROJECT_ROOT)/bin/
@cp $(PROJECT_ROOT)/$(DEV_TARGET) $(GOPATH)/bin
@cp $(PROJECT_ROOT)/$(DEV_TARGET) $(BIN)

.PHONY: prerelease
prerelease: GO_TAGS=ui codegen_generated release
Expand Down Expand Up @@ -341,7 +347,7 @@ clean: ## Remove build artifacts
@rm -rf "$(PROJECT_ROOT)/bin/"
@rm -rf "$(PROJECT_ROOT)/pkg/"
@rm -rf "$(PROJECT_ROOT)/vendor/"
@rm -f "$(GOPATH)/bin/nomad"
@rm -f "$(BIN)/nomad"

.PHONY: testcluster
testcluster: ## Bring up a Linux test cluster using Vagrant. Set PROVIDER if necessary.
Expand Down

0 comments on commit 3ebfd7b

Please sign in to comment.