xref: /aosp_15_r20/external/arm-trusted-firmware/tools/nxp/create_pbl/Makefile (revision 54fd6939e177f8ff529b10183254802c76df6d08)
1*54fd6939SJiyong Park#
2*54fd6939SJiyong Park# Copyright 2018-2020 NXP
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 ParkPROJECT_1 := create_pbl${BIN_EXT}
12*54fd6939SJiyong ParkOBJECTS_1 := create_pbl.o
13*54fd6939SJiyong ParkPROJECT_2 := byte_swap${BIN_EXT}
14*54fd6939SJiyong ParkOBJECTS_2 := byte_swap.o
15*54fd6939SJiyong ParkV ?= 0
16*54fd6939SJiyong Park
17*54fd6939SJiyong Parkoverride CPPFLAGS += -D_GNU_SOURCE -D_XOPEN_SOURCE=700
18*54fd6939SJiyong ParkCFLAGS := -Wall -Werror -pedantic -std=c99
19*54fd6939SJiyong Parkifeq (${DEBUG},1)
20*54fd6939SJiyong Park  CFLAGS += -g -O0 -DDEBUG
21*54fd6939SJiyong Parkelse
22*54fd6939SJiyong Park  CFLAGS += -O2
23*54fd6939SJiyong Parkendif
24*54fd6939SJiyong ParkLDLIBS :=
25*54fd6939SJiyong Park
26*54fd6939SJiyong Parkifeq (${V},0)
27*54fd6939SJiyong Park  Q := @
28*54fd6939SJiyong Parkelse
29*54fd6939SJiyong Park  Q :=
30*54fd6939SJiyong Parkendif
31*54fd6939SJiyong Park
32*54fd6939SJiyong ParkINCLUDE_PATHS :=
33*54fd6939SJiyong Park
34*54fd6939SJiyong ParkHOSTCC ?= gcc
35*54fd6939SJiyong ParkCC = gcc
36*54fd6939SJiyong Park
37*54fd6939SJiyong Park.PHONY: all clean distclean
38*54fd6939SJiyong Park
39*54fd6939SJiyong Parkall: create_pbl byte_swap
40*54fd6939SJiyong Park
41*54fd6939SJiyong Park${PROJECT_1}: ${OBJECTS_1} Makefile
42*54fd6939SJiyong Park	@echo "  LD      $@"
43*54fd6939SJiyong Park	${Q}${HOSTCC} ${OBJECTS_1} -o $@ ${LDLIBS}
44*54fd6939SJiyong Park	@${ECHO_BLANK_LINE}
45*54fd6939SJiyong Park	@echo "Built $@ successfully"
46*54fd6939SJiyong Park	@${ECHO_BLANK_LINE}
47*54fd6939SJiyong Park
48*54fd6939SJiyong Park${PROJECT_2}: ${OBJECTS_2} Makefile
49*54fd6939SJiyong Park	@echo "  LD      $@"
50*54fd6939SJiyong Park	${Q}${HOSTCC} ${OBJECTS_2} -o $@ ${LDLIBS}
51*54fd6939SJiyong Park	@${ECHO_BLANK_LINE}
52*54fd6939SJiyong Park	@echo "Built $@ successfully"
53*54fd6939SJiyong Park	@${ECHO_BLANK_LINE}
54*54fd6939SJiyong Park
55*54fd6939SJiyong Park%.o: %.c %.h Makefile
56*54fd6939SJiyong Park	@echo "  CC      $<"
57*54fd6939SJiyong Park	${Q}${HOSTCC} -c ${CPPFLAGS} ${CFLAGS} ${INCLUDE_PATHS} $< -o $@
58*54fd6939SJiyong Park
59*54fd6939SJiyong Parkclean:
60*54fd6939SJiyong Park	$(call SHELL_DELETE_ALL, ${PROJECT_1} ${OBJECTS_1})
61*54fd6939SJiyong Park	$(call SHELL_DELETE_ALL, ${PROJECT_2} ${OBJECTS_2})
62