Предложение Beta использовать join находится на правильном пути, но проблема в том, что использовать его не так просто, чтобы создать командную строку, содержащую пробел, такую, как вы изначально хотели:*
потому что join объединяет слова: изначально он был предназначен для создания имен файлов.Однако вы можете подшутить;Вот пример использования объединения, которое дает вам искомый результат:
$(subst ^, ,$(join $(addprefix cp^,$(LIST1)),$(patsubst %,^%;,$(LIST2))))
Если вы считаете, что ваши списки могут содержать ^
символов, выберите другое.Дайте мне знать, если вам нужно это распаковано / объяснено.