【发布时间】:2016-01-26 14:25:48
【问题描述】:
这个问题肯定已经被问过很多次了,但我找不到正确的答案,所以我问。
我的项目结构如下:
/root
| obj
| Makefile
| src/
| | dir1/
| | | 1.cpp
| | dir2/
| | | 2.cpp
| | | dir3/
| | | | 3.cpp
| | | | 4.cpp
| | main.cpp
我可以有一个通用的 makefile 来编译任何子文件夹中的所有 cpp 文件,并具有任何深度的 src 文件夹和,它将生成目标文件到 obj 目录中?
注意此项目正在使用 Eclipse CDT 开发,我希望现在能够提供源代码,而无需用户安装 Eclipse 来构建它
【问题讨论】:
-
哇,make 2016 年用上了! :-)
-
@AmiTavory 我只是在寻找解决这个问题的最简单方法
-
make 并不是为此而设计的。您可能需要编写脚本来动态构建 Makefile。或者切换到另一个构建系统,例如 scons。
-
@AmiTavory,嗯?制作有什么问题? CMake 只不过是一个 make 文件生成器,所以它仍然使用 make。我个人在 configure + make 方面的经验要好得多,而不是 cmake。
-
@SergeyA 我真的没有和你争论。我想这与我们必须做的特定类型的构建的特性有关。我的猜测是,就像市面上任何大量使用的工具一样,一个对某些人来说更适合某些任务,而另一些对某些人来说更适合其他任务。 :-)