| 
									
										
										
										
											2015-03-09 11:14:42 -07:00
										 |  |  | # Copyright 2015 The Prometheus 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.
 | 
					
						
							| 
									
										
										
										
											2014-04-09 16:20:52 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-01-24 14:38:06 -08:00
										 |  |  | GO    := GO15VENDOREXPERIMENT=1 go | 
					
						
							|  |  |  | PROMU := $(GOPATH)/bin/promu | 
					
						
							|  |  |  | pkgs   = $(shell $(GO) list ./... | grep -v /vendor/) | 
					
						
							| 
									
										
										
										
											2015-12-17 07:06:58 -08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-01-24 14:38:06 -08:00
										 |  |  | PREFIX                  ?= $(shell pwd) | 
					
						
							|  |  |  | BIN_DIR                 ?= $(shell pwd) | 
					
						
							|  |  |  | DOCKER_IMAGE_NAME       ?= node-exporter | 
					
						
							|  |  |  | DOCKER_IMAGE_TAG        ?= $(subst /,-,$(shell git rev-parse --abbrev-ref HEAD)) | 
					
						
							| 
									
										
										
										
											2015-12-17 07:06:58 -08:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-01-24 14:38:06 -08:00
										 |  |  | all: format build test | 
					
						
							| 
									
										
										
										
											2014-04-09 16:20:52 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-01-24 14:38:06 -08:00
										 |  |  | style: | 
					
						
							|  |  |  | 	@echo ">> checking code style" | 
					
						
							|  |  |  | 	@! gofmt -d $(shell find . -path ./vendor -prune -o -name '*.go' -print) | grep '^' | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | test: | 
					
						
							|  |  |  | 	@echo ">> running tests" | 
					
						
							|  |  |  | 	@$(GO) test -short $(pkgs) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | format: | 
					
						
							|  |  |  | 	@echo ">> formatting code" | 
					
						
							|  |  |  | 	@$(GO) fmt $(pkgs) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | vet: | 
					
						
							|  |  |  | 	@echo ">> vetting code" | 
					
						
							|  |  |  | 	@$(GO) vet $(pkgs) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | build: promu | 
					
						
							|  |  |  | 	@echo ">> building binaries" | 
					
						
							|  |  |  | 	@$(PROMU) build --prefix $(PREFIX) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | tarball: promu | 
					
						
							|  |  |  | 	@echo ">> building release tarball" | 
					
						
							|  |  |  | 	@$(PROMU) tarball --prefix $(PREFIX) $(BIN_DIR) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | docker: | 
					
						
							|  |  |  | 	@echo ">> building docker image" | 
					
						
							|  |  |  | 	@docker build -t "$(DOCKER_IMAGE_NAME):$(DOCKER_IMAGE_TAG)" . | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | promu: | 
					
						
							|  |  |  | 	@GOOS=$(shell uname -s | tr A-Z a-z) \
 | 
					
						
							|  |  |  | 		GOARCH=$(subst x86_64,amd64,$(patsubst i%86,386,$(shell uname -m))) \
 | 
					
						
							|  |  |  | 		$(GO) get -u github.com/prometheus/promu | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .PHONY: all style format build test vet tarball docker promu |