Вкрапления элементов в переменных Makefile - PullRequest
0 голосов
/ 10 июня 2018

Я создаю заголовок C, используя Makefile, и хочу сделать что-то вроде этого:

printf '{%s, %s}\n' $(ARRAY1) $(ARRAY2)

за исключением значений в ARRAY1 и ARRAY2 с вкраплениями.

Вот пример:

ARRAY1 := a b c d
ARRAY2 := e f g h

Желаемый вывод:

{a, e}
{b, f}
{c, g}
{d, h}

Подходят только для GNU-решений.

Ответы [ 2 ]

0 голосов
/ 11 июня 2018

Взгляните на gmtt - Набор инструментов таблицы GNUmake .У него есть функция «соединения таблиц» , которая делает то, что вы хотите, при условии, что вы используете таблицы gmtt (не что иное, как список с количеством столбцов в качестве ведущего элемента).

0 голосов
/ 10 июня 2018

Я решил эту проблему, используя комбинацию join и ссылок замещения (хотя вместо этого можно было бы использовать patsubst):

printf '{%s}\n' $(join $(ARRAY1),$(ARRAY2:%=,%))

Это дает достаточно близко к тому, что я хочу, только пропуская пробелпосле запятой.

...