Makefile,“配置”文件和其他编译工具 – 它们如何工作?为什么他们按照他们的方式工作?

我还是UNIX / Linux世界的新手,特别是相关工具,如GCC编译器.也就是说,我仍然是新的makefile和这样的东西(我在Windows上使用MinGW),因为到目前为止,我的大部分开发都是使用像Visual Studio和Eclipse这样的IDE.

当我打开一个典型的项目文件夹,我看到这样的文件

configure
make
INSTALL
install-sh  (or a variant)

这里有很多我不明白的东西,我的主要问题是这些:

>这些之间有什么区别,为什么我们需要每一个? (在IDE世界中,你所有的都是一个项目文件;就是这样,所以我很困惑,为什么我们不仅仅是一个makefile)
>这些文件如何生成?对于小型项目,您可能手工编写,但对于像GCC这样的大型项目,甚至可以尝试.我发现编辑这些文件一个痛苦,我得出结论,我不应该手工修改它们.但是如果是这样,那么人们通常会使用哪些工具来添加修改这些文件
>为什么不在makefile中使用通配符?为什么每一个对象文件都有一行?这是因为限制还是有优势吗?
一个shell脚本调用编译器和每个文件有什么区别,并有一个makefile做同样的事情?在Windows中,我非常想尝试在文件夹中创建一个批处理文件,并且编译所有内容 – 不需要多于一个文件.有什么不同?为什么不是只有一个.sh文件来编译一切?

奖金问题:

>是否有“标准”的makefile格式?我看到不同的make工具不接受彼此的格式…我该如何知道使用什么? GCC只是这里常用的工具,还是有一些标准呢?

当我更多地了解这样的项目的结构时,我可能会有更多的问题,但现在这些是我最大的问题.

相关文章

本程序的编译和运行环境如下(如果有运行方面的问题欢迎在评...
水了一学期的院选修,万万没想到期末考试还有比较硬核的编程...
补充一下,先前文章末尾给出的下载链接的完整代码含有部分C&...
思路如标题所说采用模N取余法,难点是这个除法过程如何实现。...
本篇博客有更新!!!更新后效果图如下: 文章末尾的完整代码...
刚开始学习模块化程序设计时,估计大家都被形参和实参搞迷糊...