X-Git-Url: https://gerrit.fd.io/r/gitweb?p=govpp.git;a=blobdiff_plain;f=Makefile;h=c4b742e2c18f956424777916ffb7bbace531ae78;hp=93cd0529445ac6739f1f3967e3a59f5a2c0bf57b;hb=e6cca4bfd215aba51d58bf0bb046c16c081e42a3;hpb=982b8703a757e5a91aa6451fd26593a065f8a452 diff --git a/Makefile b/Makefile index 93cd052..c4b742e 100644 --- a/Makefile +++ b/Makefile @@ -1,28 +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/cmd/simple-client && go build -v - @cd examples/cmd/stats-client && go build -v - @cd examples/cmd/perf-bench && 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 -f cmd/binapi-generator/binapi-generator - @rm -f examples/cmd/simple-client/simple-client - @rm -f examples/cmd/stats-client/stats-client - @rm -f examples/cmd/perf-bench/perf-bench + @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