blob: d3530b873ee59e720f3d9e8dd4c3adeb9a77babf [file] [log] [blame]
Brian Silvercb565552014-12-11 12:51:36 -06001################################################################################
2#
3# occ
4#
5################################################################################
6
hostboot423de912017-03-14 00:07:34 -05007OCC_VERSION_BRANCH_MASTER_P8 ?= 301b535a933e0c9c41b0f014677004cc8da2c445
Elizabeth Linerc093c802017-03-23 13:44:08 -05008OCC_VERSION_BRANCH_MASTER ?= 4141b5f5fef2ba4b444aabbda1677e7f583cd4e8
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
26OCC_DEPENDENCIES_P9 = host-binutils host-ppe42-gcc
27OCC_DEPENDENCIES ?= $(if $(BR2_OPENPOWER_POWER9),$(OCC_DEPENDENCIES_P9),$(OCC_DEPENDENCIES_P8))
28
29define OCC_APPLY_PATCHES
30 if [ "$(BR2_OPENPOWER_POWER9)" == "y" ]; then \
Joel Stanley5ab5fdb2016-10-31 23:10:24 +103031 $(APPLY_PATCHES) $(@D) $(BR2_EXTERNAL_OP_BUILD_PATH)/package/occ/p9Patches \*.patch; \
32 if [ -d $(BR2_EXTERNAL_OP_BUILD_PATH)/custom/patches/occ/p9Patches ]; then \
33 $(APPLY_PATCHES) $(@D) $(BR2_EXTERNAL_OP_BUILD_PATH)/custom/patches/occ/p9Patches \*.patch; \
Matt Ploetzeaf71dc2016-09-01 18:28:19 -050034 fi; \
35 fi; \
36 if [ "$(BR2_OPENPOWER_POWER8)" == "y" ]; then \
Joel Stanley5ab5fdb2016-10-31 23:10:24 +103037 $(APPLY_PATCHES) $(@D) $(BR2_EXTERNAL_OP_BUILD_PATH)/package/occ/p8Patches \*.patch; \
38 if [ -d $(BR2_EXTERNAL_OP_BUILD_PATH)/custom/patches/occ/p8Patches ]; then \
39 $(APPLY_PATCHES) $(@D) $(BR2_EXTERNAL_OP_BUILD_PATH)/custom/patches/occ/p8Patches \*.patch; \
Matt Ploetzeaf71dc2016-09-01 18:28:19 -050040 fi; \
41 fi;
42endef
43
44OCC_POST_PATCH_HOOKS += OCC_APPLY_PATCHES
45
46define OCC_BUILD_CMDS_P8
Brian Silvercb565552014-12-11 12:51:36 -060047 cd $(@D)/src && \
48 make POREPATH=$(P8_PORE_BINUTILS_BIN)/bin/ OCC_OP_BUILD=1 CROSS_PREFIX=$(TARGET_CROSS) all && \
Matt Ploetzeaf71dc2016-09-01 18:28:19 -050049 make tracehash && \
Brian Silvercb565552014-12-11 12:51:36 -060050 make combineImage
51endef
Matt Ploetzeaf71dc2016-09-01 18:28:19 -050052define OCC_BUILD_CMDS_P9
53 cd $(@D)/src && \
54 make PPE_TOOL_PATH=$(PPE42_GCC_BIN) OCC_OP_BUILD=1 CROSS_PREFIX=$(TARGET_CROSS) LD_LIBRARY_PATH=$(HOST_DIR)/usr/lib all
55endef
56OCC_BUILD_CMDS ?= $(if $(BR2_OPENPOWER_POWER9),$(OCC_BUILD_CMDS_P9),$(OCC_BUILD_CMDS_P8))
Brian Silvercb565552014-12-11 12:51:36 -060057
58define OCC_INSTALL_IMAGES_CMDS
59 mkdir -p $(STAGING_DIR)/occ
Matt Ploetzeaf71dc2016-09-01 18:28:19 -050060 cp $(@D)/$(OCC_IMAGE_BIN_PATH) $(OCC_STAGING_DIR)/$(BR2_OCC_BIN_FILENAME)
Brian Silvercb565552014-12-11 12:51:36 -060061endef
62
63$(eval $(generic-package))