1

我有一个脚本,可以生成以前未知编号和名称的 c++ 源文件,然后需要将其编译到一个库中。到目前为止,我在 Makefile 中使用一个简单的(shell)for 循环来执行此操作:

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

目录中不会有其他 c++ 源代码,所以我只编译那里的所有内容。

现在我想将我的构建系统更改为 autoconf/automake,我想知道这样做的“正确”方式是什么。我发现的教程仅涵盖您知道将生成的源的数量和名称的情况。

例如,有没有一种方法可以访问编译器名称和 autoconf/automake 为我整理的所有标志,以便我可以将它们插入到我自己的编译命令中?

提前致谢。

4

3 回答 3

2

我会更改脚本以显式生成Makefile.am所有这些文件的列表。

于 2012-04-15T22:08:36.367 回答
0

所以你有类似的东西:

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) $<
于 2012-04-18T17:07:26.163 回答
0
SRC= $(wildcard *.cpp)
OBJ= $(SRC:.cpp=.o)
[...]
target: $(OBJ)
于 2012-05-16T14:37:00.447 回答