diff options
-rw-r--r-- | Makefile | 12 | ||||
-rw-r--r-- | main.go | 5 | ||||
-rw-r--r-- | version.go | 2 |
3 files changed, 17 insertions, 2 deletions
@@ -16,6 +16,14 @@ export GOPATH := $(CURDIR)/.gopath export PATH := $(PATH):$(CURDIR)/.gopath/bin GO_IMPORT_PATH := git.zx2c4.com/wireguard-go +version.go: + @export GIT_CEILING_DIRECTORIES="$(realpath $(CURDIR)/..)" && \ + tag="$$(git describe --dirty 2>/dev/null)" && \ + ver="$$(printf 'package main\nconst WireGuardGoVersion = "%s"\n' "$$tag")" && \ + [ "$$(cat $@ 2>/dev/null)" != "$$ver" ] && \ + echo "$$ver" > $@ && \ + git update-index --assume-unchanged $@ || true + .gopath/.created: rm -rf .gopath mkdir -p $(dir .gopath/src/$(GO_IMPORT_PATH)) @@ -27,7 +35,7 @@ vendor/.created: Gopkg.toml Gopkg.lock | .gopath/.created cd .gopath/src/$(GO_IMPORT_PATH) && dep ensure -vendor-only -v touch $@ -wireguard-go: $(wildcard *.go) $(wildcard */*.go) .gopath/.created vendor/.created +wireguard-go: $(wildcard *.go) $(wildcard */*.go) .gopath/.created vendor/.created version.go go build $(GO_BUILD_EXTRA_ARGS) -v $(GO_IMPORT_PATH) install: wireguard-go @@ -40,4 +48,4 @@ update-dep: | .gopath/.created command -v dep >/dev/null || go get -v github.com/golang/dep/cmd/dep cd .gopath/src/$(GO_IMPORT_PATH) && dep ensure -update -v -.PHONY: clean install update-dep +.PHONY: clean install update-dep version.go @@ -74,6 +74,11 @@ func warning() { } func main() { + if len(os.Args) == 2 && os.Args[1] == "--version" { + fmt.Printf("wireguard-go v%s\n\nUserspace WireGuard daemon for %s-%s.\nInformation available at https://www.wireguard.com.\nCopyright (C) Jason A. Donenfeld <Jason@zx2c4.com>.\n", WireGuardGoVersion, runtime.GOOS, runtime.GOARCH) + return + } + warning() // parse arguments diff --git a/version.go b/version.go new file mode 100644 index 0000000..25edead --- /dev/null +++ b/version.go @@ -0,0 +1,2 @@ +package main +const WireGuardGoVersion = "0.0.20180519" |