Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
R
rsyslog-exporter
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
GitLab community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
silver-platter
rsyslog-exporter
Commits
b7149731
Commit
b7149731
authored
9 years ago
by
Brian Knox
Browse files
Options
Downloads
Patches
Plain Diff
use prometheus common makefile for building
parent
f3e6cdd1
No related branches found
No related tags found
No related merge requests found
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
Makefile
+5
-0
5 additions, 0 deletions
Makefile
Makefile.COMMON
+121
-0
121 additions, 0 deletions
Makefile.COMMON
with
126 additions
and
0 deletions
Makefile
0 → 100644
+
5
−
0
View file @
b7149731
VERSION
:=
0.0.1
TARGET
:=
rsyslog_exporter
GOFLAGS
:=
-ldflags
"-X main.Version
$(
VERSION
)
"
include
Makefile.COMMON
This diff is collapsed.
Click to expand it.
Makefile.COMMON
0 → 100644
+
121
−
0
View file @
b7149731
# 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.
# THE AUTHORITATIVE VERSION OF THIS MAKEFILE LIVES IN:
#
# https://github.com/prometheus/utils
#
# PLEASE MAKE ANY CHANGES THERE AND PROPAGATE THEM TO ALL PROMETHEUS
# REPOSITORIES THAT ARE USING THIS MAKEFILE.
#
# This file provides common Makefile infrastructure for several Prometheus
# components. This includes make tasks for downloading Go, setting up a
# self-contained build environment, fetching Go dependencies, building
# binaries, running tests, and doing release management. This file is intended
# to be included from a project's Makefile, which needs to define the following
# variables, at a minimum:
#
# * VERSION - The current version of the project in question.
# * TARGET - The desired name of the built binary.
#
# Many of the variables defined below are defined conditionally (using '?'),
# which allows the project's main Makefile to override any of these settings, if
# needed. See also:
#
# https://www.gnu.org/software/make/manual/html_node/Flavors.html#Flavors.
#
# The including Makefile may define any number of extra targets that are
# specific to that project.
VERSION
?=
$(
error VERSION not
set
in
including Makefile
)
TARGET
?=
$(
error TARGET not
set
in
including Makefile
)
SRC
?=
$(
shell find
.
-type
f
-name
"*.go"
!
-path
"./.build/*"
)
GOOS
?=
$(
shell
uname
|
tr
A-Z a-z
)
GOARCH
?=
$(
subst x86_64,amd64,
$(
patsubst i%86,386,
$(
shell
uname
-m
)))
ifeq
($(GOOS),darwin)
RELEASE_SUFFIX
?=
-osx
$(
shell sw_vers
-productVersion
)
endif
GO_VERSION
?=
1.4.2
GOURL
?=
https://golang.org/dl
GOPKG
?=
go
$(
GO_VERSION
)
.
$(
GOOS
)
-
$(
GOARCH
)$(
RELEASE_SUFFIX
)
.tar.gz
GOPATH
:=
$(
CURDIR
)
/.build/gopath
# Check for the correct version of go in the path. If we find it, use it.
# Otherwise, prepare to build go locally.
ifeq
($(shell command -v "go" >/dev/null && go version | sed -e 's/^[^0-9.]*\([0-9.]*\).*/\1/'), $(GO_VERSION))
GOCC
?=
$(
shell
command
-v
"go"
)
GOFMT
?=
$(
shell
command
-v
"gofmt"
)
GO
?=
GOPATH
=
$(
GOPATH
)
$(
GOCC
)
else
GOROOT
?=
$(
CURDIR
)
/.build/go
$(
GO_VERSION
)
GOCC
?=
$(
GOROOT
)
/bin/go
GOFMT
?=
$(
GOROOT
)
/bin/gofmt
GO
?=
GOROOT
=
$(
GOROOT
)
GOPATH
=
$(
GOPATH
)
$(
GOCC
)
endif
# Never honor GOBIN, should it be set at all.
unexport
GOBIN
SUFFIX
?=
$(
GOOS
)
-
$(
GOARCH
)
BINARY
?=
$(
TARGET
)
ARCHIVE
?=
$(
TARGET
)
-
$(
VERSION
)
.
$(
SUFFIX
)
.tar.gz
ROOTPKG
?=
github.com/digitalocean/
$(
TARGET
)
SELFLINK
?=
$(
GOPATH
)
/src/
$(
ROOTPKG
)
default
:
$(BINARY)
$(GOCC)
:
@
echo
Go version
$(
GO_VERSION
)
required but not found
in
PATH.
@
echo
About to download and
install
go
$(
GO_VERSION
)
to
$(
GOROOT
)
@
echo
Abort now
if
you want to manually
install
it system-wide instead.
@
echo
@
sleep
5
mkdir
-p
$(
GOROOT
)
curl
-L
$(
GOURL
)
/
$(
GOPKG
)
|
tar
-C
$(
GOROOT
)
--strip
1
-xz
$(SELFLINK)
:
mkdir
-p
$(
dir
$@
)
ln
-s
$(
CURDIR
)
$@
dependencies-stamp
:
$(GOCC) $(SRC) | $(SELFLINK)
$(
GO
)
get
-d
touch
$@
$(BINARY)
:
$(GOCC) $(SRC) dependencies-stamp Makefile Makefile.COMMON
$(
GO
)
build
$(
GOFLAGS
)
-o
$@
.PHONY
:
archive
archive
:
$(ARCHIVE)
$(ARCHIVE)
:
$(BINARY)
tar
-owner
=
root
--group
=
root
-czf
$@
$<
.PHONY
:
tag
tag
:
git tag
$(
VERSION
)
git push
--tags
.PHONY
:
test
test
:
$(GOCC) dependencies-stamp
$(
GO
)
test
./...
.PHONY
:
format
format
:
$(GOCC)
find
.
-iname
'*.go'
| egrep
-v
"^
\.
/
\.
build|./generated|
\.
/Godeps|
\.
(l|y)
\.
go"
| xargs
-n1
$(
GOFMT
)
-w
-s
=
true
.PHONY
:
clean
clean
:
rm
-rf
$(
BINARY
)
$(
ARCHIVE
)
.build
*
-stamp
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment