oct*_*pod 1 nmake makefile cmake gnu-make
我有兴趣学习Makefile项目的艺术.但是,我有一个问题.
对于后台:在我的计算机上,我已经nmake安装了,我假设在安装它时附带了Visual Studio.我可能正在考虑让我的C++项目使用makefile结构nmake.但是,如果我想转向其他流行的make版本呢?gmake?这引出了我的主要问题:
如果我学习了make(nmake,gmake)的一个实现并转移到另一个实现,我可以在多大程度上预期makefile语法的差异?在惯例/实践中?
如果每个实现之间存在实质性差异,我会有一个后续问题(有点自以为是):
make我应该首先学习哪种实施?为什么?
cmake根本不是make的实现.这是一个完全不同的工具:cmake是一个创建项目构建控制文件的工具,例如makefile,Visual Studio项目文件,Xcode项目文件,Eclipse项目文件等.Cmake语法与语法没有任何关系.
nmake是一种"制作工具",但它也与其他版本的make不同; 大多数其他版本的make(GNU make,Solaris make,BSD make等)至少符合make的POSIX规范.nmake(据我所知)不会这样做.但是,用于定义规则的nmake的基本语法与make的其他版本类似.
GNU make是一个高度可移植的make版本,支持POSIX,以及大量非便携式扩展.但是,GNU make本身具有高度可移植性:除了Windows(本机和cygwin)和UNIX(BSD,Linux,Solaris等)系统外,它还支持VMS和其他操作系统.
在上面,nmake是最不便携的选择; 它仅在Windows上可用.如果你想使用各种开发工具,cmake是一个不错的选择,但它绝不是像make一样.如果你想学习make和makefiles,并且可以在各种各样的平台上移植,你最好的选择是GNU make.
| 归档时间: |
|
| 查看次数: |
157 次 |
| 最近记录: |