1819281eeSdp-arm# 2*0165ddd7SMikael Olsson# Copyright (c) 2014-2023, 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 9819281eeSdp-arminclude ${MAKE_HELPERS_DIRECTORY}build_env.mk 10cf2dd17dSJuan Pablo Condeinclude ${MAKE_HELPERS_DIRECTORY}defaults.mk 11819281eeSdp-arm 12b13e3f9fSManish V BadarkheFIPTOOL ?= fiptool${BIN_EXT} 13fafd3ec9SManish V BadarkhePROJECT := $(notdir ${FIPTOOL}) 14819281eeSdp-armOBJECTS := fiptool.o tbbr_config.o 15a9673900Sdp-armV ?= 0 160a956f81SRoss BurtonOPENSSL_DIR := /usr 170a956f81SRoss Burton 18819281eeSdp-arm 19819281eeSdp-armoverride CPPFLAGS += -D_GNU_SOURCE -D_XOPEN_SOURCE=700 20750e8d80SAntonio Nino DiazHOSTCCFLAGS := -Wall -Werror -pedantic -std=c99 21819281eeSdp-armifeq (${DEBUG},1) 22750e8d80SAntonio Nino Diaz HOSTCCFLAGS += -g -O0 -DDEBUG 23819281eeSdp-armelse 24750e8d80SAntonio Nino Diaz HOSTCCFLAGS += -O2 25819281eeSdp-armendif 269bc52d33SJuan Pablo Conde 27cf2dd17dSJuan Pablo Conde# Select OpenSSL version flag according to the OpenSSL build selected 28cf2dd17dSJuan Pablo Conde# from setting the OPENSSL_DIR path. 29cf2dd17dSJuan Pablo Conde$(eval $(call SELECT_OPENSSL_API_VERSION)) 30cf2dd17dSJuan Pablo Conde 31cf2dd17dSJuan Pablo CondeHOSTCCFLAGS += ${DEFINES} 32cf2dd17dSJuan Pablo Conde# USING_OPENSSL3 flag will be added to the HOSTCCFLAGS variable with the proper 33cf2dd17dSJuan Pablo Conde# computed value. 34cf2dd17dSJuan Pablo CondeHOSTCCFLAGS += -DUSING_OPENSSL3=$(USING_OPENSSL3) 35cf2dd17dSJuan Pablo Conde 369bc52d33SJuan Pablo Conde# Include library directories where OpenSSL library files are located. 379bc52d33SJuan Pablo Conde# For a normal installation (i.e.: when ${OPENSSL_DIR} = /usr or 389bc52d33SJuan Pablo Conde# /usr/local), binaries are located under the ${OPENSSL_DIR}/lib/ 399bc52d33SJuan Pablo Conde# directory. However, for a local build of OpenSSL, the built binaries are 409bc52d33SJuan Pablo Conde# located under the main project directory (i.e.: ${OPENSSL_DIR}, not 419bc52d33SJuan Pablo Conde# ${OPENSSL_DIR}/lib/). 429bc52d33SJuan Pablo CondeLDLIBS := -L${OPENSSL_DIR}/lib -L${OPENSSL_DIR} -lcrypto 43819281eeSdp-arm 44819281eeSdp-armifeq (${V},0) 45819281eeSdp-arm Q := @ 46819281eeSdp-armelse 47819281eeSdp-arm Q := 48819281eeSdp-armendif 49819281eeSdp-arm 500a956f81SRoss BurtonINCLUDE_PATHS := -I../../include/tools_share -I${OPENSSL_DIR}/include 51819281eeSdp-arm 5272610c41Sdp-armHOSTCC ?= gcc 53819281eeSdp-arm 543527d6d2SPankaj Guptaifneq (${PLAT},) 553527d6d2SPankaj GuptaTF_PLATFORM_ROOT := ../../plat/ 563527d6d2SPankaj Guptainclude ${MAKE_HELPERS_DIRECTORY}plat_helpers.mk 573527d6d2SPankaj GuptaPLAT_FIPTOOL_HELPER_MK := ${PLAT_DIR}/plat_fiptool.mk 583527d6d2SPankaj Guptaendif 593527d6d2SPankaj Gupta 603527d6d2SPankaj Guptaifneq (,$(wildcard ${PLAT_FIPTOOL_HELPER_MK})) 613527d6d2SPankaj Guptainclude ${PLAT_FIPTOOL_HELPER_MK} 623527d6d2SPankaj Guptaendif 633527d6d2SPankaj Gupta 64*0165ddd7SMikael OlssonDEPS := $(patsubst %.o,%.d,$(OBJECTS)) 65*0165ddd7SMikael Olsson 66cf2dd17dSJuan Pablo Conde.PHONY: all clean distclean --openssl 67819281eeSdp-arm 68dbeab0daSPali Rohárall: ${PROJECT} 69819281eeSdp-arm 70cf2dd17dSJuan Pablo Conde${PROJECT}: --openssl ${OBJECTS} Makefile 71750e8d80SAntonio Nino Diaz @echo " HOSTLD $@" 7272610c41Sdp-arm ${Q}${HOSTCC} ${OBJECTS} -o $@ ${LDLIBS} 73819281eeSdp-arm @${ECHO_BLANK_LINE} 74819281eeSdp-arm @echo "Built $@ successfully" 75819281eeSdp-arm @${ECHO_BLANK_LINE} 76819281eeSdp-arm 773527d6d2SPankaj Gupta%.o: %.c Makefile 78750e8d80SAntonio Nino Diaz @echo " HOSTCC $<" 79*0165ddd7SMikael Olsson ${Q}${HOSTCC} -c ${CPPFLAGS} ${HOSTCCFLAGS} ${INCLUDE_PATHS} -MD -MP $< -o $@ 80*0165ddd7SMikael Olsson 81*0165ddd7SMikael Olsson-include $(DEPS) 82819281eeSdp-arm 83cf2dd17dSJuan Pablo Conde--openssl: 84cf2dd17dSJuan Pablo Condeifeq ($(DEBUG),1) 85cf2dd17dSJuan Pablo Conde @echo "Selected OpenSSL version: ${OPENSSL_CURRENT_VER}" 86cf2dd17dSJuan Pablo Condeendif 87cf2dd17dSJuan Pablo Conde 88cf2dd17dSJuan Pablo Conde 89819281eeSdp-armclean: 90*0165ddd7SMikael Olsson $(call SHELL_DELETE_ALL, ${PROJECT} ${OBJECTS} $(DEPS)) 91