xref: /aosp_15_r20/external/arm-trusted-firmware/tools/encrypt_fw/Makefile (revision 54fd6939e177f8ff529b10183254802c76df6d08)
1*54fd6939SJiyong Park#
2*54fd6939SJiyong Park# Copyright (c) 2019-2020, Linaro Limited. All rights reserved.
3*54fd6939SJiyong Park#
4*54fd6939SJiyong Park# SPDX-License-Identifier: BSD-3-Clause
5*54fd6939SJiyong Park#
6*54fd6939SJiyong Park
7*54fd6939SJiyong ParkV		?= 0
8*54fd6939SJiyong ParkBUILD_INFO	?= 1
9*54fd6939SJiyong ParkDEBUG		:= 0
10*54fd6939SJiyong ParkENCTOOL		?= encrypt_fw${BIN_EXT}
11*54fd6939SJiyong ParkBINARY		:= $(notdir ${ENCTOOL})
12*54fd6939SJiyong ParkOPENSSL_DIR	:= /usr
13*54fd6939SJiyong Park
14*54fd6939SJiyong ParkOBJECTS := src/encrypt.o \
15*54fd6939SJiyong Park           src/cmd_opt.o \
16*54fd6939SJiyong Park           src/main.o
17*54fd6939SJiyong Park
18*54fd6939SJiyong ParkHOSTCCFLAGS := -Wall -std=c99
19*54fd6939SJiyong Park
20*54fd6939SJiyong ParkMAKE_HELPERS_DIRECTORY := ../../make_helpers/
21*54fd6939SJiyong Parkinclude ${MAKE_HELPERS_DIRECTORY}build_macros.mk
22*54fd6939SJiyong Parkinclude ${MAKE_HELPERS_DIRECTORY}build_env.mk
23*54fd6939SJiyong Park
24*54fd6939SJiyong Parkifeq (${DEBUG},1)
25*54fd6939SJiyong Park  HOSTCCFLAGS += -g -O0 -DDEBUG -DLOG_LEVEL=40
26*54fd6939SJiyong Parkelse
27*54fd6939SJiyong Parkifeq (${BUILD_INFO},1)
28*54fd6939SJiyong Park  HOSTCCFLAGS += -O2 -DLOG_LEVEL=20
29*54fd6939SJiyong Parkelse
30*54fd6939SJiyong Park  HOSTCCFLAGS += -O2 -DLOG_LEVEL=10
31*54fd6939SJiyong Parkendif
32*54fd6939SJiyong Parkendif
33*54fd6939SJiyong Parkifeq (${V},0)
34*54fd6939SJiyong Park  Q := @
35*54fd6939SJiyong Parkelse
36*54fd6939SJiyong Park  Q :=
37*54fd6939SJiyong Parkendif
38*54fd6939SJiyong Park
39*54fd6939SJiyong Park# Make soft links and include from local directory otherwise wrong headers
40*54fd6939SJiyong Park# could get pulled in from firmware tree.
41*54fd6939SJiyong ParkINC_DIR := -I ./include -I ../../include/tools_share -I ${OPENSSL_DIR}/include
42*54fd6939SJiyong ParkLIB_DIR := -L ${OPENSSL_DIR}/lib
43*54fd6939SJiyong ParkLIB := -lssl -lcrypto
44*54fd6939SJiyong Park
45*54fd6939SJiyong ParkHOSTCC ?= gcc
46*54fd6939SJiyong Park
47*54fd6939SJiyong Park.PHONY: all clean realclean
48*54fd6939SJiyong Park
49*54fd6939SJiyong Parkall: ${BINARY}
50*54fd6939SJiyong Park
51*54fd6939SJiyong Park${BINARY}: ${OBJECTS} Makefile
52*54fd6939SJiyong Park	@echo "  HOSTLD  $@"
53*54fd6939SJiyong Park	@echo 'const char build_msg[] = "Built : "__TIME__", "__DATE__;' | \
54*54fd6939SJiyong Park                ${HOSTCC} -c ${HOSTCCFLAGS} -xc - -o src/build_msg.o
55*54fd6939SJiyong Park	${Q}${HOSTCC} src/build_msg.o ${OBJECTS} ${LIB_DIR} ${LIB} -o $@
56*54fd6939SJiyong Park
57*54fd6939SJiyong Park%.o: %.c
58*54fd6939SJiyong Park	@echo "  HOSTCC  $<"
59*54fd6939SJiyong Park	${Q}${HOSTCC} -c ${HOSTCCFLAGS} ${INC_DIR} $< -o $@
60*54fd6939SJiyong Park
61*54fd6939SJiyong Parkclean:
62*54fd6939SJiyong Park	$(call SHELL_DELETE_ALL, src/build_msg.o ${OBJECTS})
63*54fd6939SJiyong Park
64*54fd6939SJiyong Parkrealclean: clean
65*54fd6939SJiyong Park	$(call SHELL_DELETE,${BINARY})
66