2323
2424DATE := $(shell date -u '+% Y-% m-% d-% H% M UTC')
2525VERSION_FLAGS := -X "main.Version=$(VERSION ) " -X "main.BuildTime=$(DATE ) "
26+ ifdef PACKAGE_MANAGER
27+ VERSION_FLAGS := $(VERSION_FLAGS) -X "github.com/cloudflare/cloudflared/cmd/cloudflared/updater.BuiltForPackageManager=$(PACKAGE_MANAGER)"
28+ endif
2629
2730LINK_FLAGS :=
2831ifeq ($(FIPS ) , true)
@@ -37,10 +40,11 @@ ifneq ($(GO_BUILD_TAGS),)
3740 GO_BUILD_TAGS := -tags "$(GO_BUILD_TAGS)"
3841endif
3942
40- IMPORT_PATH := github.com/cloudflare/cloudflared
41- PACKAGE_DIR := $(CURDIR ) /packaging
42- INSTALL_BINDIR := /usr/bin/
43- MAN_DIR := /usr/share/man/man1/
43+ IMPORT_PATH := github.com/cloudflare/cloudflared
44+ PACKAGE_DIR := $(CURDIR ) /packaging
45+ PREFIX := /usr
46+ INSTALL_BINDIR := $(PREFIX ) /bin/
47+ INSTALL_MANDIR := $(PREFIX ) /share/man/man1/
4448
4549LOCAL_ARCH ?= $(shell uname -m)
4650ifneq ($(GOARCH ) ,)
@@ -141,32 +145,40 @@ publish-deb: cloudflared-deb
141145publish-rpm : cloudflared-rpm
142146 $(call publish_package,rpm,yum)
143147
148+ cloudflared.1 : cloudflared_man_template
149+ cat cloudflared_man_template | sed -e ' s/\$${VERSION}/$(VERSION)/; s/\$${DATE}/$(DATE)/' > cloudflared.1
150+
151+ install : cloudflared cloudflared.1
152+ mkdir -p $(DESTDIR )$(INSTALL_BINDIR ) $(DESTDIR )$(INSTALL_MANDIR )
153+ install -m755 cloudflared $(DESTDIR )$(INSTALL_BINDIR ) /cloudflared
154+ install -m644 cloudflared.1 $(DESTDIR )$(INSTALL_MANDIR ) /cloudflared.1
155+
144156# When we build packages, the package name will be FIPS-aware.
145157# But we keep the binary installed by it to be named "cloudflared" regardless.
146158define build_package
147159 mkdir -p $(PACKAGE_DIR )
148160 cp cloudflared $(PACKAGE_DIR ) /cloudflared
149- cat cloudflared_man_template | sed -e 's/\$${VERSION}/ $( VERSION ) /; s/\$${DATE}/ $( DATE ) /' > $(PACKAGE_DIR ) /cloudflared.1
161+ cp cloudflared.1 $(PACKAGE_DIR ) /cloudflared.1
150162 fakeroot fpm -C $(PACKAGE_DIR ) -s dir -t $(1 ) \
151163 --description 'Cloudflare Tunnel daemon' \
152164 --vendor 'Cloudflare' \
153165 --license 'Apache License Version 2.0' \
154166 --url 'https://github.com/cloudflare/cloudflared' \
155167 -m 'Cloudflare <
[email protected] >' \
156168 -a $(TARGET_ARCH ) -v $(VERSION ) -n $(DEB_PACKAGE_NAME ) $(NIGHTLY_FLAGS ) --after-install postinst.sh --after-remove postrm.sh \
157- cloudflared=$(INSTALL_BINDIR ) cloudflared.1=$(MAN_DIR )
169+ cloudflared=$(INSTALL_BINDIR ) cloudflared.1=$(INSTALL_MANDIR )
158170endef
159171
160172.PHONY : cloudflared-deb
161- cloudflared-deb : cloudflared
173+ cloudflared-deb : cloudflared cloudflared.1
162174 $(call build_package,deb)
163175
164176.PHONY : cloudflared-rpm
165- cloudflared-rpm : cloudflared
177+ cloudflared-rpm : cloudflared cloudflared.1
166178 $(call build_package,rpm)
167179
168180.PHONY : cloudflared-pkg
169- cloudflared-pkg : cloudflared
181+ cloudflared-pkg : cloudflared cloudflared.1
170182 $(call build_package,osxpkg)
171183
172184.PHONY : cloudflared-msi
0 commit comments