blob: ba791e919ff363c5b3ced0e5fb7d82612ad45f10 [file] [log] [blame]
Zack Williams86f87202018-10-05 10:36:32 -07001# Copyright 2018-present Open Networking Foundation
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7# http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
15BBSIM_DEPS = $(wildcard ./*.go)
16DOCKERTAG ?= "latest"
Matteo Scandolo88e91892018-11-06 16:29:19 -080017REGISTRY ?= ""
Zack Williams86f87202018-10-05 10:36:32 -070018
19.PHONY: dep test clean docker
20
Shad Ansari573dfb82018-11-12 21:51:00 -080021prereq:
22 go get -u google.golang.org/grpc
23 go get -v github.com/grpc-ecosystem/grpc-gateway/protoc-gen-grpc-gateway
24 go get -v github.com/golang/protobuf/protoc-gen-go
25 go get -v github.com/google/gopacket
26
27bbsim: prereq protos/openolt.pb.go dep
Zack Williams86f87202018-10-05 10:36:32 -070028 go build -i -v -o $@
29
Keita NISHIMOTO3b8b9c02018-10-09 09:40:01 +090030dep: protos/openolt.pb.go
Keita NISHIMOTOca4da5f2018-10-15 22:48:52 +090031 go get -v -d ./...
Zack Williams86f87202018-10-05 10:36:32 -070032
Keita NISHIMOTO3b8b9c02018-10-09 09:40:01 +090033protos/openolt.pb.go: openolt.proto
Zack Williams86f87202018-10-05 10:36:32 -070034 @protoc -I . \
35 -I${GOPATH}/src \
36 -I${GOPATH}/src/github.com/grpc-ecosystem/grpc-gateway/third_party/googleapis \
Keita NISHIMOTO3b8b9c02018-10-09 09:40:01 +090037 --go_out=plugins=grpc:protos/ \
Keita NISHIMOTOca4da5f2018-10-15 22:48:52 +090038 $<
Zack Williams86f87202018-10-05 10:36:32 -070039
40test:
Keita NISHIMOTOca4da5f2018-10-15 22:48:52 +090041 go test -v ./...
42 go test -v ./... -cover
43
44fmt:
45 go fmt ./...
46
47vet:
48 go vet ./...
49
50lint:
51 gometalinter --vendor --exclude ../../golang.org --skip protos --sort path --sort line ./...
Zack Williams86f87202018-10-05 10:36:32 -070052
53clean:
Keita NISHIMOTOca4da5f2018-10-15 22:48:52 +090054 rm -f bbsim openolt/openolt.pb.go
Zack Williams86f87202018-10-05 10:36:32 -070055
56docker:
Matteo Scandolo88e91892018-11-06 16:29:19 -080057 docker build -t ${REGISTRY}voltha/voltha-bbsim:${DOCKERTAG} .