VOL-2178: OpenOLT Version and BAL version are not consistently built
          into the openolt binary.

- Force a rebuild of common/main.cc file everytime openolt is built.
  This file has logic to read the GIT VCS information and storing it into
  the binary. So, it needs to be rebuilt everytime.
- Update README.md with more details about how the bandwidthprofile in
  ONOS netcfg has to be configured in relation to additional_dw indicator
  in TechnologyProfile.

Change-Id: Ie129023e794c4a56b0fce80f3ad0ca5fb6c5aa0f
diff --git a/agent/Makefile.in b/agent/Makefile.in
index cee6f34..1eb602a 100644
--- a/agent/Makefile.in
+++ b/agent/Makefile.in
@@ -218,6 +218,14 @@
 ##        common
 ##
 ##
+
+# A hack to force a re-build of common/main.cc everytime.
+# This is needed to bake in the git VCS information in the openolt binary
+# at the time of building the openolt package.
+common/main.o: .FORCE
+.FORCE:
+	$(CXX) $(CXXFLAGS) $(CPPFLAGS) -I./common -c  common/main.cc -o common/main.o
+
 common/%.o: common/%.cc
 	$(CXX) $(CXXFLAGS) $(CPPFLAGS) -I./common -c $< -o $@
 
@@ -321,4 +329,4 @@
 distclean: clean-src clean
 	@rm -rf $(BUILD_DIR)
 
-.PHONY: onl sdk bal protos prereq sim
+.PHONY: onl sdk bal protos prereq sim .FORCE