]> Cypherpunks.ru repositories - nncp.git/blob - common.mk
Updated port
[nncp.git] / common.mk
1 PREFIX ?= /usr/local
2 GO ?= go
3
4 SENDMAIL ?= /usr/sbin/sendmail
5 CFGPATH ?= $(PREFIX)/etc/nncp.yaml
6 SPOOLPATH ?= /var/spool/nncp
7 LOGPATH ?= /var/spool/nncp/log
8
9 BINDIR = $(DESTDIR)$(PREFIX)/bin
10 INFODIR = $(DESTDIR)$(PREFIX)/info
11 DOCDIR = $(DESTDIR)$(PREFIX)/share/doc/nncp
12
13 LDFLAGS = \
14         -X cypherpunks.ru/nncp.Version=$(VERSION) \
15         -X cypherpunks.ru/nncp.DefaultCfgPath=$(CFGPATH) \
16         -X cypherpunks.ru/nncp.DefaultSendmailPath=$(SENDMAIL) \
17         -X cypherpunks.ru/nncp.DefaultSpoolPath=$(SPOOLPATH) \
18         -X cypherpunks.ru/nncp.DefaultLogPath=$(LOGPATH)
19 BUILDMOD ?= -mod=vendor
20
21 ALL = \
22         nncp-bundle \
23         nncp-call \
24         nncp-caller \
25         nncp-cfgenc \
26         nncp-cfgmin \
27         nncp-cfgnew \
28         nncp-check \
29         nncp-daemon \
30         nncp-exec \
31         nncp-file \
32         nncp-freq \
33         nncp-log \
34         nncp-pkt \
35         nncp-reass \
36         nncp-rm \
37         nncp-stat \
38         nncp-toss \
39         nncp-xfer
40
41 SRC := $(PWD)/src/cypherpunks.ru/nncp
42 BIN := $(PWD)/bin
43 GOPATH ?= $(PWD)/gopath
44
45 all: $(ALL)
46
47 $(BIN):
48         mkdir -p $(BIN)
49
50 $(ALL): $(BIN)
51         cd $(SRC) ; GOPATH=$(GOPATH) $(GO) build $(BUILDMOD) -ldflags "$(LDFLAGS)" cypherpunks.ru/nncp/cmd/$@
52         mv $(SRC)/$@ $(BIN)
53
54 test:
55         cd $(SRC) ; GOPATH=$(GOPATH) $(GO) test $(BUILDMOD) -failfast cypherpunks.ru/nncp/...
56
57 clean:
58         rm -rf bin
59
60 .PHONY: doc
61
62 doc:
63         $(MAKE) -C doc
64
65 install: all doc
66         mkdir -p $(BINDIR)
67         (cd bin ; cp -f $(ALL) $(BINDIR))
68         for e in $(ALL) ; do chmod 755 $(BINDIR)/$$e ; done
69         mkdir -p $(INFODIR)
70         cp -f doc/nncp.info $(INFODIR)
71         chmod 644 $(INFODIR)/nncp.info
72         mkdir -p $(DOCDIR)
73         cp -f -L AUTHORS NEWS NEWS.RU README README.RU THANKS $(DOCDIR)
74         chmod 644 $(DOCDIR)/*
75
76 install-strip: install
77         for e in $(ALL) ; do strip $(BINDIR)/$$e ; done