blob: 17117aa7164e3e97dd2576144cf1130e89edb534 [file] [log] [blame]
Brian Silvercb565552014-12-11 12:51:36 -06001################################################################################
2#
3# occ
4#
5################################################################################
6
hostboot94e75222017-01-13 00:07:34 -06007OCC_VERSION_BRANCH_MASTER_P8 ?= f0189405ba8c5bf974a68290bbdeec500e2fb397
8OCC_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
Stewart Smithb16ba5b2017-01-10 12:55:55 +110013OCC_LICENSE_FILES = src/LICENSE
Brian Silvercb565552014-12-11 12:51:36 -060014
15OCC_INSTALL_IMAGES = YES
16OCC_INSTALL_TARGET = NO
17
18OCC_STAGING_DIR = $(STAGING_DIR)/occ
19
Matt Ploetzeaf71dc2016-09-01 18:28:19 -050020OCC_IMAGE_BIN_PATH = $(if $(BR2_OPENPOWER_POWER9),obj/image.bin,src/image.bin)
21
22OCC_DEPENDENCIES_P8 = host-binutils host-p8-pore-binutils
23OCC_DEPENDENCIES_P9 = host-binutils host-ppe42-gcc
24OCC_DEPENDENCIES ?= $(if $(BR2_OPENPOWER_POWER9),$(OCC_DEPENDENCIES_P9),$(OCC_DEPENDENCIES_P8))
25
26define OCC_APPLY_PATCHES
27 if [ "$(BR2_OPENPOWER_POWER9)" == "y" ]; then \
Joel Stanley5ab5fdb2016-10-31 23:10:24 +103028 $(APPLY_PATCHES) $(@D) $(BR2_EXTERNAL_OP_BUILD_PATH)/package/occ/p9Patches \*.patch; \
29 if [ -d $(BR2_EXTERNAL_OP_BUILD_PATH)/custom/patches/occ/p9Patches ]; then \
30 $(APPLY_PATCHES) $(@D) $(BR2_EXTERNAL_OP_BUILD_PATH)/custom/patches/occ/p9Patches \*.patch; \
Matt Ploetzeaf71dc2016-09-01 18:28:19 -050031 fi; \
32 fi; \
33 if [ "$(BR2_OPENPOWER_POWER8)" == "y" ]; then \
Joel Stanley5ab5fdb2016-10-31 23:10:24 +103034 $(APPLY_PATCHES) $(@D) $(BR2_EXTERNAL_OP_BUILD_PATH)/package/occ/p8Patches \*.patch; \
35 if [ -d $(BR2_EXTERNAL_OP_BUILD_PATH)/custom/patches/occ/p8Patches ]; then \
36 $(APPLY_PATCHES) $(@D) $(BR2_EXTERNAL_OP_BUILD_PATH)/custom/patches/occ/p8Patches \*.patch; \
Matt Ploetzeaf71dc2016-09-01 18:28:19 -050037 fi; \
38 fi;
39endef
40
41OCC_POST_PATCH_HOOKS += OCC_APPLY_PATCHES
42
43define OCC_BUILD_CMDS_P8
Brian Silvercb565552014-12-11 12:51:36 -060044 cd $(@D)/src && \
45 make POREPATH=$(P8_PORE_BINUTILS_BIN)/bin/ OCC_OP_BUILD=1 CROSS_PREFIX=$(TARGET_CROSS) all && \
Matt Ploetzeaf71dc2016-09-01 18:28:19 -050046 make tracehash && \
Brian Silvercb565552014-12-11 12:51:36 -060047 make combineImage
48endef
Matt Ploetzeaf71dc2016-09-01 18:28:19 -050049define OCC_BUILD_CMDS_P9
50 cd $(@D)/src && \
51 make PPE_TOOL_PATH=$(PPE42_GCC_BIN) OCC_OP_BUILD=1 CROSS_PREFIX=$(TARGET_CROSS) LD_LIBRARY_PATH=$(HOST_DIR)/usr/lib all
52endef
53OCC_BUILD_CMDS ?= $(if $(BR2_OPENPOWER_POWER9),$(OCC_BUILD_CMDS_P9),$(OCC_BUILD_CMDS_P8))
Brian Silvercb565552014-12-11 12:51:36 -060054
55define OCC_INSTALL_IMAGES_CMDS
56 mkdir -p $(STAGING_DIR)/occ
Matt Ploetzeaf71dc2016-09-01 18:28:19 -050057 cp $(@D)/$(OCC_IMAGE_BIN_PATH) $(OCC_STAGING_DIR)/$(BR2_OCC_BIN_FILENAME)
Brian Silvercb565552014-12-11 12:51:36 -060058endef
59
60$(eval $(generic-package))