* make实质上是一个应用程序

    * 用于解析源程序之间的依赖关系

    * 根据依赖关系自动维护编译的工作

    * 执行宿主操作系统的各种命令

    * make命令

        * make -f <file> <目标>,可简化为make <目标> 或者直接make

 

* Makeflile是一个描述文件

    * 定义各种规则来指定源文件的编译顺序

    * 有特定的语法和函数定义,支持函数定义和调用

    * 能直接集成操作系统的命令

    * 用于定义源程序之间的依赖关系

    * 说明如何编译源文件各个源文件并生成可执行文件

    * makefile用于指导make如何完成工作,make根据makefile中的规则执行命令,完成编译工作

    * 语法格式

        * targets(目标文件名或make需要的命令名称) : prerequisites(依赖) '\n''\t'command(命令)

 

 

*makefile依赖规则

    *当目标文件名不存在是,执行对应命令

    *当依赖在时间上比目标更新,执行该命令

    *当依赖关系连续发生时,对比依赖链上的每一个目标

 

*makefile可在命令前加上@符号,使命令无回显

 

*makefile示例代码

hello.out all : func.o main.o             //依赖可有多个,用空格隔开

    gcc -o hello.out func.o main.o

    

func.o : func.c                          

    gcc -o func.o -c func.c

    

main.o : main.c

    gcc -o main.o -c main.c