]> Cypherpunks.ru repositories - govpn.git/blob - Makefile
Created installation targets for ease of porting
[govpn.git] / Makefile
1 GOPATH != pwd
2 VERSION != cat VERSION
3
4 LDFLAGS = -X govpn.Version $(VERSION)
5 PREFIX ?= /usr/local
6 BINDIR = $(DESTDIR)$(PREFIX)/bin
7 INFODIR = $(DESTDIR)$(PREFIX)/info
8 SHAREDIR = $(DESTDIR)$(PREFIX)/share/govpn
9 DOCDIR = $(DESTDIR)$(PREFIX)/share/doc/govpn
10
11 all: govpn-client govpn-server govpn-verifier
12
13 depends:
14         $(MAKE) -C src
15
16 govpn-client: depends
17         GOPATH=$(GOPATH) go build -ldflags "$(LDFLAGS)" govpn/cmd/govpn-client
18
19 govpn-server: depends
20         GOPATH=$(GOPATH) go build -ldflags "$(LDFLAGS)" govpn/cmd/govpn-server
21
22 govpn-verifier: depends
23         GOPATH=$(GOPATH) go build -ldflags "$(LDFLAGS)" govpn/cmd/govpn-verifier
24
25 bench:
26         cd src/govpn ; GOPATH=$(GOPATH) GOMAXPROC=2 go test -bench .
27
28 clean:
29         rm -f govpn-client govpn-server govpn-verifier
30
31 doc:
32         $(MAKE) -C doc
33
34 install: all doc
35         mkdir -p $(BINDIR)
36         cp -f govpn-client govpn-server govpn-verifier $(BINDIR)
37         chmod 755 $(BINDIR)/govpn-client $(BINDIR)/govpn-server $(BINDIR)/govpn-verifier
38         mkdir -p $(INFODIR)
39         cp -f doc/govpn.info $(INFODIR)
40         chmod 644 $(INFODIR)/govpn.info
41         mkdir -p $(SHAREDIR)
42         cp -f utils/newclient.sh utils/storekey.sh $(SHAREDIR)
43         chmod 755 $(SHAREDIR)/newclient.sh $(SHAREDIR)/storekey.sh
44         mkdir -p $(DOCDIR)
45         cp -f -L AUTHORS INSTALL NEWS README THANKS $(DOCDIR)
46         chmod 644 $(DOCDIR)/AUTHORS $(DOCDIR)/INSTALL $(DOCDIR)/NEWS $(DOCDIR)/README $(DOCDIR)/THANKS
47
48 install-strip: install
49         strip $(BINDIR)/govpn-client $(BINDIR)/govpn-server $(BINDIR)/govpn-verifier