blob: da0352d82f5e747b857fe4c5fe09393552859d73 [file] [log] [blame]
Brian Silvercb565552014-12-11 12:51:36 -06001################################################################################
2#
3# occ
4#
5################################################################################
6
hostbootdd6d79d2016-11-17 00:07:25 -06007OCC_VERSION_BRANCH_MASTER_P8 ?= d7efe30d9bee683578c31171af28baf8251ced4e
hostbootc1f19bf2016-10-25 00:06:52 -05008OCC_VERSION_BRANCH_MASTER ?= a4e04571d60b58c0c778c870bc215bf467085fb6
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
Brian Silvercb565552014-12-11 12:51:36 -060013
14OCC_INSTALL_IMAGES = YES
15OCC_INSTALL_TARGET = NO
16
17OCC_STAGING_DIR = $(STAGING_DIR)/occ
18
Matt Ploetzeaf71dc2016-09-01 18:28:19 -050019OCC_IMAGE_BIN_PATH = $(if $(BR2_OPENPOWER_POWER9),obj/image.bin,src/image.bin)
20
21OCC_DEPENDENCIES_P8 = host-binutils host-p8-pore-binutils
22OCC_DEPENDENCIES_P9 = host-binutils host-ppe42-gcc
23OCC_DEPENDENCIES ?= $(if $(BR2_OPENPOWER_POWER9),$(OCC_DEPENDENCIES_P9),$(OCC_DEPENDENCIES_P8))
24
25define OCC_APPLY_PATCHES
26 if [ "$(BR2_OPENPOWER_POWER9)" == "y" ]; then \
Joel Stanley5ab5fdb2016-10-31 23:10:24 +103027 $(APPLY_PATCHES) $(@D) $(BR2_EXTERNAL_OP_BUILD_PATH)/package/occ/p9Patches \*.patch; \
28 if [ -d $(BR2_EXTERNAL_OP_BUILD_PATH)/custom/patches/occ/p9Patches ]; then \
29 $(APPLY_PATCHES) $(@D) $(BR2_EXTERNAL_OP_BUILD_PATH)/custom/patches/occ/p9Patches \*.patch; \
Matt Ploetzeaf71dc2016-09-01 18:28:19 -050030 fi; \
31 fi; \
32 if [ "$(BR2_OPENPOWER_POWER8)" == "y" ]; then \
Joel Stanley5ab5fdb2016-10-31 23:10:24 +103033 $(APPLY_PATCHES) $(@D) $(BR2_EXTERNAL_OP_BUILD_PATH)/package/occ/p8Patches \*.patch; \
34 if [ -d $(BR2_EXTERNAL_OP_BUILD_PATH)/custom/patches/occ/p8Patches ]; then \
35 $(APPLY_PATCHES) $(@D) $(BR2_EXTERNAL_OP_BUILD_PATH)/custom/patches/occ/p8Patches \*.patch; \
Matt Ploetzeaf71dc2016-09-01 18:28:19 -050036 fi; \
37 fi;
38endef
39
40OCC_POST_PATCH_HOOKS += OCC_APPLY_PATCHES
41
42define OCC_BUILD_CMDS_P8
Brian Silvercb565552014-12-11 12:51:36 -060043 cd $(@D)/src && \
44 make POREPATH=$(P8_PORE_BINUTILS_BIN)/bin/ OCC_OP_BUILD=1 CROSS_PREFIX=$(TARGET_CROSS) all && \
Matt Ploetzeaf71dc2016-09-01 18:28:19 -050045 make tracehash && \
Brian Silvercb565552014-12-11 12:51:36 -060046 make combineImage
47endef
Matt Ploetzeaf71dc2016-09-01 18:28:19 -050048define OCC_BUILD_CMDS_P9
49 cd $(@D)/src && \
50 make PPE_TOOL_PATH=$(PPE42_GCC_BIN) OCC_OP_BUILD=1 CROSS_PREFIX=$(TARGET_CROSS) LD_LIBRARY_PATH=$(HOST_DIR)/usr/lib all
51endef
52OCC_BUILD_CMDS ?= $(if $(BR2_OPENPOWER_POWER9),$(OCC_BUILD_CMDS_P9),$(OCC_BUILD_CMDS_P8))
Brian Silvercb565552014-12-11 12:51:36 -060053
54define OCC_INSTALL_IMAGES_CMDS
55 mkdir -p $(STAGING_DIR)/occ
Matt Ploetzeaf71dc2016-09-01 18:28:19 -050056 cp $(@D)/$(OCC_IMAGE_BIN_PATH) $(OCC_STAGING_DIR)/$(BR2_OCC_BIN_FILENAME)
Brian Silvercb565552014-12-11 12:51:36 -060057endef
58
59$(eval $(generic-package))