Makefile
1 # Copyright 2013 Prometheus Team 2 # Licensed under the Apache License, Version 2.0 (the "License"); 3 # you may not use this file except in compliance with the License. 4 # You may obtain a copy of the License at 5 6 # http://www.apache.org/licenses/LICENSE-2.0 7 8 # Unless required by applicable law or agreed to in writing, software 9 # distributed under the License is distributed on an "AS IS" BASIS, 10 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 # See the License for the specific language governing permissions and 12 # limitations under the License. 13 14 KEY_ID ?= _DEFINE_ME_ 15 16 all: cpp go java python ruby 17 18 SUFFIXES: 19 20 cpp: cpp/metrics.pb.cc cpp/metrics.pb.h 21 22 cpp/metrics.pb.cc: metrics.proto 23 protoc $< --cpp_out=cpp/ 24 25 cpp/metrics.pb.h: metrics.proto 26 protoc $< --cpp_out=cpp/ 27 28 go: go/metrics.pb.go 29 30 go/metrics.pb.go: metrics.proto 31 protoc $< --go_out=go/ 32 33 java: src/main/java/io/prometheus/client/Metrics.java pom.xml 34 mvn clean compile package 35 36 src/main/java/io/prometheus/client/Metrics.java: metrics.proto 37 protoc $< --java_out=src/main/java 38 39 python: python/prometheus/client/model/metrics_pb2.py 40 41 python/prometheus/client/model/metrics_pb2.py: metrics.proto 42 mkdir -p python/prometheus/client/model 43 protoc $< --python_out=python/prometheus/client/model 44 45 ruby: 46 $(MAKE) -C ruby build 47 48 clean: 49 -rm -rf cpp/* 50 -rm -rf go/* 51 -rm -rf java/* 52 -rm -rf python/* 53 -$(MAKE) -C ruby clean 54 -mvn clean 55 56 maven-deploy-snapshot: java 57 mvn clean deploy -Dgpg.keyname=$(KEY_ID) -DperformRelease=true 58 59 maven-deploy-release: java 60 mvn clean release:clean release:prepare release:perform -Dgpg.keyname=$(KEY_ID) -DperformRelease=true 61 62 .PHONY: all clean cpp go java maven-deploy-snapshot maven-deploy-release python ruby