diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2018-05-23 03:17:51 +0200 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2018-05-23 05:18:13 +0200 |
commit | 588b9f01ae1ac81844b52c095c9abcd9326d35a3 (patch) | |
tree | 26031461215b1b355971d1590bc0b946ed814f7e /Makefile | |
parent | f70bd1fab32ce7d1bb482f97cbca0a3ec0c45e40 (diff) |
Adopt GOPATH
GOPATH is annoying, but the Go community pushing me to adopt it is even
more annoying.
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 29 |
1 files changed, 25 insertions, 4 deletions
@@ -5,18 +5,39 @@ BINDIR ?= $(PREFIX)/bin ifeq ($(shell go env GOOS),linux) ifeq ($(wildcard .git),) $(error Do not build this for Linux. Instead use the Linux kernel module. See wireguard.com/install/ for more info.) +else +$(shell printf 'package main\nconst UseTheKernelModuleInstead = 0xdeadbabe\n' > ireallywantobuildon_linux.go) endif endif all: wireguard-go -wireguard-go: $(wildcard *.go) $(wildcard */*.go) - go build -v -o $@ +export GOPATH := $(CURDIR)/.gopath +export PATH := $(PATH):$(CURDIR)/.gopath/bin +GO_IMPORT_PATH := git.zx2c4.com/wireguard-go + +.gopath/.created: + rm -rf .gopath + mkdir -p $(dir .gopath/src/$(GO_IMPORT_PATH)) + ln -s ../../.. .gopath/src/$(GO_IMPORT_PATH) + touch $@ + +vendor/.created: Gopkg.toml Gopkg.lock .gopath/.created + command -v dep >/dev/null || go get -v github.com/golang/dep/cmd/dep + cd .gopath/src/$(GO_IMPORT_PATH) && dep ensure -vendor-only -v + touch $@ + +wireguard-go: $(wildcard *.go) $(wildcard */*.go) .gopath/.created vendor/.created + go build $(GO_BUILD_EXTRA_ARGS) -v $(GO_IMPORT_PATH) install: wireguard-go - @install -v -d "$(DESTDIR)$(BINDIR)" && install -m 0755 -v wireguard-go "$(DESTDIR)$(BINDIR)/wireguard-go" + @install -v -d "$(DESTDIR)$(BINDIR)" && install -v -m 0755 wireguard-go "$(DESTDIR)$(BINDIR)/wireguard-go" clean: rm -f wireguard-go -.PHONY: clean install +update-dep: + 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 |