1#
2# Copyright (c) 2018-2024, Arm Limited. All rights reserved.
3#
4# SPDX-License-Identifier: BSD-3-Clause
5#
6
7toolchains := host
8
9MAKE_HELPERS_DIRECTORY := ../../make_helpers/
10include ${MAKE_HELPERS_DIRECTORY}build_macros.mk
11include ${MAKE_HELPERS_DIRECTORY}build_env.mk
12include ${MAKE_HELPERS_DIRECTORY}toolchain.mk
13
14SPTOOL  ?= sptool${BIN_EXT}
15PROJECT := $(notdir ${SPTOOL})
16OBJECTS := sptool.o
17V ?= 0
18
19override CPPFLAGS += -D_GNU_SOURCE -D_XOPEN_SOURCE=700
20HOSTCCFLAGS := -Wall -Werror -pedantic -std=c99
21ifeq (${DEBUG},1)
22  HOSTCCFLAGS += -g -O0 -DDEBUG
23else
24  HOSTCCFLAGS += -O2
25endif
26
27ifeq (${V},0)
28  Q := @
29else
30  Q :=
31endif
32
33INCLUDE_PATHS := -I../../include/tools_share
34
35.PHONY: all clean distclean
36
37all: ${PROJECT}
38
39${PROJECT}: ${OBJECTS} Makefile
40	@echo "  HOSTLD  $@"
41	${Q}$(host-cc) ${OBJECTS} -o $@ ${LDLIBS}
42	@${ECHO_BLANK_LINE}
43	@echo "Built $@ successfully"
44	@${ECHO_BLANK_LINE}
45
46%.o: %.c Makefile
47	@echo "  HOSTCC  $<"
48	${Q}$(host-cc) -c ${CPPFLAGS} ${HOSTCCFLAGS} ${INCLUDE_PATHS} $< -o $@
49
50clean:
51	$(call SHELL_DELETE_ALL, ${PROJECT} ${OBJECTS})
52