mirror of
				https://gitea.com/Lydanne/buildx.git
				synced 2025-10-31 16:13:45 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			83 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			83 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
| #   Copyright The containerd Authors.
 | |
| 
 | |
| #   Licensed under the Apache License, Version 2.0 (the "License");
 | |
| #   you may not use this file except in compliance with the License.
 | |
| #   You may obtain a copy of the License at
 | |
| 
 | |
| #       http://www.apache.org/licenses/LICENSE-2.0
 | |
| 
 | |
| #   Unless required by applicable law or agreed to in writing, software
 | |
| #   distributed under the License is distributed on an "AS IS" BASIS,
 | |
| #   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | |
| #   See the License for the specific language governing permissions and
 | |
| #   limitations under the License.
 | |
| 
 | |
| # Set an output prefix, which is the local directory if not specified
 | |
| PREFIX?=$(shell pwd)
 | |
| 
 | |
| # Used to populate version variable in main package.
 | |
| VERSION=$(shell git describe --match 'v[0-9]*' --dirty='.m' --always)
 | |
| 
 | |
| GO_LDFLAGS=-ldflags "-X `go list ./version`.Version=$(VERSION)"
 | |
| 
 | |
| PACKAGES=$(shell go list ./... | grep -v /vendor/)
 | |
| 
 | |
| .PHONY: clean all fmt vet lint build test binaries setup
 | |
| .DEFAULT: default
 | |
| # skip lint at the moment
 | |
| all: AUTHORS clean fmt vet fmt build test binaries
 | |
| 
 | |
| AUTHORS: .mailmap .git/HEAD
 | |
| 	 git log --format='%aN <%aE>' | sort -fu > $@
 | |
| 
 | |
| # This only needs to be generated by hand when cutting full releases.
 | |
| version/version.go:
 | |
| 	./version/version.sh > $@
 | |
| 
 | |
| ${PREFIX}/bin/continuity: version/version.go $(shell find . -type f -name '*.go')
 | |
| 	@echo "+ $@"
 | |
| 	@go build  -o $@ ${GO_LDFLAGS}  ${GO_GCFLAGS} ./cmd/continuity
 | |
| 
 | |
| setup:
 | |
| 	@echo "+ $@"
 | |
| 	@go get -u github.com/golang/lint/golint
 | |
| 
 | |
| generate:
 | |
| 	go generate $(PACKAGES)
 | |
| 
 | |
| # Depends on binaries because vet will silently fail if it can't load compiled
 | |
| # imports
 | |
| vet: binaries
 | |
| 	@echo "+ $@"
 | |
| 	@go vet $(PACKAGES)
 | |
| 
 | |
| fmt:
 | |
| 	@echo "+ $@"
 | |
| 	@test -z "$$(gofmt -s -l . | grep -v Godeps/_workspace/src/ | grep -v vendor/ | tee /dev/stderr)" || \
 | |
| 		echo "+ please format Go code with 'gofmt -s'"
 | |
| 
 | |
| lint:
 | |
| 	@echo "+ $@"
 | |
| 	@test -z "$$(golint $(PACKAGES) | grep -v Godeps/_workspace/src/ | grep -v vendor/ |tee /dev/stderr)"
 | |
| 
 | |
| build:
 | |
| 	@echo "+ $@"
 | |
| 	@go build -v ${GO_LDFLAGS} $(PACKAGES)
 | |
| 
 | |
| test:
 | |
| 	@echo "+ $@"
 | |
| 	@go test $(PACKAGES)
 | |
| 
 | |
| test-compile:
 | |
| 	@echo "+ $@"
 | |
| 	@for pkg in $(PACKAGES); do go test -c $$pkg; done
 | |
| 
 | |
| binaries: ${PREFIX}/bin/continuity
 | |
| 	@echo "+ $@"
 | |
| 	@if [ x$$GOOS = xwindows ]; then echo "+ continuity -> continuity.exe"; mv ${PREFIX}/bin/continuity ${PREFIX}/bin/continuity.exe; fi
 | |
| 
 | |
| clean:
 | |
| 	@echo "+ $@"
 | |
| 	@rm -rf "${PREFIX}/bin/continuity" "${PREFIX}/bin/continuity.exe"
 | |
| 
 | 
