X-Git-Url: http://www.git.cypherpunks.ru/?a=blobdiff_plain;f=Makefile;fp=Makefile;h=46ddcf098f5fa750c69ecf538eee0b1cca063dc7;hb=b120877e6282de3a7573d0ff33ff77de7766961e;hp=0000000000000000000000000000000000000000;hpb=af6c4f9ee3597c29c01793407c3be250ea91de50;p=nncp.git diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..46ddcf0 --- /dev/null +++ b/Makefile @@ -0,0 +1,79 @@ +GOPATH != pwd +VERSION != cat VERSION + +GO ?= go +PREFIX ?= /usr/local + +SENDMAIL ?= /usr/sbin/sendmail +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 + +MOD = go.cypherpunks.ru/nncp/v5 + +LDFLAGS = \ + -X $(MOD).Version=$(VERSION) \ + -X $(MOD).DefaultCfgPath=$(CFGPATH) \ + -X $(MOD).DefaultSendmailPath=$(SENDMAIL) \ + -X $(MOD).DefaultSpoolPath=$(SPOOLPATH) \ + -X $(MOD).DefaultLogPath=$(LOGPATH) + +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 + +all: $(ALL) + +$(ALL): + mkdir -p $(BIN) + cd $(SRC) ; GOPATH=$(GOPATH) $(GO) build -ldflags "$(LDFLAGS)" \ + $(MOD)/cmd/$$(basename $@) + mv $(SRC)/$$(basename $@) $(BIN) + +test: + cd $(SRC) ; GOPATH=$(GOPATH) $(GO) test -failfast $(MOD)/... + +clean: + rm -rf $(BIN) + +.PHONY: doc + +doc: + $(MAKE) -C doc + +install: all doc + mkdir -p $(BINDIR) + cp -f $(ALL) $(BINDIR) + 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 NEWS.RU README README.RU THANKS $(DOCDIR) + chmod 644 $(DOCDIR)/* + +install-strip: install + for e in $(ALL) ; do strip $(BINDIR)/$$(basename $$e) ; done