В настоящее время я работаю над проектом, использующим шаблоны довольно широко, и сталкиваюсь с ограничениями памяти при создании экземпляров. Я разделил инстанцирование на несколько очень простых файлов, которые состоят только из трех строк и включают только включения.
Я позволил им генерироваться правилом в Makefile.am. Теперь у меня есть довольно длинный список файлов, которые должны быть сгенерированы в моем Makefile, и я хотел бы реорганизовать этот список с помощью foreach-подобного выражения. В более конкретном плане: у меня есть строка вроде
libfoo_la_SOURCES = a_0.cpp a_1.cpp ... b_0.cpp b_1.cpp ... c_0.cpp c_1.cpp ...
, который может быть более кратко выражен как
libfoo_la_SOURCES = $(foreach i,a b ...,$(foreach j,0 1 ...,$i_$j.cpp))
Тем не менее, вторая конструкция не только предупреждается automake, но и не работает: файлы, указанные таким образом, не компилируются и не очищаются.
Мой текущий обходной путь - создание этого списка файлов сценарием оболочки.
Есть идеи, как реализовать эту итерацию?