xref: /rk3399_ARM-atf/tools/fiptool/Makefile (revision 82cb2c1ad9897473743f08437d0a3995bed561b9)
1819281eeSdp-arm#
2819281eeSdp-arm# Copyright (c) 2014-2016, ARM Limited and Contributors. All rights reserved.
3819281eeSdp-arm#
4*82cb2c1aSdp-arm# SPDX-License-Identifier: BSD-3-Clause
5819281eeSdp-arm#
6819281eeSdp-arm
7819281eeSdp-armMAKE_HELPERS_DIRECTORY := ../../make_helpers/
8819281eeSdp-arminclude ${MAKE_HELPERS_DIRECTORY}build_macros.mk
9819281eeSdp-arminclude ${MAKE_HELPERS_DIRECTORY}build_env.mk
10819281eeSdp-arm
11819281eeSdp-armPROJECT := fiptool${BIN_EXT}
12819281eeSdp-armOBJECTS := fiptool.o tbbr_config.o
13819281eeSdp-armV := 0
14819281eeSdp-armCOPIED_H_FILES := uuid.h firmware_image_package.h
15819281eeSdp-arm
16819281eeSdp-armoverride CPPFLAGS += -D_GNU_SOURCE -D_XOPEN_SOURCE=700
17819281eeSdp-armCFLAGS := -Wall -Werror -pedantic -std=c99
18819281eeSdp-armifeq (${DEBUG},1)
19819281eeSdp-arm  CFLAGS += -g -O0 -DDEBUG
20819281eeSdp-armelse
21819281eeSdp-arm  CFLAGS += -O2
22819281eeSdp-armendif
239df69ba3Sdp-armLDLIBS := -lcrypto
24819281eeSdp-arm
25819281eeSdp-armifeq (${V},0)
26819281eeSdp-arm  Q := @
27819281eeSdp-armelse
28819281eeSdp-arm  Q :=
29819281eeSdp-armendif
30819281eeSdp-arm
31819281eeSdp-arm# Only include from local directory (see comment below).
32819281eeSdp-armINCLUDE_PATHS := -I.
33819281eeSdp-arm
34819281eeSdp-armCC := gcc
35819281eeSdp-arm
36819281eeSdp-arm.PHONY: all clean distclean
37819281eeSdp-arm
38819281eeSdp-armall: ${PROJECT} fip_create
39819281eeSdp-arm
40819281eeSdp-arm${PROJECT}: ${OBJECTS} Makefile
41819281eeSdp-arm	@echo "  LD      $@"
429df69ba3Sdp-arm	${Q}${CC} ${OBJECTS} -o $@ ${LDLIBS}
43819281eeSdp-arm	@${ECHO_BLANK_LINE}
44819281eeSdp-arm	@echo "Built $@ successfully"
45819281eeSdp-arm	@${ECHO_BLANK_LINE}
46819281eeSdp-arm
47819281eeSdp-armfip_create: fip_create.sh
48c2427cb0Sdp-arm	${Q}mkdir -p ../fip_create
49c2427cb0Sdp-arm	${Q}install -m 755 fip_create.sh ../fip_create/fip_create
50819281eeSdp-arm
51819281eeSdp-arm%.o: %.c %.h ${COPIED_H_FILES} Makefile
52819281eeSdp-arm	@echo "  CC      $<"
53819281eeSdp-arm	${Q}${CC} -c ${CPPFLAGS} ${CFLAGS} ${INCLUDE_PATHS} $< -o $@
54819281eeSdp-arm
55819281eeSdp-arm#
56819281eeSdp-arm# Copy required library headers to a local directory so they can be included
57819281eeSdp-arm# by this project without adding the library directories to the system include
58819281eeSdp-arm# path. This avoids conflicts with definitions in the compiler standard
59819281eeSdp-arm# include path.
60819281eeSdp-arm#
61819281eeSdp-armuuid.h : ../../include/lib/stdlib/sys/uuid.h
62819281eeSdp-arm	$(call SHELL_COPY,$<,$@)
63819281eeSdp-arm
64819281eeSdp-armfirmware_image_package.h : ../../include/common/firmware_image_package.h
65819281eeSdp-arm	$(call SHELL_COPY,$<,$@)
66819281eeSdp-arm
67819281eeSdp-armclean:
68819281eeSdp-arm	$(call SHELL_DELETE_ALL, ${PROJECT} ${OBJECTS} fip_create)
69819281eeSdp-arm
70819281eeSdp-armdistclean: clean
71819281eeSdp-arm	$(call SHELL_DELETE_ALL, ${COPIED_H_FILES})
72