blob: 9dfe9cb430ba96f4eb02bd9bcdc6840e01d25c7f [file] [log] [blame]
Yann Gautierba46a932018-07-05 16:50:22 +02001#
Chris Kayc8a47ba2023-10-20 09:17:33 +00002# Copyright (c) 2017-2024, Arm Limited and Contributors. All rights reserved.
Yann Gautierba46a932018-07-05 16:50:22 +02003#
4# SPDX-License-Identifier: BSD-3-Clause
5#
6
Chris Kayc8a47ba2023-10-20 09:17:33 +00007toolchains := host
8
Yann Gautierba46a932018-07-05 16:50:22 +02009MAKE_HELPERS_DIRECTORY := ../../make_helpers/
10include ${MAKE_HELPERS_DIRECTORY}build_macros.mk
11include ${MAKE_HELPERS_DIRECTORY}build_env.mk
Chris Kayc8a47ba2023-10-20 09:17:33 +000012include ${MAKE_HELPERS_DIRECTORY}toolchain.mk
Yann Gautierba46a932018-07-05 16:50:22 +020013
14PROJECT := stm32image${BIN_EXT}
15OBJECTS := stm32image.o
16V := 0
17
Antonio Nino Diaz1c4d3622018-10-04 14:35:38 +010018HOSTCCFLAGS := -Wall -Werror -pedantic -std=c99 -D_GNU_SOURCE
19
Yann Gautierba46a932018-07-05 16:50:22 +020020ifeq (${DEBUG},1)
Antonio Nino Diaz1c4d3622018-10-04 14:35:38 +010021 HOSTCCFLAGS += -g -O0 -DDEBUG
Yann Gautierba46a932018-07-05 16:50:22 +020022else
Antonio Nino Diaz1c4d3622018-10-04 14:35:38 +010023 HOSTCCFLAGS += -O2
Yann Gautierba46a932018-07-05 16:50:22 +020024endif
25
26ifeq (${V},0)
27 Q := @
28else
29 Q :=
30endif
31
Antonio Nino Diaz1c4d3622018-10-04 14:35:38 +010032HOSTCC := gcc
Yann Gautierba46a932018-07-05 16:50:22 +020033
34.PHONY: all clean distclean
35
36all: ${PROJECT}
37
38${PROJECT}: ${OBJECTS} Makefile
Antonio Nino Diaz1c4d3622018-10-04 14:35:38 +010039 @echo " HOSTLD $@"
40 ${Q}${HOSTCC} ${OBJECTS} -o $@
Yann Gautierba46a932018-07-05 16:50:22 +020041 @${ECHO_BLANK_LINE}
42 @echo "Built $@ successfully"
43 @${ECHO_BLANK_LINE}
44
Jan Kiszka67f2f542018-10-02 09:28:00 +020045%.o: %.c Makefile
Antonio Nino Diaz1c4d3622018-10-04 14:35:38 +010046 @echo " HOSTCC $<"
47 ${Q}${HOSTCC} -c ${HOSTCCFLAGS} $< -o $@
Yann Gautierba46a932018-07-05 16:50:22 +020048
49clean:
50 $(call SHELL_DELETE_ALL, ${PROJECT} ${OBJECTS})
51
52distclean: clean