1*54fd6939SJiyong Park# 2*54fd6939SJiyong Park# Copyright (c) 2019-2020, Linaro Limited. All rights reserved. 3*54fd6939SJiyong Park# 4*54fd6939SJiyong Park# SPDX-License-Identifier: BSD-3-Clause 5*54fd6939SJiyong Park# 6*54fd6939SJiyong Park 7*54fd6939SJiyong ParkV ?= 0 8*54fd6939SJiyong ParkBUILD_INFO ?= 1 9*54fd6939SJiyong ParkDEBUG := 0 10*54fd6939SJiyong ParkENCTOOL ?= encrypt_fw${BIN_EXT} 11*54fd6939SJiyong ParkBINARY := $(notdir ${ENCTOOL}) 12*54fd6939SJiyong ParkOPENSSL_DIR := /usr 13*54fd6939SJiyong Park 14*54fd6939SJiyong ParkOBJECTS := src/encrypt.o \ 15*54fd6939SJiyong Park src/cmd_opt.o \ 16*54fd6939SJiyong Park src/main.o 17*54fd6939SJiyong Park 18*54fd6939SJiyong ParkHOSTCCFLAGS := -Wall -std=c99 19*54fd6939SJiyong Park 20*54fd6939SJiyong ParkMAKE_HELPERS_DIRECTORY := ../../make_helpers/ 21*54fd6939SJiyong Parkinclude ${MAKE_HELPERS_DIRECTORY}build_macros.mk 22*54fd6939SJiyong Parkinclude ${MAKE_HELPERS_DIRECTORY}build_env.mk 23*54fd6939SJiyong Park 24*54fd6939SJiyong Parkifeq (${DEBUG},1) 25*54fd6939SJiyong Park HOSTCCFLAGS += -g -O0 -DDEBUG -DLOG_LEVEL=40 26*54fd6939SJiyong Parkelse 27*54fd6939SJiyong Parkifeq (${BUILD_INFO},1) 28*54fd6939SJiyong Park HOSTCCFLAGS += -O2 -DLOG_LEVEL=20 29*54fd6939SJiyong Parkelse 30*54fd6939SJiyong Park HOSTCCFLAGS += -O2 -DLOG_LEVEL=10 31*54fd6939SJiyong Parkendif 32*54fd6939SJiyong Parkendif 33*54fd6939SJiyong Parkifeq (${V},0) 34*54fd6939SJiyong Park Q := @ 35*54fd6939SJiyong Parkelse 36*54fd6939SJiyong Park Q := 37*54fd6939SJiyong Parkendif 38*54fd6939SJiyong Park 39*54fd6939SJiyong Park# Make soft links and include from local directory otherwise wrong headers 40*54fd6939SJiyong Park# could get pulled in from firmware tree. 41*54fd6939SJiyong ParkINC_DIR := -I ./include -I ../../include/tools_share -I ${OPENSSL_DIR}/include 42*54fd6939SJiyong ParkLIB_DIR := -L ${OPENSSL_DIR}/lib 43*54fd6939SJiyong ParkLIB := -lssl -lcrypto 44*54fd6939SJiyong Park 45*54fd6939SJiyong ParkHOSTCC ?= gcc 46*54fd6939SJiyong Park 47*54fd6939SJiyong Park.PHONY: all clean realclean 48*54fd6939SJiyong Park 49*54fd6939SJiyong Parkall: ${BINARY} 50*54fd6939SJiyong Park 51*54fd6939SJiyong Park${BINARY}: ${OBJECTS} Makefile 52*54fd6939SJiyong Park @echo " HOSTLD $@" 53*54fd6939SJiyong Park @echo 'const char build_msg[] = "Built : "__TIME__", "__DATE__;' | \ 54*54fd6939SJiyong Park ${HOSTCC} -c ${HOSTCCFLAGS} -xc - -o src/build_msg.o 55*54fd6939SJiyong Park ${Q}${HOSTCC} src/build_msg.o ${OBJECTS} ${LIB_DIR} ${LIB} -o $@ 56*54fd6939SJiyong Park 57*54fd6939SJiyong Park%.o: %.c 58*54fd6939SJiyong Park @echo " HOSTCC $<" 59*54fd6939SJiyong Park ${Q}${HOSTCC} -c ${HOSTCCFLAGS} ${INC_DIR} $< -o $@ 60*54fd6939SJiyong Park 61*54fd6939SJiyong Parkclean: 62*54fd6939SJiyong Park $(call SHELL_DELETE_ALL, src/build_msg.o ${OBJECTS}) 63*54fd6939SJiyong Park 64*54fd6939SJiyong Parkrealclean: clean 65*54fd6939SJiyong Park $(call SHELL_DELETE,${BINARY}) 66