第九章 开发工具

来源:互联网 发布:淘宝如何做企业店铺 编辑:程序博客网 时间:2024/06/05 08:42

第九章 开发工具

makefile的语法

  1. makefile由一组依赖关系和规则组成,每个依赖关系由一个目标和一组该目标所依赖的源文件组成,而规则描述了如何通过这些依赖文件创建目标
  2. make命令会读取makefile文件的内容,它先确定目标文件或者要创建的文件,然后比较该目录所依赖的源文件的日期和时间以决定该采用哪条规则来构建目标

make命令的选项和参数

  1. -k:它的作用是让make命令在发现错误时仍然继续执行,而不是检测到第一个错误时就停止
  2. -n:它的作用是让make命令输出将要执行的操作步骤,而不真正的执行这些动作
  3. -f :它的作用是告诉make命令将哪个文件作为makefile文件
  4. 许多程序员都会在自己的makefile文件中将第一个目标定义为all,然后再列出其它从属目标.这个约定可以明确的告诉make命令,在未指定特定目标时,默认情况下应该创建哪个目标

1. 依赖关系

  1. 写法:先写目标名称,然后紧跟一个冒号,接着是空格或者制表符tab,最后用空格或者制表符号隔开的文件列表
  2. 如果想一次创建多个目标文件,你可以利用伪目标all:
     
    app: myapp myapp.1

2. 规则

  1. 在makefile规则中,空格和制表符tab是有区别的
  2. 规则所在的行必须以制表符tab开头,用空格是不行的
  3. 当删除或者修改了一些文件之后make会以最少的命令进行重建

一个简单的makefile文件:Makefile1

myapp: main.o 2.o 3.o    gcc -o myapp main.o 2.o 3.omain.o: main.c a.h    gcc -c main.c2.o: 2.c a.h b.h    gcc -c 2.c3.o: 3.c b.h c.h    gcc -c 3.c$make -f Makefile1

makefile文件中的宏

  1. 通过语句: MACRONAME=value在文件中定义宏
  2. 引用宏的语法是(MACRONAME){MACRONAME}
  3. 命令行上的宏定义会覆盖makefile文件中的宏,例如:make “CC = gcc”会覆盖makefile文件中的宏定义

带宏定义的makefile文件

0 0