blob: e733af9de0d8109d5c47bf7e554769a00cb6b80c [file] [log] [blame]
Brian Silvercb565552014-12-11 12:51:36 -06001################################################################################
2#
3# occ
4#
5################################################################################
6
hostboot44078ef2017-05-02 11:38:59 -05007OCC_VERSION_BRANCH_MASTER_P8 ?= 28f2cec690b7f19548ce860a8820f519e6c39a6a
hostboot2dd4dc22018-04-30 02:29:58 -05008OCC_VERSION_BRANCH_MASTER ?= cd30b100eee09956a27b69f7893349451400e5ba
Matt Ploetzeaf71dc2016-09-01 18:28:19 -05009
10OCC_VERSION ?= $(if $(BR2_OPENPOWER_POWER9),$(OCC_VERSION_BRANCH_MASTER),$(OCC_VERSION_BRANCH_MASTER_P8))
Brian Silvercb565552014-12-11 12:51:36 -060011OCC_SITE ?= $(call github,open-power,occ,$(OCC_VERSION))
12OCC_LICENSE = Apache-2.0
William Bryan849c6692017-03-24 14:44:06 -050013
14OCC_LICENSE_FILES_P8 = src/LICENSE
15OCC_LICENSE_FILES_P9 = LICENSE
16OCC_LICENSE_FILES ?= $(if $(BR2_OPENPOWER_POWER9),$(OCC_LICENSE_FILES_P9),$(OCC_LICENSE_FILES_P8))
Brian Silvercb565552014-12-11 12:51:36 -060017
18OCC_INSTALL_IMAGES = YES
19OCC_INSTALL_TARGET = NO
20
21OCC_STAGING_DIR = $(STAGING_DIR)/occ
22
Matt Ploetzeaf71dc2016-09-01 18:28:19 -050023OCC_IMAGE_BIN_PATH = $(if $(BR2_OPENPOWER_POWER9),obj/image.bin,src/image.bin)
24
25OCC_DEPENDENCIES_P8 = host-binutils host-p8-pore-binutils
Bill Hoffa11a23f22017-10-03 07:58:12 -050026OCC_DEPENDENCIES_P9 = host-binutils host-ppe42-gcc hostboot-binaries
Stewart Smith6af76632018-04-27 06:45:42 +100027ifeq ($(BR2_OCC_GPU_BIN_BUILD),y)
28 OCC_DEPENDENCIES_P9 += hostboot-binaries
29endif
Matt Ploetzeaf71dc2016-09-01 18:28:19 -050030OCC_DEPENDENCIES ?= $(if $(BR2_OPENPOWER_POWER9),$(OCC_DEPENDENCIES_P9),$(OCC_DEPENDENCIES_P8))
31
32define OCC_APPLY_PATCHES
33 if [ "$(BR2_OPENPOWER_POWER9)" == "y" ]; then \
Joel Stanley5ab5fdb2016-10-31 23:10:24 +103034 $(APPLY_PATCHES) $(@D) $(BR2_EXTERNAL_OP_BUILD_PATH)/package/occ/p9Patches \*.patch; \
35 if [ -d $(BR2_EXTERNAL_OP_BUILD_PATH)/custom/patches/occ/p9Patches ]; then \
36 $(APPLY_PATCHES) $(@D) $(BR2_EXTERNAL_OP_BUILD_PATH)/custom/patches/occ/p9Patches \*.patch; \
Matt Ploetzeaf71dc2016-09-01 18:28:19 -050037 fi; \
38 fi; \
39 if [ "$(BR2_OPENPOWER_POWER8)" == "y" ]; then \
Joel Stanley5ab5fdb2016-10-31 23:10:24 +103040 $(APPLY_PATCHES) $(@D) $(BR2_EXTERNAL_OP_BUILD_PATH)/package/occ/p8Patches \*.patch; \
41 if [ -d $(BR2_EXTERNAL_OP_BUILD_PATH)/custom/patches/occ/p8Patches ]; then \
42 $(APPLY_PATCHES) $(@D) $(BR2_EXTERNAL_OP_BUILD_PATH)/custom/patches/occ/p8Patches \*.patch; \
Matt Ploetzeaf71dc2016-09-01 18:28:19 -050043 fi; \
44 fi;
45endef
46
47OCC_POST_PATCH_HOOKS += OCC_APPLY_PATCHES
48
49define OCC_BUILD_CMDS_P8
Brian Silvercb565552014-12-11 12:51:36 -060050 cd $(@D)/src && \
51 make POREPATH=$(P8_PORE_BINUTILS_BIN)/bin/ OCC_OP_BUILD=1 CROSS_PREFIX=$(TARGET_CROSS) all && \
Matt Ploetzeaf71dc2016-09-01 18:28:19 -050052 make tracehash && \
Brian Silvercb565552014-12-11 12:51:36 -060053 make combineImage
54endef
Matt Ploetzeaf71dc2016-09-01 18:28:19 -050055define OCC_BUILD_CMDS_P9
Bill Hoffafbd4fbf2017-10-10 20:41:22 -050056 if [ "$(BR2_OCC_GPU_BIN_BUILD)" == "y" ]; then \
Bill Hoffa11a23f22017-10-03 07:58:12 -050057 cd $(@D)/src && \
Bill Hoffafbd4fbf2017-10-10 20:41:22 -050058 make PPE_TOOL_PATH=$(PPE42_GCC_BIN) OCC_OP_BUILD=1 CROSS_PREFIX=$(TARGET_CROSS) LD_LIBRARY_PATH=$(HOST_DIR)/usr/lib GPE1_BIN_IMAGE_PATH=$(STAGING_DIR)/hostboot_binaries/ OPOCC_GPU_SUPPORT=1 all; \
Bill Hoffa11a23f22017-10-03 07:58:12 -050059 else \
60 cd $(@D)/src && \
61 make PPE_TOOL_PATH=$(PPE42_GCC_BIN) OCC_OP_BUILD=1 CROSS_PREFIX=$(TARGET_CROSS) LD_LIBRARY_PATH=$(HOST_DIR)/usr/lib all; \
62 fi;
Matt Ploetzeaf71dc2016-09-01 18:28:19 -050063endef
64OCC_BUILD_CMDS ?= $(if $(BR2_OPENPOWER_POWER9),$(OCC_BUILD_CMDS_P9),$(OCC_BUILD_CMDS_P8))
Brian Silvercb565552014-12-11 12:51:36 -060065
66define OCC_INSTALL_IMAGES_CMDS
67 mkdir -p $(STAGING_DIR)/occ
Matt Ploetzeaf71dc2016-09-01 18:28:19 -050068 cp $(@D)/$(OCC_IMAGE_BIN_PATH) $(OCC_STAGING_DIR)/$(BR2_OCC_BIN_FILENAME)
Brian Silvercb565552014-12-11 12:51:36 -060069endef
70
71$(eval $(generic-package))