22
33# It's necessary to set this because some environments don't link sh -> bash.
44SHELL := /usr/bin/env bash
5- VERSION =$(shell cat version.txt)
5+ BUILD_TIME =$(shell sh -c 'date +% FT% T% z')
6+ VERSION := $(shell sh -c 'git describe --always --tags')
7+ BRANCH := $(shell sh -c 'git rev-parse --abbrev-ref HEAD')
8+ COMMIT := $(shell sh -c 'git rev-parse --short HEAD')
9+ GO_FILES =$(shell find . -type f -name '* .go' -not -path './vendor/* ')
610PKG_LIST := $(shell go list ./... | grep -v mock)
7- ldflags ='-X "main.version=$(VERSION ) "'
11+ LDFLAGS =-ldflags "-s -w -X main.version=$(VERSION ) -X main.commit=$(COMMIT ) -X main.branch=$(BRANCH ) -X main.buildDate=$(BUILD_TIME ) "
12+
813ROOT_DIR: =$(shell dirname $(realpath $(firstword $(MAKEFILE_LIST ) ) ) )
914LINT_TOOL =$(shell go env GOPATH) /bin/golangci-lint
1015LINT_VERSION =v1.37.0
@@ -18,36 +23,36 @@ setup: $(LINT_TOOL)
1823
1924.PHONY : mod
2025mod :
21- @GO111MODULE=on GOFLAGS=-mod=vendor go mod vendor
22- @GO111MODULE=on GOFLAGS=-mod=vendor go mod tidy
26+ @go mod download
27+ @go mod tidy
2328
2429.PHONY : generator
2530generate : mod
26- @echo " Running cli on version $( VERSION) "
31+ @echo " Running cli on version: $( VERSION) "
2732 @GO111MODULE=on GLFLAGs=-mod-vendor go run cmd/generator/generator.go $(ARGS )
2833
2934.PHONY : build
3035build : mod
31- @echo " Building spdx-sbom-generator for Linux Intel/AMD 64-bit version:$( VERSION) "
32- @GO111MODULE=on GOFLAGS=-mod=vendor GOOS=linux go build -ldflags $( ldflags ) -o bin/spdx-sbom-generator cmd/generator/generator.go
36+ @echo " Building spdx-sbom-generator for Linux Intel/AMD 64-bit version: $( VERSION) "
37+ env GOOS=linux GOARCH=amd64 go build $( LD_FLAGS ) -o bin/spdx-sbom-generator cmd/generator/generator.go
3338 @chmod +x bin/spdx-sbom-generator
3439
3540.PHONY : build-mac
3641build-mac : mod
37- @echo " Building spdx-sbom-generator for Mac Intel/AMD 64-bit version:$( VERSION) "
38- @GO111MODULE=on GOFLAGS=-mod=vendor GOOS=darwin GOARCH=amd64 go build -ldflags $( ldflags ) -o bin/spdx-sbom-generator cmd/generator/generator.go
42+ @echo " Building spdx-sbom-generator for Mac Intel/AMD 64-bit version: $( VERSION) "
43+ @env GOOS=darwin GOARCH=amd64 go build $( LD_FLAGS ) -o bin/spdx-sbom-generator cmd/generator/generator.go
3944 @chmod +x bin/spdx-sbom-generator
4045
4146.PHONY : build-mac-arm64
4247build-mac-arm64 : mod
43- @echo " Building spdx-sbom-generator for Mac ARM 64-bit version:$( VERSION) "
44- @GO111MODULE=on GOFLAGS=-mod=vendor GOOS=darwin GOARCH=arm64 go build -ldflags $( ldflags ) -o bin/spdx-sbom-generator cmd/generator/generator.go
48+ @echo " Building spdx-sbom-generator for Mac ARM 64-bit version: $( VERSION) "
49+ @env GOOS=darwin GOARCH=arm64 go build $( LD_FLAGS ) -o bin/spdx-sbom-generator cmd/generator/generator.go
4550 @chmod +x bin/spdx-sbom-generator
4651
4752.PHONY : build-win
4853build-win : mod
49- @echo " Building spdx-sbom-generator for Windows Intel/AMD 64-bit version:$( VERSION) "
50- @GO111MODULE=on GOFLAGS=-mod=vendor GOOS=windows GOARCH=amd64 go build -ldflags $( ldflags ) -o bin/spdx-sbom-generator.exe cmd/generator/generator.go
54+ @echo " Building spdx-sbom-generator for Windows Intel/AMD 64-bit version: $( VERSION) "
55+ env GOOS=windows GOARCH=amd64 go build $( LD_FLAGS ) -o bin/spdx-sbom-generator.exe cmd/generator/generator.go
5156 @chmod +x bin/spdx-sbom-generator.exe
5257
5358$(LINT_TOOL ) :
@@ -63,6 +68,10 @@ check-headers:
6368 @echo " Running license header check..."
6469 $(ROOT_DIR ) /check-headers.sh
6570
71+ fmt :
72+ @gofmt -w -l -s $(GO_FILES )
73+ @goimports -w -l $(GO_FILES )
74+
6675.PHONY : lint
6776lint : go-lint check-headers
6877
0 commit comments