502 lines
16 KiB
Makefile
502 lines
16 KiB
Makefile
ifneq (,$(filter $(OS),Windows_NT Windows))
|
|
EXEEXT=.exe
|
|
endif
|
|
|
|
cat := $(if $(filter $(OS),sh.exe),type,cat)
|
|
next_version := $(shell $(cat) build_version.txt)
|
|
tag := $(shell git describe --exact-match --tags 2>/dev/null)
|
|
|
|
branch := $(shell git rev-parse --abbrev-ref HEAD)
|
|
commit := $(shell git rev-parse --short=8 HEAD)
|
|
|
|
ifdef NIGHTLY
|
|
version := $(next_version)
|
|
rpm_version := nightly
|
|
rpm_iteration := 0
|
|
deb_version := nightly
|
|
deb_iteration := 0
|
|
tar_version := nightly
|
|
else ifeq ($(tag),)
|
|
version := $(next_version)
|
|
rpm_version := $(version)~$(commit)-0
|
|
rpm_iteration := 0
|
|
deb_version := $(version)~$(commit)-0
|
|
deb_iteration := 0
|
|
tar_version := $(version)~$(commit)
|
|
else ifneq ($(findstring -rc,$(tag)),)
|
|
version := $(word 1,$(subst -, ,$(tag)))
|
|
version := $(version:v%=%)
|
|
rc := $(word 2,$(subst -, ,$(tag)))
|
|
rpm_version := $(version)-0.$(rc)
|
|
rpm_iteration := 0.$(subst rc,,$(rc))
|
|
deb_version := $(version)~$(rc)-1
|
|
deb_iteration := 0
|
|
tar_version := $(version)~$(rc)
|
|
else
|
|
version := $(tag:v%=%)
|
|
rpm_version := $(version)-1
|
|
rpm_iteration := 1
|
|
deb_version := $(version)-1
|
|
deb_iteration := 1
|
|
tar_version := $(version)
|
|
endif
|
|
|
|
MAKEFLAGS += --no-print-directory
|
|
GOOS ?= $(shell go env GOOS)
|
|
GOARCH ?= $(shell go env GOARCH)
|
|
HOSTGO := env -u GOOS -u GOARCH -u GOARM -- go
|
|
INTERNAL_PKG=github.com/influxdata/telegraf/internal
|
|
LDFLAGS := $(LDFLAGS) -X $(INTERNAL_PKG).Commit=$(commit) -X $(INTERNAL_PKG).Branch=$(branch)
|
|
ifneq ($(tag),)
|
|
LDFLAGS += -X $(INTERNAL_PKG).Version=$(version)
|
|
else
|
|
LDFLAGS += -X $(INTERNAL_PKG).Version=$(version)-$(commit)
|
|
endif
|
|
|
|
# Go built-in race detector works only for 64 bits architectures.
|
|
ifneq ($(GOARCH), 386)
|
|
# Resolve macOS issue with Xcode 15 when running in race detector mode
|
|
# https://github.com/golang/go/issues/61229
|
|
ifeq ($(GOOS), darwin)
|
|
race_detector := -race -ldflags=-extldflags=-Wl,-ld_classic
|
|
else
|
|
race_detector := -race
|
|
endif
|
|
endif
|
|
|
|
|
|
GOFILES ?= $(shell git ls-files '*.go')
|
|
GOFMT ?= $(shell gofmt -l -s $(filter-out plugins/parsers/influx/machine.go, $(GOFILES)))
|
|
|
|
prefix ?= /usr/local
|
|
bindir ?= $(prefix)/bin
|
|
sysconfdir ?= $(prefix)/etc
|
|
localstatedir ?= $(prefix)/var
|
|
pkgdir ?= build/dist
|
|
|
|
.PHONY: all
|
|
all: deps docs telegraf
|
|
|
|
.PHONY: help
|
|
help:
|
|
@echo 'Targets:'
|
|
@echo ' all - download dependencies and compile telegraf binary'
|
|
@echo ' config - generate the config from current repo state'
|
|
@echo ' deps - download dependencies'
|
|
@echo ' docs - embed sample-configurations into READMEs'
|
|
@echo ' telegraf - compile telegraf binary'
|
|
@echo ' test - run short unit tests'
|
|
@echo ' fmt - format source files'
|
|
@echo ' tidy - tidy go modules'
|
|
@echo ' lint - run linter'
|
|
@echo ' lint-branch - run linter on changes in current branch since master'
|
|
@echo ' lint-install - install linter'
|
|
@echo ' check-deps - check docs/LICENSE_OF_DEPENDENCIES.md'
|
|
@echo ' clean - delete build artifacts'
|
|
@echo ' package - build all supported packages, override include_packages to only build a subset'
|
|
@echo ' e.g.: make package include_packages="amd64.deb"'
|
|
@echo ''
|
|
@echo 'Possible values for include_packages variable'
|
|
@$(foreach package,$(include_packages),echo " $(package)";)
|
|
@echo ''
|
|
@echo 'Resulting package name format (where arch will be the arch of the package):'
|
|
@echo ' telegraf_$(deb_version)_arch.deb'
|
|
@echo ' telegraf-$(rpm_version).arch.rpm'
|
|
@echo ' telegraf-$(tar_version)_arch.tar.gz'
|
|
@echo ' telegraf-$(tar_version)_arch.zip'
|
|
|
|
|
|
.PHONY: deps
|
|
deps:
|
|
go mod download -x
|
|
|
|
.PHONY: version
|
|
version:
|
|
@echo $(version)-$(commit)
|
|
|
|
build_tools:
|
|
$(HOSTGO) build -o ./tools/custom_builder/custom_builder$(EXEEXT) ./tools/custom_builder
|
|
$(HOSTGO) build -o ./tools/license_checker/license_checker$(EXEEXT) ./tools/license_checker
|
|
$(HOSTGO) build -o ./tools/readme_config_includer/generator$(EXEEXT) ./tools/readme_config_includer/generator.go
|
|
$(HOSTGO) build -o ./tools/config_includer/generator$(EXEEXT) ./tools/config_includer/generator.go
|
|
$(HOSTGO) build -o ./tools/readme_linter/readme_linter$(EXEEXT) ./tools/readme_linter
|
|
|
|
embed_readme_%:
|
|
go generate -run="tools/config_includer/generator" ./plugins/$*/...
|
|
go generate -run="tools/readme_config_includer/generator" ./plugins/$*/...
|
|
|
|
.PHONY: config
|
|
config:
|
|
@echo "generating default config"
|
|
go run ./cmd/telegraf config > etc/telegraf.conf
|
|
|
|
.PHONY: docs
|
|
docs: build_tools embed_readme_inputs embed_readme_outputs embed_readme_processors embed_readme_aggregators embed_readme_secretstores
|
|
|
|
.PHONY: build
|
|
build:
|
|
CGO_ENABLED=0 go build -tags "$(BUILDTAGS)" -ldflags "$(LDFLAGS)" ./cmd/telegraf
|
|
|
|
.PHONY: telegraf
|
|
telegraf: build
|
|
|
|
# Used by dockerfile builds
|
|
.PHONY: go-install
|
|
go-install:
|
|
go install -mod=mod -ldflags "-w -s $(LDFLAGS)" ./cmd/telegraf
|
|
|
|
.PHONY: test
|
|
test:
|
|
go test -short $(race_detector) ./...
|
|
|
|
.PHONY: test-integration
|
|
test-integration:
|
|
go test -run Integration $(race_detector) ./...
|
|
|
|
.PHONY: fmt
|
|
fmt:
|
|
@gofmt -s -w $(filter-out plugins/parsers/influx/machine.go, $(GOFILES))
|
|
|
|
.PHONY: fmtcheck
|
|
fmtcheck:
|
|
@if [ ! -z "$(GOFMT)" ]; then \
|
|
echo "[ERROR] gofmt has found errors in the following files:" ; \
|
|
echo "$(GOFMT)" ; \
|
|
echo "" ;\
|
|
echo "Run make fmt to fix them." ; \
|
|
exit 1 ;\
|
|
fi
|
|
|
|
.PHONY: vet
|
|
vet:
|
|
@echo 'go vet $$(go list ./... | grep -v ./plugins/parsers/influx)'
|
|
@go vet $$(go list ./... | grep -v ./plugins/parsers/influx) ; if [ $$? -ne 0 ]; then \
|
|
echo ""; \
|
|
echo "go vet has found suspicious constructs. Please remediate any reported errors"; \
|
|
echo "to fix them before submitting code for review."; \
|
|
exit 1; \
|
|
fi
|
|
|
|
.PHONY: lint-install
|
|
lint-install:
|
|
@echo "Installing golangci-lint"
|
|
go install github.com/golangci/golangci-lint/v2/cmd/golangci-lint@v2.1.2
|
|
|
|
@echo "Installing markdownlint"
|
|
npm install -g markdownlint-cli
|
|
|
|
.PHONY: lint
|
|
lint:
|
|
@which golangci-lint >/dev/null 2>&1 || { \
|
|
echo "golangci-lint not found, please run: make lint-install"; \
|
|
exit 1; \
|
|
}
|
|
golangci-lint run
|
|
|
|
@which markdownlint >/dev/null 2>&1 || { \
|
|
echo "markdownlint not found, please run: make lint-install"; \
|
|
exit 1; \
|
|
}
|
|
markdownlint .
|
|
|
|
.PHONY: lint-branch
|
|
lint-branch:
|
|
@which golangci-lint >/dev/null 2>&1 || { \
|
|
echo "golangci-lint not found, please run: make lint-install"; \
|
|
exit 1; \
|
|
}
|
|
golangci-lint run
|
|
|
|
.PHONY: tidy
|
|
tidy:
|
|
go mod verify
|
|
go mod tidy
|
|
@if ! git diff --quiet go.mod go.sum; then \
|
|
echo "please run go mod tidy and check in changes, you might have to use the same version of Go as the CI"; \
|
|
exit 1; \
|
|
fi
|
|
|
|
.PHONY: check
|
|
check: fmtcheck vet
|
|
|
|
.PHONY: test-all
|
|
test-all: fmtcheck vet
|
|
go test $(race_detector) ./...
|
|
|
|
.PHONY: check-deps
|
|
check-deps:
|
|
./scripts/check-deps.sh
|
|
|
|
.PHONY: clean
|
|
clean:
|
|
rm -f telegraf
|
|
rm -f telegraf.exe
|
|
rm -f etc/telegraf.conf
|
|
rm -rf build
|
|
rm -rf cmd/telegraf/resource.syso
|
|
rm -rf cmd/telegraf/versioninfo.json
|
|
rm -rf tools/config_includer/generator
|
|
rm -rf tools/config_includer/generator.exe
|
|
rm -rf tools/custom_builder/custom_builder
|
|
rm -rf tools/custom_builder/custom_builder.exe
|
|
rm -rf tools/license_checker/license_checker
|
|
rm -rf tools/license_checker/license_checker.exe
|
|
rm -rf tools/package_incus_test/package_incus_test
|
|
rm -rf tools/package_incus_test/package_incus_test.exe
|
|
rm -rf tools/readme_config_includer/generator
|
|
rm -rf tools/readme_config_includer/generator.exe
|
|
rm -rf tools/readme_linter/readme_linter
|
|
rm -rf tools/readme_linter/readme_linter.exe
|
|
|
|
.PHONY: docker-image
|
|
docker-image:
|
|
docker build -f scripts/buster.docker -t "telegraf:$(commit)" .
|
|
|
|
plugins/parsers/influx/machine.go: plugins/parsers/influx/machine.go.rl
|
|
ragel -Z -G2 $^ -o $@
|
|
|
|
.PHONY: ci
|
|
ci:
|
|
docker build -t quay.io/influxdb/telegraf-ci:1.24.3 - < scripts/ci.docker
|
|
docker push quay.io/influxdb/telegraf-ci:1.24.3
|
|
|
|
.PHONY: install
|
|
install: $(buildbin)
|
|
@mkdir -pv $(DESTDIR)$(bindir)
|
|
@mkdir -pv $(DESTDIR)$(sysconfdir)
|
|
@mkdir -pv $(DESTDIR)$(localstatedir)
|
|
@if [ $(GOOS) != "windows" ]; then mkdir -pv $(DESTDIR)$(sysconfdir)/logrotate.d; fi
|
|
@if [ $(GOOS) != "windows" ]; then mkdir -pv $(DESTDIR)$(localstatedir)/log/telegraf; fi
|
|
@if [ $(GOOS) != "windows" ]; then mkdir -pv $(DESTDIR)$(sysconfdir)/telegraf/telegraf.d; fi
|
|
@cp -fv $(buildbin) $(DESTDIR)$(bindir)
|
|
@if [ $(GOOS) != "windows" ]; then cp -fv etc/telegraf.conf $(DESTDIR)$(sysconfdir)/telegraf/telegraf.conf$(conf_suffix); fi
|
|
@if [ $(GOOS) != "windows" ]; then cp -fv etc/logrotate.d/telegraf $(DESTDIR)$(sysconfdir)/logrotate.d; fi
|
|
@if [ $(GOOS) = "windows" ]; then cp -fv etc/telegraf.conf $(DESTDIR)/telegraf.conf; fi
|
|
@if [ $(GOOS) = "linux" ]; then mkdir -pv $(DESTDIR)$(prefix)/lib/telegraf/scripts; fi
|
|
@if [ $(GOOS) = "linux" ]; then cp -fv scripts/telegraf.service $(DESTDIR)$(prefix)/lib/telegraf/scripts; fi
|
|
@if [ $(GOOS) = "linux" ]; then cp -fv scripts/init.sh $(DESTDIR)$(prefix)/lib/telegraf/scripts; fi
|
|
|
|
# Telegraf build per platform. This improves package performance by sharing
|
|
# the bin between deb/rpm/tar packages over building directly into the package
|
|
# directory.
|
|
.PHONY: $(buildbin)
|
|
$(buildbin):
|
|
echo $(GOOS)
|
|
@mkdir -pv $(dir $@)
|
|
CGO_ENABLED=0 go build -o $(dir $@) -tags "$(BUILDTAGS)" -ldflags "$(LDFLAGS)" ./cmd/telegraf
|
|
|
|
# Define packages Telegraf supports, organized by architecture with a rule to echo the list to limit include_packages
|
|
# e.g. make package include_packages="$(make amd64)"
|
|
mips += linux_mips.tar.gz mips.deb
|
|
.PHONY: mips
|
|
mips:
|
|
@ echo $(mips)
|
|
mipsel += mipsel.deb linux_mipsel.tar.gz
|
|
.PHONY: mipsel
|
|
mipsel:
|
|
@ echo $(mipsel)
|
|
loong64 += linux_loong64.tar.gz loong64.deb loong64.rpm
|
|
.PHONY: loong64
|
|
loong64:
|
|
@ echo $(loong64)
|
|
arm64 += linux_arm64.tar.gz arm64.deb aarch64.rpm
|
|
.PHONY: arm64
|
|
arm64:
|
|
@ echo $(arm64)
|
|
amd64 += freebsd_amd64.tar.gz linux_amd64.tar.gz amd64.deb x86_64.rpm
|
|
.PHONY: amd64
|
|
amd64:
|
|
@ echo $(amd64)
|
|
armel += linux_armel.tar.gz armel.rpm armel.deb
|
|
.PHONY: armel
|
|
armel:
|
|
@ echo $(armel)
|
|
armhf += linux_armhf.tar.gz freebsd_armv7.tar.gz armhf.deb armv6hl.rpm
|
|
.PHONY: armhf
|
|
armhf:
|
|
@ echo $(armhf)
|
|
s390x += linux_s390x.tar.gz s390x.deb s390x.rpm
|
|
.PHONY: riscv64
|
|
riscv64:
|
|
@ echo $(riscv64)
|
|
riscv64 += linux_riscv64.tar.gz riscv64.rpm riscv64.deb
|
|
.PHONY: s390x
|
|
s390x:
|
|
@ echo $(s390x)
|
|
ppc64le += linux_ppc64le.tar.gz ppc64le.rpm ppc64el.deb
|
|
.PHONY: ppc64le
|
|
ppc64le:
|
|
@ echo $(ppc64le)
|
|
i386 += freebsd_i386.tar.gz i386.deb linux_i386.tar.gz i386.rpm
|
|
.PHONY: i386
|
|
i386:
|
|
@ echo $(i386)
|
|
windows += windows_i386.zip windows_amd64.zip windows_arm64.zip
|
|
.PHONY: windows
|
|
windows:
|
|
@ echo $(windows)
|
|
darwin-amd64 += darwin_amd64.tar.gz
|
|
.PHONY: darwin-amd64
|
|
darwin-amd64:
|
|
@ echo $(darwin-amd64)
|
|
|
|
darwin-arm64 += darwin_arm64.tar.gz
|
|
.PHONY: darwin-arm64
|
|
darwin-arm64:
|
|
@ echo $(darwin-arm64)
|
|
|
|
include_packages := $(mips) $(mipsel) $(arm64) $(amd64) $(armel) $(armhf) $(riscv64) $(loong64) $(s390x) $(ppc64le) $(i386) $(windows) $(darwin-amd64) $(darwin-arm64)
|
|
|
|
.PHONY: package
|
|
package: docs config $(include_packages)
|
|
|
|
.PHONY: $(include_packages)
|
|
$(include_packages):
|
|
if [ "$(suffix $@)" = ".zip" ]; then go generate cmd/telegraf/telegraf_windows.go; fi
|
|
|
|
@$(MAKE) install
|
|
@mkdir -p $(pkgdir)
|
|
|
|
@if [ "$(suffix $@)" = ".rpm" ]; then \
|
|
echo "# DO NOT EDIT OR REMOVE" > $(DESTDIR)$(sysconfdir)/telegraf/telegraf.d/.ignore; \
|
|
echo "# This file prevents the rpm from changing permissions on this directory" >> $(DESTDIR)$(sysconfdir)/telegraf/telegraf.d/.ignore; \
|
|
fpm --force \
|
|
--log info \
|
|
--architecture $(basename $@) \
|
|
--input-type dir \
|
|
--output-type rpm \
|
|
--vendor InfluxData \
|
|
--url https://github.com/influxdata/telegraf \
|
|
--license MIT \
|
|
--maintainer support@influxdb.com \
|
|
--config-files /etc/telegraf/telegraf.conf \
|
|
--config-files /etc/telegraf/telegraf.d/.ignore \
|
|
--config-files /etc/logrotate.d/telegraf \
|
|
--after-install scripts/rpm/post-install.sh \
|
|
--before-install scripts/rpm/pre-install.sh \
|
|
--after-remove scripts/rpm/post-remove.sh \
|
|
--description "Plugin-driven server agent for reporting metrics into InfluxDB." \
|
|
--depends coreutils \
|
|
--rpm-digest sha256 \
|
|
--rpm-posttrans scripts/rpm/post-install.sh \
|
|
--rpm-os ${GOOS} \
|
|
--rpm-tag "Requires(pre): /usr/sbin/useradd" \
|
|
--name telegraf \
|
|
--version $(version) \
|
|
--iteration $(rpm_iteration) \
|
|
--chdir $(DESTDIR) \
|
|
--package $(pkgdir)/telegraf-$(rpm_version).$@ ;\
|
|
elif [ "$(suffix $@)" = ".deb" ]; then \
|
|
fpm --force \
|
|
--log info \
|
|
--architecture $(basename $@) \
|
|
--input-type dir \
|
|
--output-type deb \
|
|
--vendor InfluxData \
|
|
--url https://github.com/influxdata/telegraf \
|
|
--license MIT \
|
|
--maintainer support@influxdb.com \
|
|
--config-files /etc/telegraf/telegraf.conf.sample \
|
|
--config-files /etc/logrotate.d/telegraf \
|
|
--after-install scripts/deb/post-install.sh \
|
|
--before-install scripts/deb/pre-install.sh \
|
|
--after-remove scripts/deb/post-remove.sh \
|
|
--before-remove scripts/deb/pre-remove.sh \
|
|
--description "Plugin-driven server agent for reporting metrics into InfluxDB." \
|
|
--name telegraf \
|
|
--version $(version) \
|
|
--iteration $(deb_iteration) \
|
|
--chdir $(DESTDIR) \
|
|
--package $(pkgdir)/telegraf_$(deb_version)_$@ ;\
|
|
elif [ "$(suffix $@)" = ".zip" ]; then \
|
|
(cd $(dir $(DESTDIR)) && zip -r - ./*) > $(pkgdir)/telegraf-$(tar_version)_$@ ;\
|
|
elif [ "$(suffix $@)" = ".gz" ]; then \
|
|
tar --owner 0 --group 0 -czvf $(pkgdir)/telegraf-$(tar_version)_$@ -C $(dir $(DESTDIR)) . ;\
|
|
fi
|
|
|
|
amd64.deb x86_64.rpm linux_amd64.tar.gz: export GOOS := linux
|
|
amd64.deb x86_64.rpm linux_amd64.tar.gz: export GOARCH := amd64
|
|
|
|
i386.deb i386.rpm linux_i386.tar.gz: export GOOS := linux
|
|
i386.deb i386.rpm linux_i386.tar.gz: export GOARCH := 386
|
|
|
|
armel.deb armel.rpm linux_armel.tar.gz: export GOOS := linux
|
|
armel.deb armel.rpm linux_armel.tar.gz: export GOARCH := arm
|
|
armel.deb armel.rpm linux_armel.tar.gz: export GOARM := 5
|
|
|
|
armhf.deb armv6hl.rpm linux_armhf.tar.gz: export GOOS := linux
|
|
armhf.deb armv6hl.rpm linux_armhf.tar.gz: export GOARCH := arm
|
|
armhf.deb armv6hl.rpm linux_armhf.tar.gz: export GOARM := 6
|
|
|
|
arm64.deb aarch64.rpm linux_arm64.tar.gz: export GOOS := linux
|
|
arm64.deb aarch64.rpm linux_arm64.tar.gz: export GOARCH := arm64
|
|
arm64.deb aarch64.rpm linux_arm64.tar.gz: export GOARM := 7
|
|
|
|
mips.deb linux_mips.tar.gz: export GOOS := linux
|
|
mips.deb linux_mips.tar.gz: export GOARCH := mips
|
|
|
|
mipsel.deb linux_mipsel.tar.gz: export GOOS := linux
|
|
mipsel.deb linux_mipsel.tar.gz: export GOARCH := mipsle
|
|
|
|
riscv64.deb riscv64.rpm linux_riscv64.tar.gz: export GOOS := linux
|
|
riscv64.deb riscv64.rpm linux_riscv64.tar.gz: export GOARCH := riscv64
|
|
|
|
loong64.deb loong64.rpm linux_loong64.tar.gz: export GOOS := linux
|
|
loong64.deb loong64.rpm linux_loong64.tar.gz: export GOARCH := loong64
|
|
|
|
s390x.deb s390x.rpm linux_s390x.tar.gz: export GOOS := linux
|
|
s390x.deb s390x.rpm linux_s390x.tar.gz: export GOARCH := s390x
|
|
|
|
ppc64el.deb ppc64le.rpm linux_ppc64le.tar.gz: export GOOS := linux
|
|
ppc64el.deb ppc64le.rpm linux_ppc64le.tar.gz: export GOARCH := ppc64le
|
|
|
|
freebsd_amd64.tar.gz: export GOOS := freebsd
|
|
freebsd_amd64.tar.gz: export GOARCH := amd64
|
|
|
|
freebsd_i386.tar.gz: export GOOS := freebsd
|
|
freebsd_i386.tar.gz: export GOARCH := 386
|
|
|
|
freebsd_armv7.tar.gz: export GOOS := freebsd
|
|
freebsd_armv7.tar.gz: export GOARCH := arm
|
|
freebsd_armv7.tar.gz: export GOARM := 7
|
|
|
|
windows_amd64.zip: export GOOS := windows
|
|
windows_amd64.zip: export GOARCH := amd64
|
|
|
|
windows_arm64.zip: export GOOS := windows
|
|
windows_arm64.zip: export GOARCH := arm64
|
|
|
|
darwin_amd64.tar.gz: export GOOS := darwin
|
|
darwin_amd64.tar.gz: export GOARCH := amd64
|
|
|
|
darwin_arm64.tar.gz: export GOOS := darwin
|
|
darwin_arm64.tar.gz: export GOARCH := arm64
|
|
|
|
windows_i386.zip: export GOOS := windows
|
|
windows_i386.zip: export GOARCH := 386
|
|
|
|
windows_i386.zip windows_amd64.zip windows_arm64.zip: export prefix =
|
|
windows_i386.zip windows_amd64.zip windows_arm64.zip: export bindir = $(prefix)
|
|
windows_i386.zip windows_amd64.zip windows_arm64.zip: export sysconfdir = $(prefix)
|
|
windows_i386.zip windows_amd64.zip windows_arm64.zip: export localstatedir = $(prefix)
|
|
windows_i386.zip windows_amd64.zip windows_arm64.zip: export EXEEXT := .exe
|
|
|
|
%.deb: export pkg := deb
|
|
%.deb: export prefix := /usr
|
|
%.deb: export conf_suffix := .sample
|
|
%.deb: export sysconfdir := /etc
|
|
%.deb: export localstatedir := /var
|
|
%.rpm: export pkg := rpm
|
|
%.rpm: export prefix := /usr
|
|
%.rpm: export sysconfdir := /etc
|
|
%.rpm: export localstatedir := /var
|
|
%.tar.gz: export pkg := tar
|
|
%.tar.gz: export prefix := /usr
|
|
%.tar.gz: export sysconfdir := /etc
|
|
%.tar.gz: export localstatedir := /var
|
|
%.zip: export pkg := zip
|
|
%.zip: export prefix := /
|
|
|
|
%.deb %.rpm %.tar.gz %.zip: export DESTDIR = build/$(GOOS)-$(GOARCH)$(GOARM)-$(pkg)/telegraf-$(version)
|
|
%.deb %.rpm %.tar.gz %.zip: export buildbin = build/$(GOOS)-$(GOARCH)$(GOARM)/telegraf$(EXEEXT)
|
|
%.deb %.rpm %.tar.gz %.zip: export LDFLAGS = -w -s
|