+## $(call file-name,PATH)
+##
+## Strip any trailing `/' from the PATH.
+file-name = $(1:/=)
+
+## $(call base-name,PATH)
+##
+## Expand to the last component of PATH, whether or not it's a directory
+## name with a trailing `/'.
+base-name = $(notdir $(call file-name,$1))
+
+## $(call parent-dir,PATH)
+##
+## Expand to the parent directory of PATH, whether or not it's a directory
+## name with a trailing `/'.
+## `/'.
+parent-dir = $(dir $(call file-name,$1))
+