initial add
deleting bin/cert
adding license info
tweaking packages to match go standard conventions
updating to match tweaked package names
Change-Id: I78b395a778c0ceb649e2aa4491c81fd3dc28d0c0
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..b41c5d9
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,68 @@
+#
+# Copyright 2017 the original author or authors.
+#
+# 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.
+#
+
+SERVER_OUT := "bin/AbstractOLT"
+CLIENT_OUT := "bin/client"
+API_OUT := "api/abstract_olt_api.pb.go"
+API_REST_OUT := "api/abstract_olt_api.pb.gw.go"
+SWAGGER_OUT := "api/abstract_olt_api.swagger.json"
+PKG := "gerrit.opencord.org/abstract-olt"
+SERVER_PKG_BUILD := "${PKG}/cmd/AbstractOLT"
+CLIENT_PKG_BUILD := "${PKG}/client"
+PKG_LIST := $(shell go list ${PKG}/... | grep -v /vendor/)
+
+
+.PHONY: all api server client
+
+all: server client
+
+api/abstract_olt_api.pb.go:
+ @protoc -I api/ \
+ -I${GOPATH}/src \
+ -I${GOPATH}/src/github.com/grpc-ecosystem/grpc-gateway/third_party/googleapis \
+ --go_out=plugins=grpc:api \
+ api/abstract_olt_api.proto
+
+api/abstract_olt_api.pb.gw.go :
+ @protoc -I api/ \
+ -I${GOPATH}/src \
+ -I${GOPATH}/src/github.com/grpc-ecosystem/grpc-gateway/third_party/googleapis \
+ --grpc-gateway_out=logtostderr=true:api \
+ api/abstract_olt_api.proto
+
+swagger:
+ protoc -I api/ \
+ -I${GOPATH}/src \
+ -I${GOPATH}/src/github.com/grpc-ecosystem/grpc-gateway/third_party/googleapis \
+ --swagger_out=logtostderr=true:api \
+ api/abstract_olt_api.proto
+
+api: api/abstract_olt_api.pb.go api/abstract_olt_api.pb.gw.go swagger
+
+dep: ## Get the dependencies
+ @go get -v -d ./...
+
+server: dep api ## Build the binary file for server
+ @go build -i -v -o $(SERVER_OUT) $(SERVER_PKG_BUILD)
+
+client: dep api ## Build the binary file for client
+ @go build -i -v -o $(CLIENT_OUT) $(CLIENT_PKG_BUILD)
+
+clean: ## Remove previous builds
+ @rm $(SERVER_OUT) $(CLIENT_OUT) $(API_OUT) $(API_REST_OUT) $(SWAGGER_OUT)
+
+help: ## Display this help screen
+ @grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'