123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- #
- # Copyright (c) 2024, Arm Limited and Contributors. All rights reserved.
- #
- # SPDX-License-Identifier: BSD-3-Clause
- #
- space :=
- space := $(space) $(space)
- comma := ,
- null := �
- compat-path = $(subst $(space),$(null),$(1))
- decompat-path = $(subst $(null), ,$(1))
- absolute-path = $(call decompat-path,$(abspath $(call compat-path,$(1))))
- real-path = $(call decompat-path,$(realpath $(call compat-path,$(1))))
- file-name = $(call decompat-path,$(notdir $(call compat-path,$(1))))
- directory-name = $(call decompat-path,$(dir $(call compat-path,$(1))))
- escape-shell = '$(subst ','\'',$(1))'
- #
- # Upper-case a string value.
- #
- # Parameters:
- #
- # - $(1): The string to upper-case.
- #
- # Example usage:
- #
- # $(call uppercase,HeLlO wOrLd) # "HELLO WORLD"
- #
- uppercase = $(shell echo $(call escape-shell,$(1)) | tr '[:lower:]' '[:upper:]')
- #
- # Lower-case a string value.
- #
- # Parameters:
- #
- # - $(1): The string to lower-case.
- #
- # Example usage:
- #
- # $(call lowercase,HeLlO wOrLd) # "hello world"
- #
- lowercase = $(shell echo $(call escape-shell,$(1)) | tr '[:upper:]' '[:lower:]')
- #
- # Determine the "truthiness" of a value.
- #
- # Parameters:
- #
- # - $(1): The value to determine the truthiness of.
- #
- # A value is considered to be falsy if it is:
- #
- # - empty, or
- # - equal to "0", "N", "NO", "F" or "FALSE" after upper-casing.
- #
- # If the value is truthy then the value is returned as-is, otherwise no value
- # is returned.
- #
- # Example usage:
- #
- # truthy := y
- # truthy-bool := $(call bool,$(truthy)) # "y"
- #
- # falsy := n
- # falsy-bool := $(call bool,$(falsy)) # <empty>
- #
- bool = $(filter-out 0 n no f false,$(call lowercase,$(1)))
- #
- # Determine the "truthiness" of a value, returning 0 or 1.
- #
- # Parameters:
- #
- # - $(1): The value to determine the truthiness of.
- #
- # A value is considered to be falsy if it is:
- #
- # - empty, or
- # - equal to "0", "N", "NO", "F" or "FALSE" after upper-casing.
- #
- # If the value is truthy then the value is returned as-is, otherwise no value
- # is returned.
- #
- # Example usage:
- #
- # truthy := y
- # truthy-bool := $(call bool,$(truthy)) # "1"
- #
- # falsy := n
- # falsy-bool := $(call bool,$(falsy)) # "0"
- #
- bool-01 = $(if $(call bool,$(1)),1,0)
|