github.com/giantswarm/apiextensions/v6@v6.6.0/Makefile.gen.go.mk (about) 1 # DO NOT EDIT. Generated with: 2 # 3 # devctl@5.8.0 4 # 5 6 APPLICATION := $(shell go list -m | cut -d '/' -f 3) 7 BUILDTIMESTAMP := $(shell date -u '+%FT%TZ') 8 GITSHA1 := $(shell git rev-parse --verify HEAD) 9 MODULE := $(shell go list -m) 10 OS := $(shell go env GOOS) 11 SOURCES := $(shell find . -name '*.go') 12 VERSION := $(shell architect project version) 13 ifeq ($(OS), linux) 14 EXTLDFLAGS := -static 15 endif 16 LDFLAGS ?= -w -linkmode 'auto' -extldflags '$(EXTLDFLAGS)' \ 17 -X '$(shell go list -m)/pkg/project.buildTimestamp=${BUILDTIMESTAMP}' \ 18 -X '$(shell go list -m)/pkg/project.gitSHA=${GITSHA1}' 19 20 .DEFAULT_GOAL := build 21 22 ##@ Go 23 24 .PHONY: build build-darwin build-darwin-64 build-linux build-linux-arm64 build-windows-amd64 25 build: $(APPLICATION) ## Builds a local binary. 26 @echo "====> $@" 27 build-darwin: $(APPLICATION)-darwin ## Builds a local binary for darwin/amd64. 28 @echo "====> $@" 29 build-darwin-arm64: $(APPLICATION)-darwin-arm64 ## Builds a local binary for darwin/arm64. 30 @echo "====> $@" 31 build-linux: $(APPLICATION)-linux ## Builds a local binary for linux/amd64. 32 @echo "====> $@" 33 build-linux-arm64: $(APPLICATION)-linux-arm64 ## Builds a local binary for linux/arm64. 34 @echo "====> $@" 35 build-windows-amd64: $(APPLICATION)-windows-amd64.exe ## Builds a local binary for windows/amd64. 36 @echo "====> $@" 37 38 $(APPLICATION): $(APPLICATION)-v$(VERSION)-$(OS)-amd64 39 @echo "====> $@" 40 cp -a $< $@ 41 42 $(APPLICATION)-darwin: $(APPLICATION)-v$(VERSION)-darwin-amd64 43 @echo "====> $@" 44 cp -a $< $@ 45 46 $(APPLICATION)-darwin-arm64: $(APPLICATION)-v$(VERSION)-darwin-arm64 47 @echo "====> $@" 48 cp -a $< $@ 49 50 $(APPLICATION)-linux: $(APPLICATION)-v$(VERSION)-linux-amd64 51 @echo "====> $@" 52 cp -a $< $@ 53 54 $(APPLICATION)-linux-arm64: $(APPLICATION)-v$(VERSION)-linux-arm64 55 @echo "====> $@" 56 cp -a $< $@ 57 58 $(APPLICATION)-windows-amd64.exe: $(APPLICATION)-v$(VERSION)-windows-amd64.exe 59 @echo "====> $@" 60 cp -a $< $@ 61 62 $(APPLICATION)-v$(VERSION)-%-amd64: $(SOURCES) 63 @echo "====> $@" 64 CGO_ENABLED=0 GOOS=$* GOARCH=amd64 go build -ldflags "$(LDFLAGS)" -o $@ . 65 66 $(APPLICATION)-v$(VERSION)-%-arm64: $(SOURCES) 67 @echo "====> $@" 68 CGO_ENABLED=0 GOOS=$* GOARCH=arm64 go build -ldflags "$(LDFLAGS)" -o $@ . 69 70 $(APPLICATION)-v$(VERSION)-windows-amd64.exe: $(SOURCES) 71 @echo "====> $@" 72 CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -ldflags "$(LDFLAGS)" -o $@ . 73 74 .PHONY: install 75 install: ## Install the application. 76 @echo "====> $@" 77 go install -ldflags "$(LDFLAGS)" . 78 79 .PHONY: run 80 run: ## Runs go run main.go. 81 @echo "====> $@" 82 go run -ldflags "$(LDFLAGS)" -race . 83 84 .PHONY: clean 85 clean: ## Cleans the binary. 86 @echo "====> $@" 87 rm -f $(APPLICATION)* 88 go clean 89 90 .PHONY: imports 91 imports: ## Runs goimports. 92 @echo "====> $@" 93 goimports -local $(MODULE) -w . 94 95 .PHONY: lint 96 lint: ## Runs golangci-lint. 97 @echo "====> $@" 98 golangci-lint run -E gosec -E goconst --timeout=15m ./... 99 100 .PHONY: nancy 101 nancy: ## Runs nancy (requires v1.0.37 or newer). 102 @echo "====> $@" 103 CGO_ENABLED=0 go list -json -m all | nancy sleuth --skip-update-check --quiet --exclude-vulnerability-file ./.nancy-ignore --additional-exclude-vulnerability-files ./.nancy-ignore.generated 104 105 .PHONY: test 106 test: ## Runs go test with default values. 107 @echo "====> $@" 108 go test -ldflags "$(LDFLAGS)" -race ./... 109 110 .PHONY: build-docker 111 build-docker: build-linux ## Builds docker image to registry. 112 @echo "====> $@" 113 cp -a $(APPLICATION)-linux $(APPLICATION) 114 docker build -t ${APPLICATION}:${VERSION} .