chore(makefile): Mark all phony targets as PHONY
Some phony targets where not included in the single .PHONY line, this switches to marking targets as PHONY just before the target is defined, which makes it easier to ensure the targets are correctly marked as phony.
This commit is contained in:
1 file changed
+30
-2
@@ -12,24 +12,30 @@ CGO_ENABLED?=0
|
||||
|
||||
export GEN_BASEPATH := $(shell pwd)
|
||||
|
||||
.PHONY: api
|
||||
api:
|
||||
$(MAKE) --environment-overrides -C internal/api/genapi api
|
||||
|
||||
.PHONY: cli
|
||||
cli:
|
||||
$(MAKE) --environment-overrides -C internal/cmd/gencli cli
|
||||
|
||||
.PHONY: tools
|
||||
tools:
|
||||
go generate -tags tools tools/tools.go
|
||||
|
||||
.PHONY: cleangen
|
||||
cleangen:
|
||||
@rm -f ${GENERATED_CODE}
|
||||
|
||||
.PHONY: dev
|
||||
dev: BUILD_TAGS+=dev
|
||||
dev: BUILD_TAGS+=ui
|
||||
dev: build-ui-ifne
|
||||
@echo "==> Building Boundary with dev and UI features enabled"
|
||||
@CGO_ENABLED=$(CGO_ENABLED) BUILD_TAGS='$(BUILD_TAGS)' sh -c "'$(CURDIR)/scripts/build.sh'"
|
||||
|
||||
.PHONY: fmt
|
||||
fmt:
|
||||
gofumpt -w $$(find . -name '*.go' | grep -v pb.go | grep -v pb.gw.go)
|
||||
|
||||
@@ -43,6 +49,7 @@ $(UI_TARGETS): export UI_DEFAULT_BRANCH := main
|
||||
$(UI_TARGETS): export UI_CURRENT_COMMIT := $(shell head -n1 < "$(UI_VERSION_FILE)" | cut -d' ' -f1)
|
||||
$(UI_TARGETS): export UI_COMMITISH ?=
|
||||
|
||||
.PHONY: update-ui-version
|
||||
update-ui-version:
|
||||
@if [ -z "$(UI_COMMITISH)" ]; then \
|
||||
echo "==> Setting UI version to latest commit on branch '$(UI_DEFAULT_BRANCH)'"; \
|
||||
@@ -52,6 +59,7 @@ update-ui-version:
|
||||
fi; \
|
||||
./scripts/uiclone.sh && ./scripts/uiupdate.sh
|
||||
|
||||
.PHONY: build-ui
|
||||
build-ui:
|
||||
@if [ -z "$(UI_COMMITISH)" ]; then \
|
||||
echo "==> Building default UI version from $(UI_VERSION_FILE): $(UI_CURRENT_COMMIT)"; \
|
||||
@@ -61,6 +69,7 @@ build-ui:
|
||||
fi; \
|
||||
./scripts/uiclone.sh && ./scripts/uigen.sh
|
||||
|
||||
.PHONY: build-ui-ifne
|
||||
build-ui-ifne:
|
||||
ifeq (,$(wildcard internal/ui/.tmp/boundary-ui))
|
||||
@echo "==> No UI assets found, building..."
|
||||
@@ -69,15 +78,19 @@ else
|
||||
@echo "==> UI assets found, use build-ui target to update"
|
||||
endif
|
||||
|
||||
.PHONY: perms-table
|
||||
perms-table:
|
||||
@go run internal/website/permstable/permstable.go
|
||||
|
||||
.PHONY: gen
|
||||
gen: cleangen proto api cli perms-table fmt
|
||||
|
||||
### oplog requires protoc-gen-go v1.20.0 or later
|
||||
# GO111MODULE=on go get -u github.com/golang/protobuf/protoc-gen-go@v1.40
|
||||
.PHONY: proto
|
||||
proto: protolint protobuild
|
||||
|
||||
.PHONY: protobuild
|
||||
protobuild:
|
||||
# To add a new directory containing a proto pass the proto's root path in
|
||||
# through the --proto_path flag.
|
||||
@@ -150,37 +163,47 @@ protobuild:
|
||||
|
||||
@rm -R ${TMP_DIR}
|
||||
|
||||
.PHONY: protolint
|
||||
protolint:
|
||||
@buf check lint
|
||||
@buf check breaking --against 'https://github.com/hashicorp/boundary.git#branch=stable-website'
|
||||
|
||||
.PHONY: website
|
||||
# must have nodejs and npm installed
|
||||
website: website-install website-start
|
||||
|
||||
.PHONY: website-install
|
||||
website-install:
|
||||
@npm install --prefix website/
|
||||
|
||||
.PHONY: website-start
|
||||
website-start:
|
||||
@npm start --prefix website/
|
||||
|
||||
.PHONY: test-database-up
|
||||
test-database-up:
|
||||
make -C testing/dbtest/docker database-up
|
||||
|
||||
.PHONY: test-database-down
|
||||
test-database-down:
|
||||
make -C testing/dbtest/docker clean
|
||||
|
||||
.PHONY: test-ci
|
||||
test-ci: install-go
|
||||
test-ci: export CI_BUILD=1
|
||||
test-ci:
|
||||
CGO_ENABLED=$(CGO_ENABLED) BUILD_TAGS='$(BUILD_TAGS)' sh -c "'$(CURDIR)/scripts/build.sh'"
|
||||
~/.go/bin/go test ./... -v $(TESTARGS) -timeout 120m
|
||||
|
||||
.PHONY: test-sql
|
||||
test-sql:
|
||||
$(MAKE) -C internal/db/sqltest/ test
|
||||
|
||||
.PHONY: test
|
||||
test:
|
||||
go test ./... -timeout 30m
|
||||
|
||||
.PHONY: install-go
|
||||
install-go:
|
||||
./ci/goinstall.sh
|
||||
|
||||
@@ -192,8 +215,10 @@ IMAGE_TAG=$(REGISTRY_NAME)/$(IMAGE_NAME):$(VERSION)
|
||||
IMAGE_TAG_DEV=$(REGISTRY_NAME)/$(IMAGE_NAME):latest-$(shell git rev-parse --short HEAD)
|
||||
DOCKER_DIR=./docker
|
||||
|
||||
.PHONY: docker
|
||||
docker: docker-build docker-publish
|
||||
|
||||
.PHONY: docker-build
|
||||
# builds from releases.hashicorp.com official binary
|
||||
docker-build:
|
||||
docker build -t $(IMAGE_TAG) \
|
||||
@@ -201,6 +226,7 @@ docker-build:
|
||||
-f $(DOCKER_DIR)/Release.dockerfile docker/
|
||||
docker tag $(IMAGE_TAG) hashicorp/boundary:latest
|
||||
|
||||
.PHONY: docker-multiarch-build
|
||||
# builds multiarch from releases.hashicorp.com official binary
|
||||
docker-multiarch-build:
|
||||
docker buildx build \
|
||||
@@ -211,6 +237,7 @@ docker-multiarch-build:
|
||||
--platform linux/amd64,linux/arm64 \
|
||||
--file $(DOCKER_DIR)/Release.dockerfile docker/
|
||||
|
||||
.PHONY: docker-build-dev
|
||||
# builds from locally generated binary in bin/
|
||||
docker-build-dev: export XC_OSARCH=linux/amd64
|
||||
docker-build-dev: dev
|
||||
@@ -218,18 +245,19 @@ docker-build-dev: dev
|
||||
docker build -t $(IMAGE_TAG_DEV) \
|
||||
-f $(DOCKER_DIR)/Dev.dockerfile docker/
|
||||
|
||||
.PHONY: docker-publish
|
||||
# requires appropriate permissions in dockerhub
|
||||
docker-publish:
|
||||
docker push $(IMAGE_TAG)
|
||||
docker push hashicorp/boundary:latest
|
||||
|
||||
.PHONY: api cli tools gen proto website ci-config ci-verify set-ui-version docker docker-build docker-build-dev docker-publish test-database-up test-database-down
|
||||
|
||||
.NOTPARALLEL:
|
||||
|
||||
.PHONY: ci-config
|
||||
ci-config:
|
||||
@$(MAKE) -C .circleci ci-config
|
||||
|
||||
.PHONY: ci-verify
|
||||
ci-verify:
|
||||
@$(MAKE) -C .circleci ci-verify
|
||||
|
||||
|
||||
Reference in new issue
Block a user