github.com/nsqio/nsq@v1.3.0/Makefile (about)

     1  PREFIX=/usr/local
     2  BINDIR=${PREFIX}/bin
     3  DESTDIR=
     4  BLDDIR = build
     5  BLDFLAGS=
     6  EXT=
     7  ifeq (${GOOS},windows)
     8      EXT=.exe
     9  endif
    10  
    11  APPS = nsqd nsqlookupd nsqadmin nsq_to_nsq nsq_to_file nsq_to_http nsq_tail nsq_stat to_nsq
    12  all: $(APPS)
    13  
    14  $(BLDDIR)/nsqd:        $(wildcard apps/nsqd/*.go       nsqd/*.go       nsq/*.go internal/*/*.go)
    15  $(BLDDIR)/nsqlookupd:  $(wildcard apps/nsqlookupd/*.go nsqlookupd/*.go nsq/*.go internal/*/*.go)
    16  $(BLDDIR)/nsqadmin:    $(wildcard apps/nsqadmin/*.go   nsqadmin/*.go nsqadmin/templates/*.go internal/*/*.go)
    17  $(BLDDIR)/nsq_to_nsq:  $(wildcard apps/nsq_to_nsq/*.go  nsq/*.go internal/*/*.go)
    18  $(BLDDIR)/nsq_to_file: $(wildcard apps/nsq_to_file/*.go nsq/*.go internal/*/*.go)
    19  $(BLDDIR)/nsq_to_http: $(wildcard apps/nsq_to_http/*.go nsq/*.go internal/*/*.go)
    20  $(BLDDIR)/nsq_tail:    $(wildcard apps/nsq_tail/*.go    nsq/*.go internal/*/*.go)
    21  $(BLDDIR)/nsq_stat:    $(wildcard apps/nsq_stat/*.go             internal/*/*.go)
    22  $(BLDDIR)/to_nsq:      $(wildcard apps/to_nsq/*.go               internal/*/*.go)
    23  
    24  $(BLDDIR)/%:
    25  	@mkdir -p $(dir $@)
    26  	go build ${BLDFLAGS} -o $@ ./apps/$*
    27  
    28  $(APPS): %: $(BLDDIR)/%
    29  
    30  clean:
    31  	rm -fr $(BLDDIR)
    32  
    33  .PHONY: install clean all
    34  .PHONY: $(APPS)
    35  
    36  install: $(APPS)
    37  	install -m 755 -d ${DESTDIR}${BINDIR}
    38  	for APP in $^ ; do install -m 755 ${BLDDIR}/$$APP ${DESTDIR}${BINDIR}/$$APP${EXT} ; done