github.com/influxdata/telegraf@v1.30.3/Makefile (about)

     1  ifneq (,$(filter $(OS),Windows_NT Windows))
     2  	EXEEXT=.exe
     3  endif
     4  
     5  cat := $(if $(filter $(OS),sh.exe),type,cat)
     6  next_version := $(shell $(cat) build_version.txt)
     7  tag := $(shell git describe --exact-match --tags 2>/dev/null)
     8  
     9  branch := $(shell git rev-parse --abbrev-ref HEAD)
    10  commit := $(shell git rev-parse --short=8 HEAD)
    11  
    12  ifdef NIGHTLY
    13  	version := $(next_version)
    14  	rpm_version := nightly
    15  	rpm_iteration := 0
    16  	deb_version := nightly
    17  	deb_iteration := 0
    18  	tar_version := nightly
    19  else ifeq ($(tag),)
    20  	version := $(next_version)
    21  	rpm_version := $(version)~$(commit)-0
    22  	rpm_iteration := 0
    23  	deb_version := $(version)~$(commit)-0
    24  	deb_iteration := 0
    25  	tar_version := $(version)~$(commit)
    26  else ifneq ($(findstring -rc,$(tag)),)
    27  	version := $(word 1,$(subst -, ,$(tag)))
    28  	version := $(version:v%=%)
    29  	rc := $(word 2,$(subst -, ,$(tag)))
    30  	rpm_version := $(version)-0.$(rc)
    31  	rpm_iteration := 0.$(subst rc,,$(rc))
    32  	deb_version := $(version)~$(rc)-1
    33  	deb_iteration := 0
    34  	tar_version := $(version)~$(rc)
    35  else
    36  	version := $(tag:v%=%)
    37  	rpm_version := $(version)-1
    38  	rpm_iteration := 1
    39  	deb_version := $(version)-1
    40  	deb_iteration := 1
    41  	tar_version := $(version)
    42  endif
    43  
    44  MAKEFLAGS += --no-print-directory
    45  GOOS ?= $(shell go env GOOS)
    46  GOARCH ?= $(shell go env GOARCH)
    47  HOSTGO := env -u GOOS -u GOARCH -u GOARM -- go
    48  INTERNAL_PKG=github.com/influxdata/telegraf/internal
    49  LDFLAGS := $(LDFLAGS) -X $(INTERNAL_PKG).Commit=$(commit) -X $(INTERNAL_PKG).Branch=$(branch)
    50  ifneq ($(tag),)
    51  	LDFLAGS += -X $(INTERNAL_PKG).Version=$(version)
    52  else
    53  	LDFLAGS += -X $(INTERNAL_PKG).Version=$(version)-$(commit)
    54  endif
    55  
    56  # Go built-in race detector works only for 64 bits architectures.
    57  ifneq ($(GOARCH), 386)
    58  	race_detector := -race
    59  endif
    60  
    61  
    62  GOFILES ?= $(shell git ls-files '*.go')
    63  GOFMT ?= $(shell gofmt -l -s $(filter-out plugins/parsers/influx/machine.go, $(GOFILES)))
    64  
    65  prefix ?= /usr/local
    66  bindir ?= $(prefix)/bin
    67  sysconfdir ?= $(prefix)/etc
    68  localstatedir ?= $(prefix)/var
    69  pkgdir ?= build/dist
    70  
    71  .PHONY: all
    72  all: deps docs telegraf
    73  
    74  .PHONY: help
    75  help:
    76  	@echo 'Targets:'
    77  	@echo '  all          - download dependencies and compile telegraf binary'
    78  	@echo '  config       - generate the config from current repo state'
    79  	@echo '  deps         - download dependencies'
    80  	@echo '  docs         - embed sample-configurations into READMEs'
    81  	@echo '  telegraf     - compile telegraf binary'
    82  	@echo '  test         - run short unit tests'
    83  	@echo '  fmt          - format source files'
    84  	@echo '  tidy         - tidy go modules'
    85  	@echo '  lint         - run linter'
    86  	@echo '  lint-branch  - run linter on changes in current branch since master'
    87  	@echo '  lint-install - install linter'
    88  	@echo '  check-deps   - check docs/LICENSE_OF_DEPENDENCIES.md'
    89  	@echo '  clean        - delete build artifacts'
    90  	@echo '  package      - build all supported packages, override include_packages to only build a subset'
    91  	@echo '                 e.g.: make package include_packages="amd64.deb"'
    92  	@echo ''
    93  	@echo 'Possible values for include_packages variable'
    94  	@$(foreach package,$(include_packages),echo "  $(package)";)
    95  	@echo ''
    96  	@echo 'Resulting package name format (where arch will be the arch of the package):'
    97  	@echo '   telegraf_$(deb_version)_arch.deb'
    98  	@echo '   telegraf-$(rpm_version).arch.rpm'
    99  	@echo '   telegraf-$(tar_version)_arch.tar.gz'
   100  	@echo '   telegraf-$(tar_version)_arch.zip'
   101  
   102  
   103  .PHONY: deps
   104  deps:
   105  	go mod download -x
   106  
   107  .PHONY: version
   108  version:
   109  	@echo $(version)-$(commit)
   110  
   111  build_tools:
   112  	$(HOSTGO) build -o ./tools/custom_builder/custom_builder$(EXEEXT) ./tools/custom_builder
   113  	$(HOSTGO) build -o ./tools/license_checker/license_checker$(EXEEXT) ./tools/license_checker
   114  	$(HOSTGO) build -o ./tools/readme_config_includer/generator$(EXEEXT) ./tools/readme_config_includer/generator.go
   115  	$(HOSTGO) build -o ./tools/config_includer/generator$(EXEEXT) ./tools/config_includer/generator.go
   116  	$(HOSTGO) build -o ./tools/readme_linter/readme_linter$(EXEEXT) ./tools/readme_linter
   117  
   118  embed_readme_%:
   119  	go generate -run="tools/config_includer/generator" ./plugins/$*/...
   120  	go generate -run="tools/readme_config_includer/generator" ./plugins/$*/...
   121  
   122  .PHONY: config
   123  config:
   124  	@echo "generating default config"
   125  	go run ./cmd/telegraf config > etc/telegraf.conf
   126  
   127  .PHONY: docs
   128  docs: build_tools embed_readme_inputs embed_readme_outputs embed_readme_processors embed_readme_aggregators embed_readme_secretstores
   129  
   130  .PHONY: build
   131  build:
   132  	CGO_ENABLED=0 go build -tags "$(BUILDTAGS)" -ldflags "$(LDFLAGS)" ./cmd/telegraf
   133  
   134  .PHONY: telegraf
   135  telegraf: build
   136  
   137  # Used by dockerfile builds
   138  .PHONY: go-install
   139  go-install:
   140  	go install -mod=mod -ldflags "-w -s $(LDFLAGS)" ./cmd/telegraf
   141  
   142  .PHONY: test
   143  test:
   144  	go test -short $(race_detector) ./...
   145  
   146  .PHONY: test-integration
   147  test-integration:
   148  	go test -run Integration $(race_detector) ./...
   149  
   150  .PHONY: fmt
   151  fmt:
   152  	@gofmt -s -w $(filter-out plugins/parsers/influx/machine.go, $(GOFILES))
   153  
   154  .PHONY: fmtcheck
   155  fmtcheck:
   156  	@if [ ! -z "$(GOFMT)" ]; then \
   157  		echo "[ERROR] gofmt has found errors in the following files:"  ; \
   158  		echo "$(GOFMT)" ; \
   159  		echo "" ;\
   160  		echo "Run make fmt to fix them." ; \
   161  		exit 1 ;\
   162  	fi
   163  
   164  .PHONY: vet
   165  vet:
   166  	@echo 'go vet $$(go list ./... | grep -v ./plugins/parsers/influx)'
   167  	@go vet $$(go list ./... | grep -v ./plugins/parsers/influx) ; if [ $$? -ne 0 ]; then \
   168  		echo ""; \
   169  		echo "go vet has found suspicious constructs. Please remediate any reported errors"; \
   170  		echo "to fix them before submitting code for review."; \
   171  		exit 1; \
   172  	fi
   173  
   174  .PHONY: lint-install
   175  lint-install:
   176  	@echo "Installing golangci-lint"
   177  	go install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.58.0
   178  
   179  	@echo "Installing markdownlint"
   180  	npm install -g markdownlint-cli
   181  
   182  .PHONY: lint
   183  lint:
   184  	@which golangci-lint >/dev/null 2>&1 || { \
   185  		echo "golangci-lint not found, please run: make lint-install"; \
   186  		exit 1; \
   187  	}
   188  	golangci-lint run
   189  
   190  	@which markdownlint >/dev/null 2>&1 || { \
   191  		echo "markdownlint not found, please run: make lint-install"; \
   192  		exit 1; \
   193  	}
   194  	markdownlint .
   195  
   196  .PHONY: lint-branch
   197  lint-branch:
   198  	@which golangci-lint >/dev/null 2>&1 || { \
   199  		echo "golangci-lint not found, please run: make lint-install"; \
   200  		exit 1; \
   201  	}
   202  	golangci-lint run
   203  
   204  .PHONY: tidy
   205  tidy:
   206  	go mod verify
   207  	go mod tidy
   208  	@if ! git diff --quiet go.mod go.sum; then \
   209  		echo "please run go mod tidy and check in changes, you might have to use the same version of Go as the CI"; \
   210  		exit 1; \
   211  	fi
   212  
   213  .PHONY: check
   214  check: fmtcheck vet
   215  
   216  .PHONY: test-all
   217  test-all: fmtcheck vet
   218  	go test $(race_detector) ./...
   219  
   220  .PHONY: check-deps
   221  check-deps:
   222  	./scripts/check-deps.sh
   223  
   224  .PHONY: clean
   225  clean:
   226  	rm -f telegraf
   227  	rm -f telegraf.exe
   228  	rm -f etc/telegraf.conf
   229  	rm -rf build
   230  	rm -rf cmd/telegraf/resource.syso
   231  	rm -rf cmd/telegraf/versioninfo.json
   232  	rm -rf tools/config_includer/generator
   233  	rm -rf tools/config_includer/generator.exe
   234  	rm -rf tools/custom_builder/custom_builder
   235  	rm -rf tools/custom_builder/custom_builder.exe
   236  	rm -rf tools/license_checker/license_checker
   237  	rm -rf tools/license_checker/license_checker.exe
   238  	rm -rf tools/package_incus_test/package_incus_test
   239  	rm -rf tools/package_incus_test/package_incus_test.exe
   240  	rm -rf tools/readme_config_includer/generator
   241  	rm -rf tools/readme_config_includer/generator.exe
   242  	rm -rf tools/readme_linter/readme_linter
   243  	rm -rf tools/readme_linter/readme_linter.exe
   244  
   245  .PHONY: docker-image
   246  docker-image:
   247  	docker build -f scripts/buster.docker -t "telegraf:$(commit)" .
   248  
   249  plugins/parsers/influx/machine.go: plugins/parsers/influx/machine.go.rl
   250  	ragel -Z -G2 $^ -o $@
   251  
   252  .PHONY: ci
   253  ci:
   254  	docker build -t quay.io/influxdb/telegraf-ci:1.22.3 - < scripts/ci.docker
   255  	docker push quay.io/influxdb/telegraf-ci:1.22.3
   256  
   257  .PHONY: install
   258  install: $(buildbin)
   259  	@mkdir -pv $(DESTDIR)$(bindir)
   260  	@mkdir -pv $(DESTDIR)$(sysconfdir)
   261  	@mkdir -pv $(DESTDIR)$(localstatedir)
   262  	@if [ $(GOOS) != "windows" ]; then mkdir -pv $(DESTDIR)$(sysconfdir)/logrotate.d; fi
   263  	@if [ $(GOOS) != "windows" ]; then mkdir -pv $(DESTDIR)$(localstatedir)/log/telegraf; fi
   264  	@if [ $(GOOS) != "windows" ]; then mkdir -pv $(DESTDIR)$(sysconfdir)/telegraf/telegraf.d; fi
   265  	@cp -fv $(buildbin) $(DESTDIR)$(bindir)
   266  	@if [ $(GOOS) != "windows" ]; then cp -fv etc/telegraf.conf $(DESTDIR)$(sysconfdir)/telegraf/telegraf.conf$(conf_suffix); fi
   267  	@if [ $(GOOS) != "windows" ]; then cp -fv etc/logrotate.d/telegraf $(DESTDIR)$(sysconfdir)/logrotate.d; fi
   268  	@if [ $(GOOS) = "windows" ]; then cp -fv etc/telegraf.conf $(DESTDIR)/telegraf.conf; fi
   269  	@if [ $(GOOS) = "linux" ]; then mkdir -pv $(DESTDIR)$(prefix)/lib/telegraf/scripts; fi
   270  	@if [ $(GOOS) = "linux" ]; then cp -fv scripts/telegraf.service $(DESTDIR)$(prefix)/lib/telegraf/scripts; fi
   271  	@if [ $(GOOS) = "linux" ]; then cp -fv scripts/init.sh $(DESTDIR)$(prefix)/lib/telegraf/scripts; fi
   272  
   273  # Telegraf build per platform.  This improves package performance by sharing
   274  # the bin between deb/rpm/tar packages over building directly into the package
   275  # directory.
   276  .PHONY: $(buildbin)
   277  $(buildbin):
   278  	echo $(GOOS)
   279  	@mkdir -pv $(dir $@)
   280  	CGO_ENABLED=0 go build -o $(dir $@) -tags "$(BUILDTAGS)" -ldflags "$(LDFLAGS)" ./cmd/telegraf
   281  
   282  # Define packages Telegraf supports, organized by architecture with a rule to echo the list to limit include_packages
   283  # e.g. make package include_packages="$(make amd64)"
   284  mips += linux_mips.tar.gz mips.deb
   285  .PHONY: mips
   286  mips:
   287  	@ echo $(mips)
   288  mipsel += mipsel.deb linux_mipsel.tar.gz
   289  .PHONY: mipsel
   290  mipsel:
   291  	@ echo $(mipsel)
   292  loong64 += linux_loong64.tar.gz loong64.deb loong64.rpm
   293  .PHONY: loong64
   294  loong64:
   295  	@ echo $(loong64)
   296  arm64 += linux_arm64.tar.gz arm64.deb aarch64.rpm
   297  .PHONY: arm64
   298  arm64:
   299  	@ echo $(arm64)
   300  amd64 += freebsd_amd64.tar.gz linux_amd64.tar.gz amd64.deb x86_64.rpm
   301  .PHONY: amd64
   302  amd64:
   303  	@ echo $(amd64)
   304  armel += linux_armel.tar.gz armel.rpm armel.deb
   305  .PHONY: armel
   306  armel:
   307  	@ echo $(armel)
   308  armhf += linux_armhf.tar.gz freebsd_armv7.tar.gz armhf.deb armv6hl.rpm
   309  .PHONY: armhf
   310  armhf:
   311  	@ echo $(armhf)
   312  s390x += linux_s390x.tar.gz s390x.deb s390x.rpm
   313  .PHONY: riscv64
   314  riscv64:
   315  	@ echo $(riscv64)
   316  riscv64 += linux_riscv64.tar.gz riscv64.rpm riscv64.deb
   317  .PHONY: s390x
   318  s390x:
   319  	@ echo $(s390x)
   320  ppc64le += linux_ppc64le.tar.gz ppc64le.rpm ppc64el.deb
   321  .PHONY: ppc64le
   322  ppc64le:
   323  	@ echo $(ppc64le)
   324  i386 += freebsd_i386.tar.gz i386.deb linux_i386.tar.gz i386.rpm
   325  .PHONY: i386
   326  i386:
   327  	@ echo $(i386)
   328  windows += windows_i386.zip windows_amd64.zip windows_arm64.zip
   329  .PHONY: windows
   330  windows:
   331  	@ echo $(windows)
   332  darwin-amd64 += darwin_amd64.tar.gz
   333  .PHONY: darwin-amd64
   334  darwin-amd64:
   335  	@ echo $(darwin-amd64)
   336  
   337  darwin-arm64 += darwin_arm64.tar.gz
   338  .PHONY: darwin-arm64
   339  darwin-arm64:
   340  	@ echo $(darwin-arm64)
   341  
   342  include_packages := $(mips) $(mipsel) $(arm64) $(amd64) $(armel) $(armhf) $(riscv64) $(loong64) $(s390x) $(ppc64le) $(i386) $(windows) $(darwin-amd64) $(darwin-arm64)
   343  
   344  .PHONY: package
   345  package: docs config $(include_packages)
   346  
   347  .PHONY: $(include_packages)
   348  $(include_packages):
   349  	if [ "$(suffix $@)" = ".zip" ]; then go generate cmd/telegraf/telegraf_windows.go; fi
   350  
   351  	@$(MAKE) install
   352  	@mkdir -p $(pkgdir)
   353  
   354  	@if [ "$(suffix $@)" = ".rpm" ]; then \
   355  		echo "# DO NOT EDIT OR REMOVE" > $(DESTDIR)$(sysconfdir)/telegraf/telegraf.d/.ignore; \
   356  		echo "# This file prevents the rpm from changing permissions on this directory" >> $(DESTDIR)$(sysconfdir)/telegraf/telegraf.d/.ignore; \
   357  		fpm --force \
   358  			--log info \
   359  			--architecture $(basename $@) \
   360  			--input-type dir \
   361  			--output-type rpm \
   362  			--vendor InfluxData \
   363  			--url https://github.com/influxdata/telegraf \
   364  			--license MIT \
   365  			--maintainer support@influxdb.com \
   366  			--config-files /etc/telegraf/telegraf.conf \
   367  			--config-files /etc/telegraf/telegraf.d/.ignore \
   368  			--config-files /etc/logrotate.d/telegraf \
   369  			--after-install scripts/rpm/post-install.sh \
   370  			--before-install scripts/rpm/pre-install.sh \
   371  			--after-remove scripts/rpm/post-remove.sh \
   372  			--description "Plugin-driven server agent for reporting metrics into InfluxDB." \
   373  			--depends coreutils \
   374  			--rpm-digest sha256 \
   375  			--rpm-posttrans scripts/rpm/post-install.sh \
   376  			--rpm-os ${GOOS} \
   377  			--rpm-tag "Requires(pre): /usr/sbin/useradd" \
   378  			--name telegraf \
   379  			--version $(version) \
   380  			--iteration $(rpm_iteration) \
   381  			--chdir $(DESTDIR) \
   382  			--package $(pkgdir)/telegraf-$(rpm_version).$@ ;\
   383  	elif [ "$(suffix $@)" = ".deb" ]; then \
   384  		fpm --force \
   385  			--log info \
   386  			--architecture $(basename $@) \
   387  			--input-type dir \
   388  			--output-type deb \
   389  			--vendor InfluxData \
   390  			--url https://github.com/influxdata/telegraf \
   391  			--license MIT \
   392  			--maintainer support@influxdb.com \
   393  			--config-files /etc/telegraf/telegraf.conf.sample \
   394  			--config-files /etc/logrotate.d/telegraf \
   395  			--after-install scripts/deb/post-install.sh \
   396  			--before-install scripts/deb/pre-install.sh \
   397  			--after-remove scripts/deb/post-remove.sh \
   398  			--before-remove scripts/deb/pre-remove.sh \
   399  			--description "Plugin-driven server agent for reporting metrics into InfluxDB." \
   400  			--name telegraf \
   401  			--version $(version) \
   402  			--iteration $(deb_iteration) \
   403  			--chdir $(DESTDIR) \
   404  			--package $(pkgdir)/telegraf_$(deb_version)_$@	;\
   405  	elif [ "$(suffix $@)" = ".zip" ]; then \
   406  		(cd $(dir $(DESTDIR)) && zip -r - ./*) > $(pkgdir)/telegraf-$(tar_version)_$@ ;\
   407  	elif [ "$(suffix $@)" = ".gz" ]; then \
   408  		tar --owner 0 --group 0 -czvf $(pkgdir)/telegraf-$(tar_version)_$@ -C $(dir $(DESTDIR)) . ;\
   409  	fi
   410  
   411  amd64.deb x86_64.rpm linux_amd64.tar.gz: export GOOS := linux
   412  amd64.deb x86_64.rpm linux_amd64.tar.gz: export GOARCH := amd64
   413  
   414  i386.deb i386.rpm linux_i386.tar.gz: export GOOS := linux
   415  i386.deb i386.rpm linux_i386.tar.gz: export GOARCH := 386
   416  
   417  armel.deb armel.rpm linux_armel.tar.gz: export GOOS := linux
   418  armel.deb armel.rpm linux_armel.tar.gz: export GOARCH := arm
   419  armel.deb armel.rpm linux_armel.tar.gz: export GOARM := 5
   420  
   421  armhf.deb armv6hl.rpm linux_armhf.tar.gz: export GOOS := linux
   422  armhf.deb armv6hl.rpm linux_armhf.tar.gz: export GOARCH := arm
   423  armhf.deb armv6hl.rpm linux_armhf.tar.gz: export GOARM := 6
   424  
   425  arm64.deb aarch64.rpm linux_arm64.tar.gz: export GOOS := linux
   426  arm64.deb aarch64.rpm linux_arm64.tar.gz: export GOARCH := arm64
   427  arm64.deb aarch64.rpm linux_arm64.tar.gz: export GOARM := 7
   428  
   429  mips.deb linux_mips.tar.gz: export GOOS := linux
   430  mips.deb linux_mips.tar.gz: export GOARCH := mips
   431  
   432  mipsel.deb linux_mipsel.tar.gz: export GOOS := linux
   433  mipsel.deb linux_mipsel.tar.gz: export GOARCH := mipsle
   434  
   435  riscv64.deb riscv64.rpm linux_riscv64.tar.gz: export GOOS := linux
   436  riscv64.deb riscv64.rpm linux_riscv64.tar.gz: export GOARCH := riscv64
   437  
   438  loong64.deb loong64.rpm linux_loong64.tar.gz: export GOOS := linux
   439  loong64.deb loong64.rpm linux_loong64.tar.gz: export GOARCH := loong64
   440  
   441  s390x.deb s390x.rpm linux_s390x.tar.gz: export GOOS := linux
   442  s390x.deb s390x.rpm linux_s390x.tar.gz: export GOARCH := s390x
   443  
   444  ppc64el.deb ppc64le.rpm linux_ppc64le.tar.gz: export GOOS := linux
   445  ppc64el.deb ppc64le.rpm linux_ppc64le.tar.gz: export GOARCH := ppc64le
   446  
   447  freebsd_amd64.tar.gz: export GOOS := freebsd
   448  freebsd_amd64.tar.gz: export GOARCH := amd64
   449  
   450  freebsd_i386.tar.gz: export GOOS := freebsd
   451  freebsd_i386.tar.gz: export GOARCH := 386
   452  
   453  freebsd_armv7.tar.gz: export GOOS := freebsd
   454  freebsd_armv7.tar.gz: export GOARCH := arm
   455  freebsd_armv7.tar.gz: export GOARM := 7
   456  
   457  windows_amd64.zip: export GOOS := windows
   458  windows_amd64.zip: export GOARCH := amd64
   459  
   460  windows_arm64.zip: export GOOS := windows
   461  windows_arm64.zip: export GOARCH := arm64
   462  
   463  darwin_amd64.tar.gz: export GOOS := darwin
   464  darwin_amd64.tar.gz: export GOARCH := amd64
   465  
   466  darwin_arm64.tar.gz: export GOOS := darwin
   467  darwin_arm64.tar.gz: export GOARCH := arm64
   468  
   469  windows_i386.zip: export GOOS := windows
   470  windows_i386.zip: export GOARCH := 386
   471  
   472  windows_i386.zip windows_amd64.zip windows_arm64.zip: export prefix =
   473  windows_i386.zip windows_amd64.zip windows_arm64.zip: export bindir = $(prefix)
   474  windows_i386.zip windows_amd64.zip windows_arm64.zip: export sysconfdir = $(prefix)
   475  windows_i386.zip windows_amd64.zip windows_arm64.zip: export localstatedir = $(prefix)
   476  windows_i386.zip windows_amd64.zip windows_arm64.zip: export EXEEXT := .exe
   477  
   478  %.deb: export pkg := deb
   479  %.deb: export prefix := /usr
   480  %.deb: export conf_suffix := .sample
   481  %.deb: export sysconfdir := /etc
   482  %.deb: export localstatedir := /var
   483  %.rpm: export pkg := rpm
   484  %.rpm: export prefix := /usr
   485  %.rpm: export sysconfdir := /etc
   486  %.rpm: export localstatedir := /var
   487  %.tar.gz: export pkg := tar
   488  %.tar.gz: export prefix := /usr
   489  %.tar.gz: export sysconfdir := /etc
   490  %.tar.gz: export localstatedir := /var
   491  %.zip: export pkg := zip
   492  %.zip: export prefix := /
   493  
   494  %.deb %.rpm %.tar.gz %.zip: export DESTDIR = build/$(GOOS)-$(GOARCH)$(GOARM)-$(pkg)/telegraf-$(version)
   495  %.deb %.rpm %.tar.gz %.zip: export buildbin = build/$(GOOS)-$(GOARCH)$(GOARM)/telegraf$(EXEEXT)
   496  %.deb %.rpm %.tar.gz %.zip: export LDFLAGS = -w -s