xref: /rk3399_ARM-atf/tools/encrypt_fw/Makefile (revision 90aa901fc1154d2b12aa8d838ef71be47ba3cd07)
1*90aa901fSSumit Garg#
2*90aa901fSSumit Garg# Copyright (c) 2019, Linaro Limited. All rights reserved.
3*90aa901fSSumit Garg#
4*90aa901fSSumit Garg# SPDX-License-Identifier: BSD-3-Clause
5*90aa901fSSumit Garg#
6*90aa901fSSumit Garg
7*90aa901fSSumit GargPROJECT		:= encrypt_fw
8*90aa901fSSumit GargV		?= 0
9*90aa901fSSumit GargBUILD_INFO	?= 1
10*90aa901fSSumit GargDEBUG		:= 0
11*90aa901fSSumit GargBINARY		:= ${PROJECT}${BIN_EXT}
12*90aa901fSSumit GargOPENSSL_DIR	:= /usr
13*90aa901fSSumit Garg
14*90aa901fSSumit GargOBJECTS := src/encrypt.o \
15*90aa901fSSumit Garg           src/cmd_opt.o \
16*90aa901fSSumit Garg           src/main.o
17*90aa901fSSumit Garg
18*90aa901fSSumit GargHOSTCCFLAGS := -Wall -std=c99
19*90aa901fSSumit Garg
20*90aa901fSSumit GargMAKE_HELPERS_DIRECTORY := ../../make_helpers/
21*90aa901fSSumit Garginclude ${MAKE_HELPERS_DIRECTORY}build_macros.mk
22*90aa901fSSumit Garginclude ${MAKE_HELPERS_DIRECTORY}build_env.mk
23*90aa901fSSumit Garg
24*90aa901fSSumit Gargifeq (${DEBUG},1)
25*90aa901fSSumit Garg  HOSTCCFLAGS += -g -O0 -DDEBUG -DLOG_LEVEL=40
26*90aa901fSSumit Gargelse
27*90aa901fSSumit Gargifeq (${BUILD_INFO},1)
28*90aa901fSSumit Garg  HOSTCCFLAGS += -O2 -DLOG_LEVEL=20
29*90aa901fSSumit Gargelse
30*90aa901fSSumit Garg  HOSTCCFLAGS += -O2 -DLOG_LEVEL=10
31*90aa901fSSumit Gargendif
32*90aa901fSSumit Gargendif
33*90aa901fSSumit Gargifeq (${V},0)
34*90aa901fSSumit Garg  Q := @
35*90aa901fSSumit Gargelse
36*90aa901fSSumit Garg  Q :=
37*90aa901fSSumit Gargendif
38*90aa901fSSumit Garg
39*90aa901fSSumit Garg# Make soft links and include from local directory otherwise wrong headers
40*90aa901fSSumit Garg# could get pulled in from firmware tree.
41*90aa901fSSumit GargINC_DIR := -I ./include -I ../../include/tools_share -I ${OPENSSL_DIR}/include
42*90aa901fSSumit GargLIB_DIR := -L ${OPENSSL_DIR}/lib
43*90aa901fSSumit GargLIB := -lssl -lcrypto
44*90aa901fSSumit Garg
45*90aa901fSSumit GargHOSTCC ?= gcc
46*90aa901fSSumit Garg
47*90aa901fSSumit Garg.PHONY: all clean realclean
48*90aa901fSSumit Garg
49*90aa901fSSumit Gargall: clean ${BINARY}
50*90aa901fSSumit Garg
51*90aa901fSSumit Garg${BINARY}: ${OBJECTS} Makefile
52*90aa901fSSumit Garg	@echo "  HOSTLD  $@"
53*90aa901fSSumit Garg	@echo 'const char build_msg[] = "Built : "__TIME__", "__DATE__;' | \
54*90aa901fSSumit Garg                ${HOSTCC} -c ${HOSTCCFLAGS} -xc - -o src/build_msg.o
55*90aa901fSSumit Garg	${Q}${HOSTCC} src/build_msg.o ${OBJECTS} ${LIB_DIR} ${LIB} -o $@
56*90aa901fSSumit Garg
57*90aa901fSSumit Garg%.o: %.c
58*90aa901fSSumit Garg	@echo "  HOSTCC  $<"
59*90aa901fSSumit Garg	${Q}${HOSTCC} -c ${HOSTCCFLAGS} ${INC_DIR} $< -o $@
60*90aa901fSSumit Garg
61*90aa901fSSumit Gargclean:
62*90aa901fSSumit Garg	$(call SHELL_DELETE_ALL, src/build_msg.o ${OBJECTS})
63*90aa901fSSumit Garg
64*90aa901fSSumit Gargrealclean: clean
65*90aa901fSSumit Garg	$(call SHELL_DELETE,${BINARY})
66