xref: /aosp_15_r20/external/arm-trusted-firmware/tools/fiptool/Makefile (revision 54fd6939e177f8ff529b10183254802c76df6d08)
1*54fd6939SJiyong Park#
2*54fd6939SJiyong Park# Copyright (c) 2014-2021, ARM Limited and Contributors. All rights reserved.
3*54fd6939SJiyong Park#
4*54fd6939SJiyong Park# SPDX-License-Identifier: BSD-3-Clause
5*54fd6939SJiyong Park#
6*54fd6939SJiyong Park
7*54fd6939SJiyong ParkMAKE_HELPERS_DIRECTORY := ../../make_helpers/
8*54fd6939SJiyong Parkinclude ${MAKE_HELPERS_DIRECTORY}build_macros.mk
9*54fd6939SJiyong Parkinclude ${MAKE_HELPERS_DIRECTORY}build_env.mk
10*54fd6939SJiyong Park
11*54fd6939SJiyong ParkFIPTOOL ?= fiptool${BIN_EXT}
12*54fd6939SJiyong ParkPROJECT := $(notdir ${FIPTOOL})
13*54fd6939SJiyong ParkOBJECTS := fiptool.o tbbr_config.o
14*54fd6939SJiyong ParkV ?= 0
15*54fd6939SJiyong Park
16*54fd6939SJiyong Parkoverride CPPFLAGS += -D_GNU_SOURCE -D_XOPEN_SOURCE=700
17*54fd6939SJiyong ParkHOSTCCFLAGS := -Wall -Werror -pedantic -std=c99
18*54fd6939SJiyong Parkifeq (${DEBUG},1)
19*54fd6939SJiyong Park  HOSTCCFLAGS += -g -O0 -DDEBUG
20*54fd6939SJiyong Parkelse
21*54fd6939SJiyong Park  HOSTCCFLAGS += -O2
22*54fd6939SJiyong Parkendif
23*54fd6939SJiyong ParkLDLIBS := -lcrypto
24*54fd6939SJiyong Park
25*54fd6939SJiyong Parkifeq (${V},0)
26*54fd6939SJiyong Park  Q := @
27*54fd6939SJiyong Parkelse
28*54fd6939SJiyong Park  Q :=
29*54fd6939SJiyong Parkendif
30*54fd6939SJiyong Park
31*54fd6939SJiyong ParkINCLUDE_PATHS := -I../../include/tools_share
32*54fd6939SJiyong Park
33*54fd6939SJiyong ParkHOSTCC ?= gcc
34*54fd6939SJiyong Park
35*54fd6939SJiyong Parkifneq (${PLAT},)
36*54fd6939SJiyong ParkTF_PLATFORM_ROOT	:=	../../plat/
37*54fd6939SJiyong Parkinclude ${MAKE_HELPERS_DIRECTORY}plat_helpers.mk
38*54fd6939SJiyong ParkPLAT_FIPTOOL_HELPER_MK := ${PLAT_DIR}/plat_fiptool.mk
39*54fd6939SJiyong Parkendif
40*54fd6939SJiyong Park
41*54fd6939SJiyong Parkifneq (,$(wildcard ${PLAT_FIPTOOL_HELPER_MK}))
42*54fd6939SJiyong Parkinclude ${PLAT_FIPTOOL_HELPER_MK}
43*54fd6939SJiyong Parkendif
44*54fd6939SJiyong Park
45*54fd6939SJiyong Park.PHONY: all clean distclean
46*54fd6939SJiyong Park
47*54fd6939SJiyong Parkall: ${PROJECT}
48*54fd6939SJiyong Park
49*54fd6939SJiyong Park${PROJECT}: ${OBJECTS} Makefile
50*54fd6939SJiyong Park	@echo "  HOSTLD  $@"
51*54fd6939SJiyong Park	${Q}${HOSTCC} ${OBJECTS} -o $@ ${LDLIBS}
52*54fd6939SJiyong Park	@${ECHO_BLANK_LINE}
53*54fd6939SJiyong Park	@echo "Built $@ successfully"
54*54fd6939SJiyong Park	@${ECHO_BLANK_LINE}
55*54fd6939SJiyong Park
56*54fd6939SJiyong Park%.o: %.c Makefile
57*54fd6939SJiyong Park	@echo "  HOSTCC  $<"
58*54fd6939SJiyong Park	${Q}${HOSTCC} -c ${CPPFLAGS} ${HOSTCCFLAGS} ${INCLUDE_PATHS} $< -o $@
59*54fd6939SJiyong Park
60*54fd6939SJiyong Parkclean:
61*54fd6939SJiyong Park	$(call SHELL_DELETE_ALL, ${PROJECT} ${OBJECTS})
62