xref: /arm-trusted-firmware/tools/sptool/Makefile (revision 91f16700b400a8c0651d24a598fc48ee2997a0d7)
1*91f16700Schasinglulu#
2*91f16700Schasinglulu# Copyright (c) 2018-2020, Arm Limited. All rights reserved.
3*91f16700Schasinglulu#
4*91f16700Schasinglulu# SPDX-License-Identifier: BSD-3-Clause
5*91f16700Schasinglulu#
6*91f16700Schasinglulu
7*91f16700SchasingluluMAKE_HELPERS_DIRECTORY := ../../make_helpers/
8*91f16700Schasingluluinclude ${MAKE_HELPERS_DIRECTORY}build_macros.mk
9*91f16700Schasingluluinclude ${MAKE_HELPERS_DIRECTORY}build_env.mk
10*91f16700Schasinglulu
11*91f16700SchasingluluSPTOOL  ?= sptool${BIN_EXT}
12*91f16700SchasingluluPROJECT := $(notdir ${SPTOOL})
13*91f16700SchasingluluOBJECTS := sptool.o
14*91f16700SchasingluluV ?= 0
15*91f16700Schasinglulu
16*91f16700Schasingluluoverride CPPFLAGS += -D_GNU_SOURCE -D_XOPEN_SOURCE=700
17*91f16700SchasingluluHOSTCCFLAGS := -Wall -Werror -pedantic -std=c99
18*91f16700Schasingluluifeq (${DEBUG},1)
19*91f16700Schasinglulu  HOSTCCFLAGS += -g -O0 -DDEBUG
20*91f16700Schasingluluelse
21*91f16700Schasinglulu  HOSTCCFLAGS += -O2
22*91f16700Schasingluluendif
23*91f16700Schasinglulu
24*91f16700Schasingluluifeq (${V},0)
25*91f16700Schasinglulu  Q := @
26*91f16700Schasingluluelse
27*91f16700Schasinglulu  Q :=
28*91f16700Schasingluluendif
29*91f16700Schasinglulu
30*91f16700SchasingluluINCLUDE_PATHS := -I../../include/tools_share
31*91f16700Schasinglulu
32*91f16700SchasingluluHOSTCC ?= gcc
33*91f16700Schasinglulu
34*91f16700Schasinglulu.PHONY: all clean distclean
35*91f16700Schasinglulu
36*91f16700Schasingluluall: ${PROJECT}
37*91f16700Schasinglulu
38*91f16700Schasinglulu${PROJECT}: ${OBJECTS} Makefile
39*91f16700Schasinglulu	@echo "  HOSTLD  $@"
40*91f16700Schasinglulu	${Q}${HOSTCC} ${OBJECTS} -o $@ ${LDLIBS}
41*91f16700Schasinglulu	@${ECHO_BLANK_LINE}
42*91f16700Schasinglulu	@echo "Built $@ successfully"
43*91f16700Schasinglulu	@${ECHO_BLANK_LINE}
44*91f16700Schasinglulu
45*91f16700Schasinglulu%.o: %.c Makefile
46*91f16700Schasinglulu	@echo "  HOSTCC  $<"
47*91f16700Schasinglulu	${Q}${HOSTCC} -c ${CPPFLAGS} ${HOSTCCFLAGS} ${INCLUDE_PATHS} $< -o $@
48*91f16700Schasinglulu
49*91f16700Schasingluluclean:
50*91f16700Schasinglulu	$(call SHELL_DELETE_ALL, ${PROJECT} ${OBJECTS})
51