| 
									
										
										
										
											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-12-29 09:52:36 -08:00
										 |  |  | GO     ?= GO15VENDOREXPERIMENT=1 go | 
					
						
							|  |  |  | GOPATH := $(firstword $(subst :, ,$(GOPATH))) | 
					
						
							|  |  |  | 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-12-21 03:00:32 -08:00
										 |  |  | all: format build test test-e2e | 
					
						
							| 
									
										
										
										
											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) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-12-21 03:00:32 -08:00
										 |  |  | test-e2e: build | 
					
						
							|  |  |  | 	@echo ">> running end-to-end tests" | 
					
						
							|  |  |  | 	./end-to-end-test.sh | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-01-24 14:38:06 -08:00
										 |  |  | format: | 
					
						
							|  |  |  | 	@echo ">> formatting code" | 
					
						
							|  |  |  | 	@$(GO) fmt $(pkgs) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | vet: | 
					
						
							|  |  |  | 	@echo ">> vetting code" | 
					
						
							|  |  |  | 	@$(GO) vet $(pkgs) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-08-03 12:23:02 -07:00
										 |  |  | build: $(PROMU) | 
					
						
							| 
									
										
										
										
											2016-01-24 14:38:06 -08:00
										 |  |  | 	@echo ">> building binaries" | 
					
						
							|  |  |  | 	@$(PROMU) build --prefix $(PREFIX) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-08-03 12:23:02 -07:00
										 |  |  | tarball: $(PROMU) | 
					
						
							| 
									
										
										
										
											2016-01-24 14:38:06 -08:00
										 |  |  | 	@echo ">> building release tarball" | 
					
						
							|  |  |  | 	@$(PROMU) tarball --prefix $(PREFIX) $(BIN_DIR) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | docker: | 
					
						
							|  |  |  | 	@echo ">> building docker image" | 
					
						
							|  |  |  | 	@docker build -t "$(DOCKER_IMAGE_NAME):$(DOCKER_IMAGE_TAG)" . | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-08-03 12:23:02 -07:00
										 |  |  | $(GOPATH)/bin/promu promu: | 
					
						
							| 
									
										
										
										
											2016-01-24 14:38:06 -08:00
										 |  |  | 	@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 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-08-03 12:23:02 -07:00
										 |  |  | .PHONY: all style format build test test-e2e vet tarball docker promu $(GOPATH)/bin/promu |