github.com/chrislusf/greenpack@v3.7.1-0.20170911073826-ad5bd10b7c47+incompatible/Makefile (about)

     1  
     2  # NOTE: This Makefile is only necessary if you 
     3  # plan on developing the msgp tool and library.
     4  # Installation can still be performed with a
     5  # normal `go install`.
     6  
     7  
     8  # generated integration test files
     9  GGEN = ./_generated/generated.go ./_generated/generated_test.go
    10  # generated unit test files
    11  
    12  MGEN = ./msgp/defgen_test.go ./msgp/nestedgen_test.go
    13  
    14  # generated green layer above msgp
    15  ZGEN = ./green/green_gen.go
    16  
    17  SHELL := /bin/bash
    18  
    19  BIN = $(GOBIN)/greenpack
    20  
    21  .PHONY: clean wipe install get-deps bench all dev
    22  
    23  dev: clean install test
    24  
    25  $(BIN): */*.go *.go
    26  	@go install && (cd ./cmd/addzid && make)
    27  
    28  install:
    29  	/bin/echo "package main" > gitcommit.go
    30  	/bin/echo "func init() { LAST_GIT_COMMIT_HASH = \"$(shell git rev-parse HEAD)\"; NEAREST_GIT_TAG= \"$(shell git describe --abbrev=0 --tags)\"; GIT_BRANCH=\"$(shell git rev-parse --abbrev-ref  HEAD)\"; GO_VERSION=\"$(shell go version)\";}" >> gitcommit.go
    31  	go install  && (cd ./cmd/addzid && make)
    32  
    33  $(GGEN): ./_generated/def.go
    34  	go generate ./_generated
    35  
    36  $(MGEN): ./msgp/defs_test.go
    37  	go generate ./msgp
    38  
    39  $(ZGEN): ./green/green.go
    40  	go install
    41  	go generate ./green
    42  
    43  test: all
    44  	go test -v ./parse
    45  	go test -v ./msgp
    46  	go test -v ./_generated
    47  	go test -v ./green
    48  	# and test addzid
    49  	go test -v ./cmd/addzid
    50  	# build and run on testdata/
    51  	go build -o ./greenpack
    52  	cd testdata && go generate && go test -v
    53  	./greenpack -file testdata/my.go && go test -v ./testdata/my_gen_test.go ./testdata/my.go ./testdata/my_gen.go
    54  	./greenpack -file testdata/my.go -o testdata/my_msgp_gen.go -method-prefix=MSGP -tests=false -io=false # test the -method-prefix flag
    55  
    56  
    57  bench: all
    58  	go test -bench . ./msgp
    59  	go test -bench . ./_generated
    60  
    61  clean:
    62  	$(RM) $(GGEN) $(MGEN) ./greenpack
    63  
    64  wipe: clean
    65  	$(RM) $(BIN)
    66  
    67  get-deps:
    68  	go get -d -t ./...
    69  
    70  all: install $(GGEN) $(MGEN) $(ZGEN)
    71  
    72  # travis CI enters here
    73  travis:
    74  	go get -d -t ./...
    75  	go build -o "$${GOPATH%%:*}/bin/msgp" .
    76  	go generate ./msgp
    77  	go generate ./_generated
    78  	go test ./msgp
    79  	go test ./_generated