Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit dc53f450 authored by Colin Cross's avatar Colin Cross
Browse files

Make copy-many-files take an optional destination directory

Test: m checkbuild
Change-Id: I777952d27bd1a0cf2608e080a0f46e39268784ce
parent cd75414f
Loading
Loading
Loading
Loading
+3 −0
Original line number Original line Diff line number Diff line
@@ -2480,12 +2480,15 @@ endef


# Copies many files.
# Copies many files.
# $(1): The files to copy.  Each entry is a ':' separated src:dst pair
# $(1): The files to copy.  Each entry is a ':' separated src:dst pair
# $(2): An optional directory to prepend to the destination
# Evaluates to the list of the dst files (ie suitable for a dependency list)
# Evaluates to the list of the dst files (ie suitable for a dependency list)
define copy-many-files
define copy-many-files
$(foreach f, $(1), $(strip \
$(foreach f, $(1), $(strip \
    $(eval _cmf_tuple := $(subst :, ,$(f))) \
    $(eval _cmf_tuple := $(subst :, ,$(f))) \
    $(eval _cmf_src := $(word 1,$(_cmf_tuple))) \
    $(eval _cmf_src := $(word 1,$(_cmf_tuple))) \
    $(eval _cmf_dest := $(word 2,$(_cmf_tuple))) \
    $(eval _cmf_dest := $(word 2,$(_cmf_tuple))) \
    $(if $(strip $(2)), \
      $(eval _cmf_dest := $(patsubst %/,%,$(strip $(2)))/$(patsubst /%,%,$(_cmf_dest)))) \
    $(if $(filter-out $(_cmf_src), $(_cmf_dest)), \
    $(if $(filter-out $(_cmf_src), $(_cmf_dest)), \
      $(eval $(call copy-one-file,$(_cmf_src),$(_cmf_dest)))) \
      $(eval $(call copy-one-file,$(_cmf_src),$(_cmf_dest)))) \
    $(_cmf_dest)))
    $(_cmf_dest)))