Неизвестное количество встроенных источников с помощью автозапчастей

У меня есть скрипт, который генерирует исходные файлы C++ с ранее неизвестным номером и именем, которые затем необходимо собрать в одну библиотеку. Пока что я делаю это с помощью простого (shell) цикла for в моем Makefile:

compile:
        for f in `ls -1 *.cpp` ; do g++ -c ...
        ...

В каталоге не будет других исходных текстов на С ++, поэтому я просто скомпилирую все, что там есть.

Теперь я хочу изменить свою систему сборки на autoconf / automake, и мне интересно, каким будет "правильный" способ сделать это. Обучающие программы, которые я нашел, охватывают только случай, когда вы знаете количество и имена источников, которые будут сгенерированы.

Например, есть ли способ получить доступ к имени компилятора и ко всем флагам, которые autoconf / automake собрал для меня, чтобы я мог вставить их в свою собственную команду компиляции?

Заранее спасибо.

3 ответа

Я бы изменил скрипт для генерации Makefile.am перечисляя все эти файлы явно.

Итак, у вас есть что-то вроде:

FOO_SCRIPT=script.sh
libfoo_la_SOURCES=foo.cpp bar.cpp baz.cpp

foo.cpp : foo.input
        $(FOO_SCRIPT) $<

bar.cpp baz.cpp : bar.input
        $(FOO_SCRIPT) $<
SRC= $(wildcard *.cpp)
OBJ= $(SRC:.cpp=.o)
[...]
target: $(OBJ)
Другие вопросы по тегам