diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2017-01-04 19:28:28 +0100 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2017-01-05 02:30:20 +0100 |
commit | 6b940830e96a585ed0d90fad35e3887d5d9098af (patch) | |
tree | f0517f4f64920c434dc16a517e53b7c3c0fac7aa /src/Makefile | |
parent | wg: add makefile instructions (diff) | |
download | wireguard-tools-6b940830e96a585ed0d90fad35e3887d5d9098af.tar.xz wireguard-tools-6b940830e96a585ed0d90fad35e3887d5d9098af.zip |
wg: add systemd unit and auto-detection
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to 'src/Makefile')
-rw-r--r-- | src/Makefile | 41 |
1 files changed, 34 insertions, 7 deletions
diff --git a/src/Makefile b/src/Makefile index fb727d8..fe483b9 100644 --- a/src/Makefile +++ b/src/Makefile @@ -1,13 +1,34 @@ +PKG_CONFIG ?= pkg-config PREFIX ?= /usr DESTDIR ?= BINDIR ?= $(PREFIX)/bin LIBDIR ?= $(PREFIX)/lib MANDIR ?= $(PREFIX)/share/man BASHCOMPDIR ?= $(PREFIX)/share/bash-completion/completions +SYSTEMDUNITDIR ?= $(shell $(PKG_CONFIG) --variable=systemdsystemunitdir systemd 2>/dev/null || echo "$(PREFIX)/lib/systemd/system") RUNSTATEDIR ?= /var/run -PKG_CONFIG ?= pkg-config -WITH_BASHCOMPLETION ?= yes -WITH_WGQUICK ?= yes +WITH_BASHCOMPLETION ?= +WITH_WGQUICK ?= +WITH_SYSTEMDUNITS ?= + +ifeq ($(WITH_BASHCOMPLETION),) +ifneq ($(strip $(wildcard $(DESTDIR)$(BASHCOMPDIR))),) +WITH_BASHCOMPLETION := yes +endif +endif +ifeq ($(WITH_WGQUICK),) +ifneq ($(strip $(wildcard $(DESTDIR)$(BINDIR)/bash)),) +WITH_WGQUICK := yes +endif +ifneq ($(strip $(wildcard $(DESTDIR)/bin/bash)),) +WITH_WGQUICK := yes +endif +endif +ifeq ($(WITH_SYSTEMDUNITS),) +ifneq ($(strip $(wildcard $(DESTDIR)$(SYSTEMDUNITDIR))),) +WITH_SYSTEMDUNITS := yes +endif +endif CFLAGS ?= -O3 CFLAGS += -std=gnu11 @@ -30,10 +51,16 @@ clean: install: wg @install -v -d "$(DESTDIR)$(BINDIR)" && install -m 0755 -v wg "$(DESTDIR)$(BINDIR)/wg" @install -v -d "$(DESTDIR)$(MANDIR)/man8" && install -m 0644 -v wg.8 "$(DESTDIR)$(MANDIR)/man8/wg.8" - @[ "$(WITH_BASHCOMPLETION)" = "yes" ] && install -v -d "$(BASHCOMPDIR)" && install -m 0644 -v completion/wg.bash-completion "$(DESTDIR)$(BASHCOMPDIR)/wg" - @[ "$(WITH_WGQUICK)" = "yes" ] && install -m 0755 -v wg-quick.bash "$(DESTDIR)$(BINDIR)/wg-quick" - @[ "$(WITH_WGQUICK)" = "yes" ] && install -m 0644 -v wg-quick.8 "$(DESTDIR)$(MANDIR)/man8/wg-quick.8" - @[ "$(WITH_WGQUICK)" = "yes" -a "$(WITH_BASHCOMPLETION)" = "yes" ] && install -m 0644 -v completion/wg-quick.bash-completion "$(DESTDIR)$(BASHCOMPDIR)/wg-quick" + @[ "$(WITH_BASHCOMPLETION)" = "yes" ] || exit 0; \ + install -v -d "$(DESTDIR)$(BASHCOMPDIR)" && install -m 0644 -v completion/wg.bash-completion "$(DESTDIR)$(BASHCOMPDIR)/wg" + @[ "$(WITH_WGQUICK)" = "yes" ] || exit 0; \ + install -m 0755 -v wg-quick.bash "$(DESTDIR)$(BINDIR)/wg-quick" + @[ "$(WITH_WGQUICK)" = "yes" ] || exit 0; \ + install -m 0644 -v wg-quick.8 "$(DESTDIR)$(MANDIR)/man8/wg-quick.8" + @[ "$(WITH_WGQUICK)" = "yes" -a "$(WITH_BASHCOMPLETION)" = "yes" ] || exit 0; \ + install -m 0644 -v completion/wg-quick.bash-completion "$(DESTDIR)$(BASHCOMPDIR)/wg-quick" + @[ "$(WITH_WGQUICK)" = "yes" -a "$(WITH_SYSTEMDUNITS)" = "yes" ] || exit 0; \ + install -v -d "$(DESTDIR)$(SYSTEMDUNITDIR)" && install -m 0644 -v wg-quick@.service "$(DESTDIR)$(SYSTEMDUNITDIR)/wg-quick@.service" check: clean CFLAGS=-g scan-build --view --keep-going $(MAKE) wg |