]> Cypherpunks.ru repositories - nncp.git/blobdiff - common.mk
umask friendly permissions for files in release tarball
[nncp.git] / common.mk
index dee003fa21504f419d3120984a2615bbfcdf7ad3..6a4b3f6ccc9d237a48bf337067e3bc83e45f768a 100644 (file)
--- a/common.mk
+++ b/common.mk
@@ -1,76 +1,62 @@
-.PHONY: doc
+GO ?= go
+PREFIX ?= /usr/local
 
 SENDMAIL ?= /usr/sbin/sendmail
-PREFIX ?= /usr/local
-CFGPATH ?= $(PREFIX)/etc/nncp.yaml
+CFGPATH ?= $(PREFIX)/etc/nncp.hjson
+SPOOLPATH ?= /var/spool/nncp
+LOGPATH ?= /var/spool/nncp/log
+
 BINDIR = $(DESTDIR)$(PREFIX)/bin
 INFODIR = $(DESTDIR)$(PREFIX)/info
 DOCDIR = $(DESTDIR)$(PREFIX)/share/doc/nncp
-LDFLAGS = \
-       -X cypherpunks.ru/nncp.Version=$(VERSION) \
-       -X cypherpunks.ru/nncp.DefaultCfgPath=$(CFGPATH) \
-       -X cypherpunks.ru/nncp.DefaultSendmailPath=$(SENDMAIL)
-ALL = \
-       nncp-mail \
-       nncp-call \
-       nncp-caller \
-       nncp-check \
-       nncp-daemon \
-       nncp-file \
-       nncp-freq \
-       nncp-log \
-       nncp-newnode \
-       nncp-pkt \
-       nncp-stat \
-       nncp-toss \
-       nncp-xfer
-
-all: $(ALL)
-
-nncp-call:
-       GOPATH=$(GOPATH) go build -ldflags "$(LDFLAGS)" cypherpunks.ru/nncp/cmd/nncp-call
-
-nncp-caller:
-       GOPATH=$(GOPATH) go build -ldflags "$(LDFLAGS)" cypherpunks.ru/nncp/cmd/nncp-caller
-
-nncp-check:
-       GOPATH=$(GOPATH) go build -ldflags "$(LDFLAGS)" cypherpunks.ru/nncp/cmd/nncp-check
 
-nncp-daemon:
-       GOPATH=$(GOPATH) go build -ldflags "$(LDFLAGS)" cypherpunks.ru/nncp/cmd/nncp-daemon
+MOD = go.cypherpunks.ru/nncp/v5
 
-nncp-file:
-       GOPATH=$(GOPATH) go build -ldflags "$(LDFLAGS)" cypherpunks.ru/nncp/cmd/nncp-file
-
-nncp-freq:
-       GOPATH=$(GOPATH) go build -ldflags "$(LDFLAGS)" cypherpunks.ru/nncp/cmd/nncp-freq
-
-nncp-log:
-       GOPATH=$(GOPATH) go build -ldflags "$(LDFLAGS)" cypherpunks.ru/nncp/cmd/nncp-log
-
-nncp-mail:
-       GOPATH=$(GOPATH) go build -ldflags "$(LDFLAGS)" cypherpunks.ru/nncp/cmd/nncp-mail
-
-nncp-newnode:
-       GOPATH=$(GOPATH) go build -ldflags "$(LDFLAGS)" cypherpunks.ru/nncp/cmd/nncp-newnode
-
-nncp-pkt:
-       GOPATH=$(GOPATH) go build -ldflags "$(LDFLAGS)" cypherpunks.ru/nncp/cmd/nncp-pkt
+LDFLAGS = \
+       -X $(MOD).Version=$(VERSION) \
+       -X $(MOD).DefaultCfgPath=$(CFGPATH) \
+       -X $(MOD).DefaultSendmailPath=$(SENDMAIL) \
+       -X $(MOD).DefaultSpoolPath=$(SPOOLPATH) \
+       -X $(MOD).DefaultLogPath=$(LOGPATH)
 
-nncp-stat:
-       GOPATH=$(GOPATH) go build -ldflags "$(LDFLAGS)" cypherpunks.ru/nncp/cmd/nncp-stat
+ALL = \
+       $(BIN)/nncp-bundle \
+       $(BIN)/nncp-call \
+       $(BIN)/nncp-caller \
+       $(BIN)/nncp-cfgenc \
+       $(BIN)/nncp-cfgmin \
+       $(BIN)/nncp-cfgnew \
+       $(BIN)/nncp-check \
+       $(BIN)/nncp-daemon \
+       $(BIN)/nncp-exec \
+       $(BIN)/nncp-file \
+       $(BIN)/nncp-freq \
+       $(BIN)/nncp-log \
+       $(BIN)/nncp-pkt \
+       $(BIN)/nncp-reass \
+       $(BIN)/nncp-rm \
+       $(BIN)/nncp-stat \
+       $(BIN)/nncp-toss \
+       $(BIN)/nncp-xfer
+
+SRC := $(PWD)/src
+BIN := $(PWD)/bin
 
-nncp-toss:
-       GOPATH=$(GOPATH) go build -ldflags "$(LDFLAGS)" cypherpunks.ru/nncp/cmd/nncp-toss
+all: $(ALL)
 
-nncp-xfer:
-       GOPATH=$(GOPATH) go build -ldflags "$(LDFLAGS)" cypherpunks.ru/nncp/cmd/nncp-xfer
+$(ALL):
+       mkdir -p $(BIN)
+       cd $(SRC) ; GOPATH=$(GOPATH) $(GO) build -ldflags "$(LDFLAGS)" \
+               $(MOD)/cmd/$$(basename $@)
+       mv $(SRC)/$$(basename $@) $(BIN)
 
 test:
-       GOPATH=$(GOPATH) go test cypherpunks.ru/nncp/...
+       cd $(SRC) ; GOPATH=$(GOPATH) $(GO) test -failfast $(MOD)/...
 
 clean:
-       rm -f $(ALL)
+       rm -rf $(BIN)
+
+.PHONY: doc
 
 doc:
        $(MAKE) -C doc
@@ -78,13 +64,13 @@ doc:
 install: all doc
        mkdir -p $(BINDIR)
        cp -f $(ALL) $(BINDIR)
-       for e in $(ALL) ; do chmod 755 $(BINDIR)/$$e ; done
+       for e in $(ALL) ; do chmod 755 $(BINDIR)/$$(basename $$e) ; done
        mkdir -p $(INFODIR)
        cp -f doc/nncp.info $(INFODIR)
        chmod 644 $(INFODIR)/nncp.info
        mkdir -p $(DOCDIR)
-       cp -f -L AUTHORS NEWS README THANKS $(DOCDIR)
+       cp -f -L AUTHORS NEWS NEWS.RU README README.RU THANKS $(DOCDIR)
        chmod 644 $(DOCDIR)/*
 
 install-strip: install
-       for e in $(ALL) ; do strip $(BINDIR)/$$e ; done
+       for e in $(ALL) ; do strip $(BINDIR)/$$(basename $$e) ; done