X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=Makefile;h=c4b742e2c18f956424777916ffb7bbace531ae78;hb=e6cca4bfd215aba51d58bf0bb046c16c081e42a3;hp=70f1f452f218e66bac60a391ec9c805c8fb4919a;hpb=c38cb25d746736f062ee16e87f553c8a4ec5fced;p=govpp.git diff --git a/Makefile b/Makefile index 70f1f45..c4b742e 100644 --- a/Makefile +++ b/Makefile @@ -1,24 +1,66 @@ +VERSION ?= $(shell git describe --always --tags --dirty) + +BINAPI_DIR ?= $(shell cd examples/bin_api && pwd) +VPP_VERSION := $(shell apt-cache show vpp | grep Version: | cut -d' ' -f2-) + +all: test build examples + +install: + @echo "=> installing binapi generator ${VERSION}" + go install ./cmd/binapi-generator + build: - @cd cmd/binapi-generator && go build -v - @cd examples && go build -v + @echo "=> building binapi generator ${VERSION}" + cd cmd/binapi-generator && go build -v + +examples: + @echo "=> building examples" + cd examples/simple-client && go build -v + cd examples/stats-api && go build -v + cd examples/perf-bench && go build -v + cd examples/union-example && go build -v test: - @cd cmd/binapi-generator && go test -cover . - @cd api && go test -cover ./... - @cd core && go test -cover . + @echo "=> running tests" + go test -cover ./cmd/... + go test -cover ./ ./adapter ./core ./api ./codec -install: - @cd cmd/binapi-generator && go install -v +extras: + @echo "=> building extras" + cd extras/libmemif/examples/gopacket && go build -v + cd extras/libmemif/examples/icmp-responder && go build -v + cd extras/libmemif/examples/jumbo-frames && go build -v + cd extras/libmemif/examples/raw-data && go build -v clean: - @rm cmd/binapi-generator/binapi-generator - @rm examples/examples + @echo "=> cleaning" + rm -f cmd/binapi-generator/binapi-generator + rm -f examples/perf-bench/perf-bench + rm -f examples/simple-client/simple-client + rm -f examples/stats-api/stats-api + rm -f examples/union-example/union-example + rm -f extras/libmemif/examples/gopacket/gopacket + rm -f extras/libmemif/examples/icmp-responder/icmp-responder + rm -f extras/libmemif/examples/jumbo-frames/jumbo-frames + rm -f extras/libmemif/examples/raw-data/raw-data + +generate-binapi: + @echo "=> generating binapi" + @go generate "${BINAPI_DIR}" + +generate: install + @echo "=> generating code" + cd examples && go generate ./... -generate: - @cd core && go generate ./... - @cd examples && go generate ./... +update-vppapi: + @echo "=> updating API JSON files using installed VPP ${VPP_VERSION}" + @cd ${BINAPI_DIR} && find . -type f -name '*.api.json' -exec cp /usr/share/vpp/api/'{}' '{}' \; + @echo ${VPP_VERSION} > ${BINAPI_DIR}/VPP_VERSION lint: + @echo "=> running linter" @golint ./... | grep -v vendor | grep -v bin_api || true -.PHONY: build test install clean generate +.PHONY: all \ + install build examples test \ + extras clean generate lint