`
hyshucom
  • 浏览: 809182 次
文章分类
社区版块
存档分类
最新评论

make makefile GCC/CC

 
阅读更多
刚接触linux编程,很多概论都比较模糊,今天突然用到makefile文件,想到了make与gcc的关系。于是查阅了一些资料,在此做一个小结:

1.gcc是编译一个文件,make是编译多个源文件的工程文件的工具。

2.make是一个命令工具,是一个解释makefile中指令的命令工具,一般来说,大多数的IDE都有这个命令,比如:Delphi的make,Visual C++的nmake,Linux下GNU的make。可见,makefile都成为了一种在工程方面的编译方法。

3.make就是按照makefile脚本对整个项目的各个文件进行分别编译和链接,makefile基本上就是"目标"(target),"关连"(dependencies) 和"动作"三者所组成的脚本。makefile 文件是许多编译器--包括 Windows NT 下的编译器--维护编译信息的常用方法,只是在集成开发环境中,用户通过友好的界面修改 makefile 文件而已。make除了可以做到编译和连结,也可以把如何产生文档(如manual page, info档及 dvi 档) ,以及打包压缩都完成。

4.make 可以说是一个批处理程序,它可以自动编译多个文件。当然写好的脚本是前提。MAKE是运用GCC去编译文件的。

5.Makefile文件作为一种描述文档一般需要包含以下内容:

◆ 宏定义

◆ 源文件之间的相互依赖关系

◆ 可执行的命令

Makefile中允许使用简单的宏指代源文件及其相关编译信息,在Linux中也称宏为变量。在引用宏时只需在变量前加$符号,但值得注意的是,如果变量名的长度超过一个字符,在引用时就必须加圆括号()。

下面都是有效的宏引用:

$(CFLAGS)

$Z

$(Z)

其中最后两个引用是完全一致的。


个人总结:

gcc就是一个纯编译器

而make翻译完makefile中的指命后由gcc具体来执行

只有把makefile解决 一切ok
分享到:
评论

相关推荐

    make以及makefile学习

    本篇文章详细阐述了unix环境下的make的使用,默认的编译器是UNIX下的GCC和CC。

    CC++ 通用 Makefile

    本文提供了一个用于对 C/C++ 程序进行编译和连接以产生可执行程序的通用 Makefile。...这个 Makefile 可以在 GNU Make 和 GCC 编译器下正常工作。但是不能保证对于其它版本的 Make 和编译器也能正常工作。

    Makefile.pdf

    现在讲述如何写makefile的文章比较少,这是我想写这篇文章的原因。当然,不同产商的make各不相同, 也有不同的语法,但其本质都是在 “文件依赖性”上做文章,这里,我仅对GNU...这里所默认的编译器是UNIX下的GCC和CC。

    sogou_toolchain.tar.gz

    COLLECT_GCC=arm-openwrt-linux-muslgnueabi-gcc.bin COLLECT_LTO_WRAPPER=/home/rootroot/sogou/toolchain/bin/../libexec/gcc/arm-openwrt-linux-muslgnueabi/5.2.0/lto-wrapper Target: arm-openwrt-linux-...

    万能makefile写法详解,一步一步写一个实用的makefile

    可见,只要把这些行挪到makefile里,就能自动定义main.c的依赖是哪些文件了,做法是把命令的输出重定向到.d文件里:gcc -MM main.c > main.d,再把这个.d文件include到makefile里。 如何include当前目录每个.c生成的...

    跟我一起写makefile

    什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。...这里所默认的编译器是UNIX下的GCC和CC。

    跟我一起写 Makefile (PDF 重制版)

    什么是 makefile?或许很多 Winodws 的程序员都不知道这个东西,因为那些 Windows 的集成开 发环境(integrated development environment,IDE)都为你做了这个工作,但...这里所默认的编译器是 UNIX 下的 GCC 和 CC。

    Linux的makefile语法规则

    这里所默认的编译器是UNIX下的GCC和CC。 二、关于程序的编译和链接 —————————— 在此,我想多说关于程序编译的一些规范和方法,一般来说,无论是C、C++、还是pas,首先要把源文件编译成中间代码文件,在...

    如何编写Makefile

    概述 什么是 makefile?或许很多Windows 的程序员都不知道这个东西,因为那些Windows 的IDE 都为你做了这个工作,但我觉得 要作一个好的和...这里所默认的编译器是UNIX 下的GCC 和CC。 关于程序的编译和链接

    zip30 unzip60 源码下载以及编译,以及自定义交叉编译方法

    CC = /home/mipsel-unknown-linux-gnu/bin/mipsel-unknown-linux-gnu-gcc-4.4.6 然后重新clean 后再编译即可: make -f unix/Makefile clean make -f unix/Makefile generic (--编译unzip60 如上类似--)

    《跟我一起写 Makefile》(作者:陈皓,整理:祝东华)

    什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是...这里所默认的编译器是UNIX下的GCC和CC。 ——陈皓

    GCC_MakefileProject:GCC主机上CC ++的模板M​​akefile项目

    Template_MakeProject GCC主机上的C / C ++模板Makefile项目两种文件结构,Makefile是通用的,projcet.mk是项目特定的自动化的依赖关系创建所有路径都在构建目录中展平,以避免相同的文件名冲突灵活的源包含,通过...

    跟我一起写 Makefile.pdf

    什么是 makefile?或许很多 Windows 的程序员都不知道这个东西,因为那些 Windows 的集成开 发环境(integrated development environment, IDE)都为你做了这个工作,但我...这里所默认的编译器是 UNIX 下的 GCC 和 CC

    ubuntu安装gcc源码过程中报错情况记录

    编译源码方式安装gcc过程中报错信息的记录以及排错的记录

    跟我一起写Makefile

    什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。...这里所默认的编译器是UNIX下的GCC和CC。

    跟我一起写 Makefile

    什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。...这里所默认的编译器是UNIX下的GCC和CC。

Global site tag (gtag.js) - Google Analytics