1*54fd6939SJiyong Park# 2*54fd6939SJiyong Park# Copyright (c) 2016-2018, ARM Limited and Contributors. All rights reserved. 3*54fd6939SJiyong Park# 4*54fd6939SJiyong Park# SPDX-License-Identifier: BSD-3-Clause 5*54fd6939SJiyong Park# 6*54fd6939SJiyong Park 7*54fd6939SJiyong Park# Trusted Firmware shell command definitions for a Unix style environment. 8*54fd6939SJiyong Park 9*54fd6939SJiyong Parkifndef UNIX_MK 10*54fd6939SJiyong Park UNIX_MK := $(lastword $(MAKEFILE_LIST)) 11*54fd6939SJiyong Park 12*54fd6939SJiyong Park ECHO_BLANK_LINE := echo 13*54fd6939SJiyong Park ECHO_QUIET := @\# 14*54fd6939SJiyong Park 15*54fd6939SJiyong Park DIR_DELIM := / 16*54fd6939SJiyong Park PATH_SEP := : 17*54fd6939SJiyong Park 18*54fd6939SJiyong Park # These defines provide Unix style equivalents of the shell commands 19*54fd6939SJiyong Park # required by the Trusted Firmware build environment. 20*54fd6939SJiyong Park 21*54fd6939SJiyong Park # ${1} is the file to be copied. 22*54fd6939SJiyong Park # ${2} is the destination file name. 23*54fd6939SJiyong Park define SHELL_COPY 24*54fd6939SJiyong Park ${Q}cp -f "${1}" "${2}" 25*54fd6939SJiyong Park endef 26*54fd6939SJiyong Park 27*54fd6939SJiyong Park # ${1} is the directory to be copied. 28*54fd6939SJiyong Park # ${2} is the destination directory path. 29*54fd6939SJiyong Park define SHELL_COPY_TREE 30*54fd6939SJiyong Park ${Q}cp -rf "${1}" "${2}" 31*54fd6939SJiyong Park endef 32*54fd6939SJiyong Park 33*54fd6939SJiyong Park # ${1} is the file to be deleted. 34*54fd6939SJiyong Park define SHELL_DELETE 35*54fd6939SJiyong Park -${Q}rm -f "${1}" 36*54fd6939SJiyong Park endef 37*54fd6939SJiyong Park 38*54fd6939SJiyong Park # ${1} is a space delimited list of files to be deleted. 39*54fd6939SJiyong Park # Note that we do not quote ${1}, as multiple parameters may be passed. 40*54fd6939SJiyong Park define SHELL_DELETE_ALL 41*54fd6939SJiyong Park -${Q}rm -rf ${1} 42*54fd6939SJiyong Park endef 43*54fd6939SJiyong Park 44*54fd6939SJiyong Park # ${1} is the directory to be generated. 45*54fd6939SJiyong Park # ${2} is optional, and allows a prerequisite to be specified. 46*54fd6939SJiyong Park # Do nothing if $1 == $2, to ignore self dependencies. 47*54fd6939SJiyong Park define MAKE_PREREQ_DIR 48*54fd6939SJiyong Park ifneq (${1},${2}) 49*54fd6939SJiyong Park 50*54fd6939SJiyong Park${1} : ${2} 51*54fd6939SJiyong Park ${Q}mkdir -p "${1}" 52*54fd6939SJiyong Park 53*54fd6939SJiyong Park endif 54*54fd6939SJiyong Park endef 55*54fd6939SJiyong Park 56*54fd6939SJiyong Park define SHELL_REMOVE_DIR 57*54fd6939SJiyong Park -${Q}rm -rf "${1}" 58*54fd6939SJiyong Park endef 59*54fd6939SJiyong Park 60*54fd6939SJiyong Parkendif 61