1819281eeSdp-arm# 2*c3273703SChris Kay# Copyright (c) 2014-2025, Arm Limited and Contributors. All rights reserved. 3819281eeSdp-arm# 482cb2c1aSdp-arm# SPDX-License-Identifier: BSD-3-Clause 5819281eeSdp-arm# 6819281eeSdp-arm 7819281eeSdp-armMAKE_HELPERS_DIRECTORY := ../../make_helpers/ 8819281eeSdp-arminclude ${MAKE_HELPERS_DIRECTORY}build_macros.mk 97c4e1eeaSChris Kayinclude ${MAKE_HELPERS_DIRECTORY}common.mk 10cf2dd17dSJuan Pablo Condeinclude ${MAKE_HELPERS_DIRECTORY}defaults.mk 11cc277de8SChris Kayinclude ${MAKE_HELPERS_DIRECTORY}toolchain.mk 12819281eeSdp-arm 13*c3273703SChris KayFIPTOOL ?= fiptool$(.exe) 14fafd3ec9SManish V BadarkhePROJECT := $(notdir ${FIPTOOL}) 15819281eeSdp-armOBJECTS := fiptool.o tbbr_config.o 164d4fec28SOlivier DeprezSTATIC ?= 0 17819281eeSdp-arm 18819281eeSdp-armoverride CPPFLAGS += -D_GNU_SOURCE -D_XOPEN_SOURCE=700 19750e8d80SAntonio Nino DiazHOSTCCFLAGS := -Wall -Werror -pedantic -std=c99 20819281eeSdp-armifeq (${DEBUG},1) 21750e8d80SAntonio Nino Diaz HOSTCCFLAGS += -g -O0 -DDEBUG 22819281eeSdp-armelse 23750e8d80SAntonio Nino Diaz HOSTCCFLAGS += -O2 24819281eeSdp-armendif 259bc52d33SJuan Pablo Conde 264d4fec28SOlivier DeprezINCLUDE_PATHS := -I../../include/tools_share 274d4fec28SOlivier Deprez 284d4fec28SOlivier DeprezDEFINES += -DSTATIC=$(STATIC) 294d4fec28SOlivier Deprez 304d4fec28SOlivier Deprezifeq (${STATIC},1) 314d4fec28SOlivier DeprezLDOPTS := -static 324d4fec28SOlivier Deprezelse 334d4fec28SOlivier DeprezOPENSSL_DIR := /usr 344d4fec28SOlivier Deprez 35cf2dd17dSJuan Pablo Conde# Select OpenSSL version flag according to the OpenSSL build selected 36cf2dd17dSJuan Pablo Conde# from setting the OPENSSL_DIR path. 37cf2dd17dSJuan Pablo Conde$(eval $(call SELECT_OPENSSL_API_VERSION)) 38cf2dd17dSJuan Pablo Conde 39cf2dd17dSJuan Pablo Conde# USING_OPENSSL3 flag will be added to the HOSTCCFLAGS variable with the proper 40cf2dd17dSJuan Pablo Conde# computed value. 414d4fec28SOlivier DeprezDEFINES += -DUSING_OPENSSL3=$(USING_OPENSSL3) 42cf2dd17dSJuan Pablo Conde 439bc52d33SJuan Pablo Conde# Include library directories where OpenSSL library files are located. 449bc52d33SJuan Pablo Conde# For a normal installation (i.e.: when ${OPENSSL_DIR} = /usr or 459bc52d33SJuan Pablo Conde# /usr/local), binaries are located under the ${OPENSSL_DIR}/lib/ 469bc52d33SJuan Pablo Conde# directory. However, for a local build of OpenSSL, the built binaries are 479bc52d33SJuan Pablo Conde# located under the main project directory (i.e.: ${OPENSSL_DIR}, not 489bc52d33SJuan Pablo Conde# ${OPENSSL_DIR}/lib/). 494d4fec28SOlivier DeprezLDOPTS := -L${OPENSSL_DIR}/lib -L${OPENSSL_DIR} -lcrypto 504d4fec28SOlivier DeprezINCLUDE_PATHS += -I${OPENSSL_DIR}/include 514d4fec28SOlivier Deprezendif # STATIC 524d4fec28SOlivier Deprez 534d4fec28SOlivier DeprezHOSTCCFLAGS += ${DEFINES} 54819281eeSdp-arm 553527d6d2SPankaj Guptaifneq (${PLAT},) 563527d6d2SPankaj GuptaTF_PLATFORM_ROOT := ../../plat/ 573527d6d2SPankaj Guptainclude ${MAKE_HELPERS_DIRECTORY}plat_helpers.mk 58034a2e3eSRaef ColesCOMBINED_PATH_FRAG := plat_fiptool/ 59034a2e3eSRaef ColesPLAT_FIPTOOL_HELPER_MK := $(foreach path_frag,$(subst /, ,$(patsubst ../../plat/%/,%,${PLAT_DIR})),\ 60034a2e3eSRaef Coles $(eval COMBINED_PATH_FRAG := ${COMBINED_PATH_FRAG}/${path_frag})\ 61034a2e3eSRaef Coles $(wildcard ${COMBINED_PATH_FRAG}/plat_fiptool.mk)) 623527d6d2SPankaj Guptaendif 633527d6d2SPankaj Gupta 64034a2e3eSRaef Colesifneq (,$(wildcard $(lastword ${PLAT_FIPTOOL_HELPER_MK}))) 653527d6d2SPankaj Guptainclude ${PLAT_FIPTOOL_HELPER_MK} 663527d6d2SPankaj Guptaendif 673527d6d2SPankaj Gupta 680165ddd7SMikael OlssonDEPS := $(patsubst %.o,%.d,$(OBJECTS)) 690165ddd7SMikael Olsson 70cf2dd17dSJuan Pablo Conde.PHONY: all clean distclean --openssl 71819281eeSdp-arm 72aa57ce63SVincent Stehléall: --openssl ${PROJECT} 73819281eeSdp-arm 74aa57ce63SVincent Stehlé${PROJECT}: ${OBJECTS} Makefile 757c4e1eeaSChris Kay $(s)echo " HOSTLD $@" 767c4e1eeaSChris Kay $(q)$(host-cc) ${OBJECTS} -o $@ $(LDOPTS) 777c4e1eeaSChris Kay $(s)echo 787c4e1eeaSChris Kay $(s)echo "Built $@ successfully" 797c4e1eeaSChris Kay $(s)echo 80819281eeSdp-arm 813527d6d2SPankaj Gupta%.o: %.c Makefile 827c4e1eeaSChris Kay $(s)echo " HOSTCC $<" 837c4e1eeaSChris Kay $(q)$(host-cc) -c ${CPPFLAGS} ${HOSTCCFLAGS} ${INCLUDE_PATHS} -MD -MP $< -o $@ 840165ddd7SMikael Olsson 850165ddd7SMikael Olsson-include $(DEPS) 86819281eeSdp-arm 87cf2dd17dSJuan Pablo Conde--openssl: 884d4fec28SOlivier Deprezifeq ($(STATIC),0) 89cf2dd17dSJuan Pablo Condeifeq ($(DEBUG),1) 907c4e1eeaSChris Kay $(s)echo "Selected OpenSSL version: ${OPENSSL_CURRENT_VER}" 91cf2dd17dSJuan Pablo Condeendif 924d4fec28SOlivier Deprezendif # STATIC 93cf2dd17dSJuan Pablo Conde 94819281eeSdp-armclean: 95*c3273703SChris Kay $(q)rm -rf $(PROJECT) $(OBJECTS) $(DEPS) 96