]> Cypherpunks.ru repositories - nncp.git/blobdiff - common.mk
go.mod support
[nncp.git] / common.mk
index 327f8dfff34ca607685ca0e3db9e22fe4a2765bc..602d754be0f7f9fabb8e0b00fe15f466e3db9884 100644 (file)
--- a/common.mk
+++ b/common.mk
@@ -1,4 +1,5 @@
 PREFIX ?= /usr/local
+GO ?= go
 
 SENDMAIL ?= /usr/sbin/sendmail
 CFGPATH ?= $(PREFIX)/etc/nncp.yaml
@@ -15,8 +16,10 @@ LDFLAGS = \
        -X cypherpunks.ru/nncp.DefaultSendmailPath=$(SENDMAIL) \
        -X cypherpunks.ru/nncp.DefaultSpoolPath=$(SPOOLPATH) \
        -X cypherpunks.ru/nncp.DefaultLogPath=$(LOGPATH)
+BUILDMOD ?= -mod=vendor
 
 ALL = \
+       nncp-bundle \
        nncp-call \
        nncp-caller \
        nncp-cfgenc \
@@ -24,10 +27,10 @@ ALL = \
        nncp-cfgnew \
        nncp-check \
        nncp-daemon \
+       nncp-exec \
        nncp-file \
        nncp-freq \
        nncp-log \
-       nncp-mail \
        nncp-pkt \
        nncp-reass \
        nncp-rm \
@@ -35,64 +38,24 @@ ALL = \
        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-cfgenc:
-       GOPATH=$(GOPATH) go build -ldflags "$(LDFLAGS)" cypherpunks.ru/nncp/cmd/nncp-cfgenc
-
-nncp-cfgmin:
-       GOPATH=$(GOPATH) go build -ldflags "$(LDFLAGS)" cypherpunks.ru/nncp/cmd/nncp-cfgmin
-
-nncp-cfgnew:
-       GOPATH=$(GOPATH) go build -ldflags "$(LDFLAGS)" cypherpunks.ru/nncp/cmd/nncp-cfgnew
-
-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
+SRC := $(PWD)/src/cypherpunks.ru/nncp
+BIN := $(PWD)/bin
+GOPATH ?= $(PWD)/gopath
 
-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-pkt:
-       GOPATH=$(GOPATH) go build -ldflags "$(LDFLAGS)" cypherpunks.ru/nncp/cmd/nncp-pkt
-
-nncp-reass:
-       GOPATH=$(GOPATH) go build -ldflags "$(LDFLAGS)" cypherpunks.ru/nncp/cmd/nncp-reass
-
-nncp-rm:
-       GOPATH=$(GOPATH) go build -ldflags "$(LDFLAGS)" cypherpunks.ru/nncp/cmd/nncp-rm
-
-nncp-stat:
-       GOPATH=$(GOPATH) go build -ldflags "$(LDFLAGS)" cypherpunks.ru/nncp/cmd/nncp-stat
+all: $(ALL)
 
-nncp-toss:
-       GOPATH=$(GOPATH) go build -ldflags "$(LDFLAGS)" cypherpunks.ru/nncp/cmd/nncp-toss
+$(BIN):
+       mkdir -p $(BIN)
 
-nncp-xfer:
-       GOPATH=$(GOPATH) go build -ldflags "$(LDFLAGS)" cypherpunks.ru/nncp/cmd/nncp-xfer
+$(ALL): $(BIN)
+       cd $(SRC) ; GOPATH=$(GOPATH) $(GO) build $(BUILDMOD) -ldflags "$(LDFLAGS)" cypherpunks.ru/nncp/cmd/$@
+       mv $(SRC)/$@ $(BIN)
 
 test:
-       GOPATH=$(GOPATH) go test cypherpunks.ru/nncp/...
+       cd $(SRC) ; GOPATH=$(GOPATH) $(GO) test $(BUILDMOD) -failfast cypherpunks.ru/nncp/...
 
 clean:
-       rm -f $(ALL)
+       rm -rf bin
 
 .PHONY: doc
 
@@ -101,7 +64,7 @@ doc:
 
 install: all doc
        mkdir -p $(BINDIR)
-       cp -f $(ALL) $(BINDIR)
+       (cd bin ; cp -f $(ALL) $(BINDIR))
        for e in $(ALL) ; do chmod 755 $(BINDIR)/$$e ; done
        mkdir -p $(INFODIR)
        cp -f doc/nncp.info $(INFODIR)