xref: /rk3399_ARM-atf/tools/encrypt_fw/Makefile (revision 415049a25f5908e7682d13c2b65cd4dda15c5d22)
190aa901fSSumit Garg#
2*415049a2SChris Kay# Copyright (c) 2024, Arm Limited. All rights reserved.
39bc52d33SJuan Pablo Conde# Copyright (c) 2019-2022, Linaro Limited. All rights reserved.
490aa901fSSumit Garg#
590aa901fSSumit Garg# SPDX-License-Identifier: BSD-3-Clause
690aa901fSSumit Garg#
790aa901fSSumit Garg
890aa901fSSumit GargBUILD_INFO	?= 1
990aa901fSSumit GargDEBUG		:= 0
10b13e3f9fSManish V BadarkheENCTOOL		?= encrypt_fw${BIN_EXT}
11fafd3ec9SManish V BadarkheBINARY		:= $(notdir ${ENCTOOL})
1290aa901fSSumit GargOPENSSL_DIR	:= /usr
1390aa901fSSumit Garg
14cc277de8SChris Kaytoolchains := host
15cf2dd17dSJuan Pablo Conde
16cf2dd17dSJuan Pablo CondeMAKE_HELPERS_DIRECTORY := ../../make_helpers/
17cf2dd17dSJuan Pablo Condeinclude ${MAKE_HELPERS_DIRECTORY}build_macros.mk
18cf2dd17dSJuan Pablo Condeinclude ${MAKE_HELPERS_DIRECTORY}build_env.mk
197c4e1eeaSChris Kayinclude ${MAKE_HELPERS_DIRECTORY}common.mk
20cf2dd17dSJuan Pablo Condeinclude ${MAKE_HELPERS_DIRECTORY}defaults.mk
21cc277de8SChris Kayinclude ${MAKE_HELPERS_DIRECTORY}toolchain.mk
22cf2dd17dSJuan Pablo Conde
2390aa901fSSumit GargOBJECTS := src/encrypt.o \
2490aa901fSSumit Garg           src/cmd_opt.o \
2590aa901fSSumit Garg           src/main.o
2690aa901fSSumit Garg
2790aa901fSSumit GargHOSTCCFLAGS := -Wall -std=c99
2890aa901fSSumit Garg
29cf2dd17dSJuan Pablo Conde# Select OpenSSL version flag according to the OpenSSL build selected
30cf2dd17dSJuan Pablo Conde# from setting the OPENSSL_DIR path.
31cf2dd17dSJuan Pablo Conde$(eval $(call SELECT_OPENSSL_API_VERSION))
3290aa901fSSumit Garg
3390aa901fSSumit Gargifeq (${DEBUG},1)
3490aa901fSSumit Garg  HOSTCCFLAGS += -g -O0 -DDEBUG -DLOG_LEVEL=40
3590aa901fSSumit Gargelse
3690aa901fSSumit Gargifeq (${BUILD_INFO},1)
3790aa901fSSumit Garg  HOSTCCFLAGS += -O2 -DLOG_LEVEL=20
3890aa901fSSumit Gargelse
3990aa901fSSumit Garg  HOSTCCFLAGS += -O2 -DLOG_LEVEL=10
4090aa901fSSumit Gargendif
4190aa901fSSumit Gargendif
4290aa901fSSumit Garg
43cf2dd17dSJuan Pablo CondeHOSTCCFLAGS += ${DEFINES}
44cf2dd17dSJuan Pablo Conde# USING_OPENSSL3 flag will be added to the HOSTCCFLAGS variable with the proper
45cf2dd17dSJuan Pablo Conde# computed value.
46cf2dd17dSJuan Pablo CondeHOSTCCFLAGS += -DUSING_OPENSSL3=$(USING_OPENSSL3)
47cf2dd17dSJuan Pablo Conde
48cf2dd17dSJuan Pablo Conde
4990aa901fSSumit Garg# Make soft links and include from local directory otherwise wrong headers
5090aa901fSSumit Garg# could get pulled in from firmware tree.
5190aa901fSSumit GargINC_DIR := -I ./include -I ../../include/tools_share -I ${OPENSSL_DIR}/include
529bc52d33SJuan Pablo Conde
539bc52d33SJuan Pablo Conde# Include library directories where OpenSSL library files are located.
549bc52d33SJuan Pablo Conde# For a normal installation (i.e.: when ${OPENSSL_DIR} = /usr or
559bc52d33SJuan Pablo Conde# /usr/local), binaries are located under the ${OPENSSL_DIR}/lib/
569bc52d33SJuan Pablo Conde# directory. However, for a local build of OpenSSL, the built binaries are
579bc52d33SJuan Pablo Conde# located under the main project directory (i.e.: ${OPENSSL_DIR}, not
589bc52d33SJuan Pablo Conde# ${OPENSSL_DIR}/lib/).
599bc52d33SJuan Pablo CondeLIB_DIR := -L ${OPENSSL_DIR}/lib -L ${OPENSSL_DIR}
6090aa901fSSumit GargLIB := -lssl -lcrypto
6190aa901fSSumit Garg
62cf2dd17dSJuan Pablo Conde.PHONY: all clean realclean --openssl
6390aa901fSSumit Garg
64aa57ce63SVincent Stehléall: --openssl ${BINARY}
6590aa901fSSumit Garg
66aa57ce63SVincent Stehlé${BINARY}: ${OBJECTS} Makefile
677c4e1eeaSChris Kay	$(s)echo "  HOSTLD  $@"
68*415049a2SChris Kay	$(q)$(host-cc) ${OBJECTS} ${LIB_DIR} ${LIB} -o $@
6990aa901fSSumit Garg
7090aa901fSSumit Garg%.o: %.c
717c4e1eeaSChris Kay	$(s)echo "  HOSTCC  $<"
727c4e1eeaSChris Kay	$(q)$(host-cc) -c ${HOSTCCFLAGS} ${INC_DIR} $< -o $@
7390aa901fSSumit Garg
74cf2dd17dSJuan Pablo Conde--openssl:
75cf2dd17dSJuan Pablo Condeifeq ($(DEBUG),1)
767c4e1eeaSChris Kay	$(s)echo "Selected OpenSSL version: ${OPENSSL_CURRENT_VER}"
77cf2dd17dSJuan Pablo Condeendif
78cf2dd17dSJuan Pablo Conde
7990aa901fSSumit Gargclean:
80*415049a2SChris Kay	$(call SHELL_DELETE_ALL,${OBJECTS})
8190aa901fSSumit Garg
8290aa901fSSumit Gargrealclean: clean
8390aa901fSSumit Garg	$(call SHELL_DELETE,${BINARY})
84