Enable P10 HCODE and HOSTBOOT_BINARIES compilation

   - Implement makefiles for hostboot_binaries and hcode
     to build the p10 content
   - Add an override ENV Var to use a binary version of hcode
     instead of compiling the source code
   - Binary used for override is release: hw112519a.opmst10
diff --git a/openpower/package/hcode-p10/hcode-p10.mk b/openpower/package/hcode-p10/hcode-p10.mk
index db59ad0..10f2b59 100644
--- a/openpower/package/hcode-p10/hcode-p10.mk
+++ b/openpower/package/hcode-p10/hcode-p10.mk
@@ -5,11 +5,11 @@
 ################################################################################
 
 HCODE_P10_VERSION = $(call qstrip,$(BR2_HCODE_P10_VERSION))
-HCODE_P10_SITE = $(call github,open-power,hcode,$(HCODE_P10_VERSION))
+#HCODE_P10_SITE ?= $(call github,open-power,hcode,$(HCODE_P10_VERSION))
 # TODO: Need to comment out above line and enable next two lines
 # once buildable P10 HCODE is available in GHE
-#HCODE_P10_SITE = git@github.ibm.com:open-power/hcode.git
-#HCODE_P10_SITE_METHOD=git
+HCODE_P10_SITE ?= git@github.ibm.com:open-power/hcode.git
+HCODE_P10_SITE_METHOD ?= git
 HCODE_P10_LICENSE = Apache-2.0
 
 HCODE_P10_INSTALL_IMAGES = YES
@@ -17,20 +17,28 @@
 
 HCODE_P10_DEPENDENCIES = host-binutils host-ppe42-gcc hostboot-binaries
 
-HW_IMAGE_BIN_PATH=output/images/hw_image
-
-# TODO: Customize next four lines for P10
-HW_IMAGE_BIN=p9n.hw_image.bin
-HCODE_IMAGE_BIN = p9n.ref_image.bin
-HW_AXONE_IMAGE_BIN=p9a.hw_image.bin
-HCODE_AXONE_IMAGE_BIN = p9a.ref_image.bin
+HW_IMAGE_BIN_PATH = output/images/hw_image
+HW_IMAGE_BIN_NAME = p10.hw_image.bin
+HCODE_IMAGE_BIN_NAME = p10.ref_image.bin
 
 CROSS_COMPILER_PATH=$(PPE42_GCC_BIN)
 PPE_TOOL_PATH ?= $(CROSS_COMPILER_PATH)
 PPE_PREFIX    ?= $(PPE_TOOL_PATH)/bin/powerpc-eabi-
 
+###################################
+# P10 Workaround
+ifeq ($(BR2_HOSTBOOT_BINARIES_USE_HCODE_BIN),y)
+
+define HCODE_P10_INSTALL_IMAGES_CMDS
+    mkdir -p $(STAGING_DIR)/hcode
+    $(INSTALL) -D $(STAGING_DIR)/hostboot_binaries/$(HCODE_IMAGE_BIN_NAME) $(STAGING_DIR)/hcode/$(HCODE_IMAGE_BIN_NAME)
+endef
+
+else
+
+#TODO In the future use OPENPOWER_BUILD=1 to avoid all IBM-internal make functionality (afs, etc)
 HCODE_P10_ENV_VARS= CONFIG_FILE=$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/hcode/$(BR2_HCODE_CONFIG_FILE) \
-	LD_LIBRARY_PATH=$(HOST_DIR)/usr/lib OPENPOWER_BUILD=1\
+	LD_LIBRARY_PATH=$(HOST_DIR)/usr/lib \
 	CROSS_COMPILER_PATH=$(PPE42_GCC_BIN) PPE_TOOL_PATH=$(CROSS_COMPILER_PATH) \
 	PPE_PREFIX=$(CROSS_COMPILER_PATH)/bin/powerpc-eabi- \
 	RINGFILEPATH=$(STAGING_DIR)/hostboot_binaries __EKB_PREFIX=$(CXXPATH) \
@@ -39,12 +47,12 @@
 
 define HCODE_P10_INSTALL_IMAGES_CMDS
 	mkdir -p $(STAGING_DIR)/hcode
-	$(INSTALL) $(@D)/$(HW_IMAGE_BIN_PATH)/$(HW_IMAGE_BIN) $(STAGING_DIR)/hcode/$(HCODE_IMAGE_BIN)
-        $(INSTALL) $(@D)/$(HW_IMAGE_BIN_PATH)/$(HW_AXONE_IMAGE_BIN) $(STAGING_DIR)/hcode/$(HCODE_AXONE_IMAGE_BIN)
+	$(INSTALL) $(@D)/$(HW_IMAGE_BIN_PATH)/$(HW_IMAGE_BIN_NAME) $(STAGING_DIR)/hcode/$(HCODE_IMAGE_BIN_NAME)
 endef
 
 define HCODE_P10_BUILD_CMDS
-		$(HCODE_ENV_VARS) bash -c 'cd $(@D) && source ./env.bash && $(MAKE) '
+	$(HCODE_P10_ENV_VARS) bash -c 'cd $(@D) && source ./env.bash && $(MAKE) '
 endef
+endif
 
 $(eval $(generic-package))