BAL and Maple Release 2.2

Signed-off-by: Shad Ansari <developer@Carbon.local>
diff --git a/bcm68620_release/release/Makefile b/bcm68620_release/release/Makefile
new file mode 100644
index 0000000..29a26ef
--- /dev/null
+++ b/bcm68620_release/release/Makefile
@@ -0,0 +1,166 @@
+# Central Makefile
+#
+PLATFORM ?= maple
+TOP_DIR=$(shell pwd)
+export PLATFORM
+export TOP_DIR
+
+ifeq ("$(PLATFORM)", "maple")
+    DEVICE=bcm68620
+    export DEVICE
+else
+    $(error Set DEVICE for $(PLATFORM))
+endif
+
+MAKE_DIR=$(TOP_DIR)/make
+MAKE_DEVICE_DIR=$(MAKE_DIR)/$(DEVICE)
+export MAKE_DIR
+export MAKE_DEVICE_DIR
+
+include $(MAKE_DIR)/Makefile.initial_config
+OUT_DIR          ?= $(TOP_DIR)/build
+OUT_DOCS_DIR	 ?= $(OUT_DIR)/doc
+
+# Identify whether it is customer or development build
+EMB_MODULE_LIST=$(realpath $(MAKE_DEVICE_DIR)/modules.embedded)
+ifeq ("$(EMB_MODULE_LIST)", "")
+    RELEASE_BUILD=y
+    export RELEASE_BUILD
+    USE_LINT=n
+    export USE_LINT
+    OUT_HOST_DIR 	 ?= $(OUT_DIR)
+    COPY_FS_SH		 = $(TOP_DIR)/make/copy_host_fs.sh 
+else
+    OUT_HOST_DIR 	 ?= $(OUT_DIR)/$(PLATFORM)/host
+    OUT_EMBEDDED_DIR ?= $(OUT_DIR)/$(PLATFORM)/embedded
+    COPY_FS_SH		 = $(TOP_DIR)/scripts/copy_host_fs.sh 
+    export OUT_EMBEDDED_DIR
+endif
+
+ifneq ("$(BOARD)", "")
+    COPY_HOST_FS_CMD = $(SILENT_BUILD)$(COPY_FS_SH) TOP_DIR=$(TOP_DIR) OUT_HOST_DIR=$(OUT_HOST_DIR)
+endif
+
+export OUT_HOST_DIR
+export OUT_DOCS_DIR
+
+# List of all modules, all library modules and all application modules
+export ALL_MODULES
+export ALL_LIB_MODULES
+export ALL_APP_MODULES
+
+# Current board
+export BOARD
+
+V ?= 0
+ifeq (x"$(V)", x"0")
+	SILENT = -s
+	export SILENT
+	SILENT_BUILD=@
+endif
+
+ifeq ("$(RELEASE_BUILD)", "y")
+all: build_host
+else
+all: build_host build_embedded
+endif
+	$(COPY_HOST_FS_CMD)
+	@echo --- All done ---    
+
+copy_host_fs:
+	$(COPY_HOST_FS_CMD)
+
+ifeq ("$(RELEASE_BUILD)", "y")
+clean: clean_host
+else
+clean: clean_host clean_embedded
+endif
+	rm -fr $(OUT_DIR)
+
+help_general:
+	@echo "make parameters:"
+	@echo "   PLATFORM          - platform to perform the build for. The default platform is $$PLATFORM"
+	@echo "                       Supported platforms are: maple"
+	@echo "   BOARD             - TBD board"
+	@echo "   ENABLE_EPON       - Include EPON/10GEPON support. Default =y, unless overwritten in platform configuration"
+	@echo "   ENABLE_GPON       - Include GPON support. Default =y, unless overwritten in platform configuration"
+	@echo "   ENABLE_XGPON      - Include XGPON support. Default =y, unless overwritten in platform configuration"
+	@echo "   V=<output_level>  - =1-verbose command output, =2-makefile debug output"
+	@echo "   GEN_OBJTAGS       - Low-level option. OBGTAGS to be passed to code generator"
+	@echo "   EXTRA_TYPES       - Low-level option. Space-delimited list of extra types without bcmolt_ prefix"
+	@echo "   ENABLE_CLI        - =n-exclude CLI support. Included by default"
+	@echo "   ENABLE_LOG        - =n-exclude dev_log support. Included by default"
+	@echo "make targets:"
+	@echo "   all               - build everything for the PLATFORM. This is the default target"
+	@echo "   host              - build PLATFORM's host side"
+	@echo "   embedded          - build PLATFORM's embedded side"
+	@echo "   clean             - clean everything for the PLATFORM"
+	@echo "   clean_host        - clean PLATFORM's host side"
+	@echo "   clean_embedded    - clean PLATFORM's embedded side"
+	@echo "   docs              - generate reference document in html format"
+	@echo "   docs_pdf          - generate reference document in pdf format"
+	@echo "   drivers           - generate librdb, ru_gen and hal_generator driver layers"
+	@echo "   clean_drivers     - clean librdb, ru_gen and hal_generator"
+
+
+ifeq ("$(RELEASE_BUILD)", "y")
+help: help_general help_host
+else
+help: help_general help_host help_embedded
+endif
+	
+docs: docs_host
+	
+docs_host:
+	$(SILENT_BUILD)$(MAKE) SUBSYSTEM=host -f $(MAKE_DIR)/Makefile.main $@
+
+docs_pdf: docs
+	$(SILENT_BUILD)$(MAKE) -C $(OUT_DOCS_DIR)/latex
+
+docs_clean:
+	$(SILENT_BUILD)$(BOLD_PRINT) "Cleaning docs"
+	$(SILENT_BUILD)rm -fr $(OUT_DOCS_DIR)
+
+clobber: clean docs_clean
+
+host: build_host
+	$(COPY_HOST_FS_CMD)
+
+clean_host:
+	$(SILENT_BUILD)rm -fr $(OUT_HOST_DIR)
+	$(SILENT_BUILD)$(MAKE) $(SILENT) SUBSYSTEM=host -f $(MAKE_DIR)/Makefile.main $@
+
+%_host:
+	$(SILENT_BUILD)$(MAKE) $(SILENT) SUBSYSTEM=host -f $(MAKE_DIR)/Makefile.main $@
+
+ifneq ("$(RELEASE_BUILD)", "y")
+embedded: build_embedded
+	$(COPY_HOST_FS_CMD)
+	
+clean_embedded:
+	$(SILENT_BUILD)rm -fr $(OUT_EMBEDDED_DIR)
+	$(SILENT_BUILD)$(MAKE) $(SILENT) SUBSYSTEM=embedded -f $(MAKE_DIR)/Makefile.main $@
+
+docs_embedded:
+
+%_embedded:
+	$(SILENT_BUILD)$(MAKE) $(SILENT) SUBSYSTEM=embedded -f $(MAKE_DIR)/Makefile.main $@
+
+endif
+	
+
+hal_generator:
+	$(SILENT_BUILD)$(MAKE) $(SLIENT) -C $(TOP_DIR)/embedded/hal_generator/src
+
+drivers:
+	$(SILENT_BUILD)$(MAKE) $(SLIENT) -C $(TOP_DIR)/embedded/hal_generator/librdb
+	$(SILENT_BUILD)$(MAKE) $(SLIENT) -C $(TOP_DIR)/embedded/hal_generator/ru_gen
+	$(SILENT_BUILD)$(MAKE) $(SLIENT) -C $(TOP_DIR)/embedded/pm_drv_generator
+
+
+clean_drivers:
+	$(SILENT_BUILD)$(MAKE) $(SLIENT) -C $(TOP_DIR)/embedded/hal_generator/librdb clean 
+	$(SILENT_BUILD)$(MAKE) $(SLIENT) -C $(TOP_DIR)/embedded/hal_generator/ru_gen clean
+	$(SILENT_BUILD)$(MAKE) $(SLIENT) -C $(TOP_DIR)/embedded/hal_generator/src clean
+	$(SILENT_BUILD)$(MAKE) $(SLIENT) -C $(TOP_DIR)/embedded/pm_drv_generator clean
+