xref: /arm-trusted-firmware/tools/nxp/create_pbl/Makefile (revision 91f16700b400a8c0651d24a598fc48ee2997a0d7)
1*91f16700Schasinglulu#
2*91f16700Schasinglulu# Copyright 2018-2020 NXP
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*91f16700SchasingluluPROJECT_1 := create_pbl${BIN_EXT}
12*91f16700SchasingluluOBJECTS_1 := create_pbl.o
13*91f16700SchasingluluPROJECT_2 := byte_swap${BIN_EXT}
14*91f16700SchasingluluOBJECTS_2 := byte_swap.o
15*91f16700SchasingluluV ?= 0
16*91f16700Schasinglulu
17*91f16700Schasingluluoverride CPPFLAGS += -D_GNU_SOURCE -D_XOPEN_SOURCE=700
18*91f16700SchasingluluCFLAGS := -Wall -Werror -pedantic -std=c99
19*91f16700Schasingluluifeq (${DEBUG},1)
20*91f16700Schasinglulu  CFLAGS += -g -O0 -DDEBUG
21*91f16700Schasingluluelse
22*91f16700Schasinglulu  CFLAGS += -O2
23*91f16700Schasingluluendif
24*91f16700SchasingluluLDLIBS :=
25*91f16700Schasinglulu
26*91f16700Schasingluluifeq (${V},0)
27*91f16700Schasinglulu  Q := @
28*91f16700Schasingluluelse
29*91f16700Schasinglulu  Q :=
30*91f16700Schasingluluendif
31*91f16700Schasinglulu
32*91f16700SchasingluluINCLUDE_PATHS :=
33*91f16700Schasinglulu
34*91f16700SchasingluluHOSTCC ?= gcc
35*91f16700SchasingluluCC = gcc
36*91f16700Schasinglulu
37*91f16700Schasinglulu.PHONY: all clean distclean
38*91f16700Schasinglulu
39*91f16700Schasingluluall: create_pbl byte_swap
40*91f16700Schasinglulu
41*91f16700Schasinglulu${PROJECT_1}: ${OBJECTS_1} Makefile
42*91f16700Schasinglulu	@echo "  LD      $@"
43*91f16700Schasinglulu	${Q}${HOSTCC} ${OBJECTS_1} -o $@ ${LDLIBS}
44*91f16700Schasinglulu	@${ECHO_BLANK_LINE}
45*91f16700Schasinglulu	@echo "Built $@ successfully"
46*91f16700Schasinglulu	@${ECHO_BLANK_LINE}
47*91f16700Schasinglulu
48*91f16700Schasinglulu${PROJECT_2}: ${OBJECTS_2} Makefile
49*91f16700Schasinglulu	@echo "  LD      $@"
50*91f16700Schasinglulu	${Q}${HOSTCC} ${OBJECTS_2} -o $@ ${LDLIBS}
51*91f16700Schasinglulu	@${ECHO_BLANK_LINE}
52*91f16700Schasinglulu	@echo "Built $@ successfully"
53*91f16700Schasinglulu	@${ECHO_BLANK_LINE}
54*91f16700Schasinglulu
55*91f16700Schasinglulu%.o: %.c %.h Makefile
56*91f16700Schasinglulu	@echo "  CC      $<"
57*91f16700Schasinglulu	${Q}${HOSTCC} -c ${CPPFLAGS} ${CFLAGS} ${INCLUDE_PATHS} $< -o $@
58*91f16700Schasinglulu
59*91f16700Schasingluluclean:
60*91f16700Schasinglulu	$(call SHELL_DELETE_ALL, ${PROJECT_1} ${OBJECTS_1})
61*91f16700Schasinglulu	$(call SHELL_DELETE_ALL, ${PROJECT_2} ${OBJECTS_2})
62