2013-02-07 11:38:01 +01:00
# Copyright 2013 Prometheus Team
2012-11-26 20:11:34 +01:00
# 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
2013-02-07 11:38:01 +01:00
#
2012-11-26 20:11:34 +01:00
# http://www.apache.org/licenses/LICENSE-2.0
2013-02-07 11:38:01 +01:00
#
2012-11-26 20:11:34 +01:00
# 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.
2013-05-05 19:32:04 +02:00
TEST_ARTIFACTS = prometheus search_index
2012-11-24 12:33:34 +01:00
2013-04-14 06:59:55 +02:00
i n c l u d e M a k e f i l e . I N C L U D E
2012-11-24 12:33:34 +01:00
2013-05-07 15:48:33 +02:00
all : binary test
2012-11-24 12:33:34 +01:00
2013-04-14 06:59:55 +02:00
advice :
go tool vet .
2013-03-26 12:33:48 +01:00
binary : build
2013-05-05 19:32:04 +02:00
go build $( BUILDFLAGS) .
2012-11-24 12:33:34 +01:00
2013-04-30 20:20:14 +02:00
build : preparation config model web
2013-04-14 06:59:55 +02:00
2012-11-24 12:33:34 +01:00
clean :
2013-04-14 06:59:55 +02:00
$( MAKE) -C build clean
2013-04-30 20:20:14 +02:00
$( MAKE) -C config clean
2012-11-24 12:33:34 +01:00
$( MAKE) -C model clean
2013-03-21 18:29:33 +01:00
$( MAKE) -C web clean
rm -rf $( TEST_ARTIFACTS)
2012-11-24 12:33:34 +01:00
-find . -type f -iname '*~' -exec rm '{}' ';'
-find . -type f -iname '*#' -exec rm '{}' ';'
2012-11-28 20:22:49 +01:00
-find . -type f -iname '.#*' -exec rm '{}' ';'
2012-11-24 12:33:34 +01:00
2013-04-30 20:20:14 +02:00
config : preparation
$( MAKE) -C config
2013-04-14 06:59:55 +02:00
documentation : search_index
godoc -http= :6060 -index -index_files= 'search_index'
2012-11-24 12:33:34 +01:00
format :
2013-01-07 23:24:26 +01:00
find . -iname '*.go' | egrep -v "generated|\.(l|y)\.go" | xargs -n1 gofmt -w -s= true
2012-11-24 12:33:34 +01:00
2013-04-14 06:59:55 +02:00
model : preparation
$( MAKE) -C model
package : binary
cp prometheus.build build/package/prometheus
rsync -av build/root/lib/ build/package/lib/
preparation : source_path
$( MAKE) -C build
run : binary
2013-05-05 19:32:04 +02:00
./prometheus $( ARGUMENTS)
2013-01-27 17:53:20 +01:00
2012-11-25 16:04:58 +01:00
search_index :
godoc -index -write_index -index_files= 'search_index'
2013-05-05 19:32:04 +02:00
server : config model preparation
$( MAKE) -C server
2013-04-14 06:59:55 +02:00
# source_path is responsible for ensuring that the builder has not done anything
# stupid like working on Prometheus outside of ${GOPATH}.
source_path :
-[ -d " $( FULL_GOPATH) " ] || { mkdir -vp $( FULL_GOPATH_BASE) ; ln -s " $( PWD) " " $( FULL_GOPATH) " ; }
[ -d " $( FULL_GOPATH) " ]
test : build
2013-05-05 19:32:04 +02:00
go test ./... $( GO_TEST_FLAGS)
2013-04-14 06:59:55 +02:00
2013-04-30 20:20:14 +02:00
web : preparation config model
2013-04-14 06:59:55 +02:00
$( MAKE) -C web
2012-11-25 16:04:58 +01:00
2013-04-30 20:20:14 +02:00
.PHONY : advice binary build clean config documentation format model package preparation run search_index source_path test