Add Dockerfile and make-based tooling

Change-Id: I6471c3bc2040a0a9c9c49b45beee6fcd11c77a3c
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..0ec079c
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,42 @@
+# Copyright 2018-present Open Networking Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+BBSIM_DEPS  = $(wildcard ./*.go)
+DOCKERTAG  ?= "latest"
+
+.PHONY: dep test clean docker
+
+bbsim: $(BBSIM_DEPS) openolt/openolt.pb.go dep
+	go build -i -v -o $@
+
+dep: openolt/openolt.pb.go
+	@go get -v -d ./...
+
+openolt/openolt.pb.go: openolt.proto
+	@protoc -I . \
+	-I${GOPATH}/src \
+	-I${GOPATH}/src/github.com/grpc-ecosystem/grpc-gateway/third_party/googleapis \
+	--go_out=plugins=grpc:openolt \
+	$<
+
+test:
+	@go test -v ./...
+	@go test -v ./... -cover
+
+clean:
+	@rm bbsim openolt/openolt.pb.go
+
+docker:
+	@docker build -t voltha/voltha-bbsim:${DOCKERTAG} .
+