#整理:lizhangjie 日期:2010年12月24日
------------------------------------------------------------------------------------------------
前言:
------------------------------------------------------------------------------------------------
学习linux要了解几大工具:shell,gcc,makefile,这里说的主要是makefile以及和makefile及其
相关的gcc(主要是一些常用参数和gcc使用格式)。对这些工具的做一些基础的了解和掌握能使你的工作事半
功倍,也是成为linux C程序员的必经之路。
正文:
------------------------------------------------------------------------------------------------
GNU make主要功能是读进一个文本文件Makefile并根据Makefile的内容执行相应的动作。Makefile默认的文件名
为GNU make、makefile、Makefile。Makefile是文本形式的数据库文件,主要描叙哪些文件(target目标文件)是
从哪些文件(dependency依赖文件)产生,以及使用什么命令来执行这个过程。
内容格式:
目标文件列表 : 依赖文件列表
<TAB>命令列表
目标文件列表: make最终要创建的文件,目标文件之间用空格隔开。
依赖文件列表: 通常是需要编译的目标文件和其他文件。
命令列表: make执行的动作,通常是把指定的文件编译成目标文件的命令。每个命令之前都需要TAB字符。
make语法:
make[选项][目标][宏定义]
[选项]:
-d 显示调试信息
-f 文件名 指定该文件为依赖关系文件;'-'表示make将从标准输入中读取依赖关系
-n 不执行Makefile中的命令,只是显示输出这些命令。
-s 执行Makefile但是不显示任何信息。
下面我们单刀直入,通过例子来了解makefile是怎么写出来的。
------------------------------------------------------------------------------------------------
makefile的最初版本(所有依赖关系都显式地表明):
#Author : lizhangjie Date:2010.12.22
#introduction: compile c sourcefiles into