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