First version,
OLT is activated and enabled.
ONU are in discovery state, OMCI state machine is still missing.

Change-Id: I6dddd4fd3460ee73b44226a546318acb2545d64d
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..199d28c
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,70 @@
+# Copyright 2019-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.
+
+VERSION     ?= $(shell cat ./VERSION)
+
+## Docker related
+DOCKER_TAG  			?= ${VERSION}
+DOCKER_REPOSITORY  		?= voltha/
+DOCKER_REGISTRY 		?= ""
+DOCKER_BUILD_ARGS       ?=
+
+## Docker labels. Only set ref and commit date if committed
+DOCKER_LABEL_VCS_URL     ?= $(shell git remote get-url $(shell git remote))
+DOCKER_LABEL_VCS_REF     ?= $(shell git diff-index --quiet HEAD -- && git rev-parse HEAD || echo "unknown")
+DOCKER_LABEL_COMMIT_DATE ?= $(shell git diff-index --quiet HEAD -- && git show -s --format=%cd --date=iso-strict HEAD || echo "unknown" )
+DOCKER_LABEL_BUILD_DATE  ?= $(shell date -u "+%Y-%m-%dT%H:%M:%SZ")
+
+# Public targets
+
+all: help
+
+protos: api/openolt.pb.go # @HELP Build proto files
+
+build: protos # @HELP Build the binary
+	GO111MODULE=on go build -i -v -o ./cmd/bbsim ./internal/bbsim
+
+test: protos # @HELP Execute unit tests
+	GO111MODULE=on go test ./internal/bbsim
+
+docker-build:
+	docker build -t ${DOCKER_REGISTRY}${DOCKER_REPOSITORY}bbsim:${DOCKER_TAG} -f build/package/Dockerfile .
+
+docker-push:
+	docker push ${DOCKER_REGISTRY}${DOCKER_REPOSITORY}bbsim:${DOCKER_TAG}
+
+help: # @HELP Print the command options
+	@echo
+	@echo "\033[0;31m    BroadBand Simulator (BBSim) \033[0m"
+	@echo
+	@echo Emulates the control plane of an openolt compatible device
+	@echo Useful for development and scale testing
+	@echo
+	@grep -E '^.*: .* *# *@HELP' $(MAKEFILE_LIST) \
+    | sort \
+    | awk ' \
+        BEGIN {FS = ": .* *# *@HELP"}; \
+        {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}; \
+    '
+
+
+# Internals
+
+api/openolt.pb.go: api/openolt.proto
+	@protoc -I . \
+    	-I${GOPATH}/src \
+    	-I${GOPATH}/src/github.com/grpc-ecosystem/grpc-gateway/third_party/googleapis \
+    	--go_out=plugins=grpc:./ \
+    	$<
+