Makefile

Makefile

一、Makefile规范

  目标文件1:依赖文件1 依赖文件1.1......
  (tab键)依赖文件1如何生成目标文件
  目标文件2:依赖文件2
  (tab键)依赖文件2如何生成目标文件
注意:
1、两个文件之间没有任何关系,系统默认只执行目标文件1
2、一个Makefile可以有多个目标文件
3、调用make命令时,需要告诉他目标是什么,没有制定目标文件时,

那么make以Makefile文件中定义的第一个目标作为这次的执行文件
例:make clean//执行目标文件clean和它所对应的命令

4、先会执行依赖文件

例:

  目标文件1:目标文件2
  (tab键)echo “1”
  目标文件2:依赖文件2
  (tab键)echo “2”

  结果:先输出2再输出1

二、解决假目标的方法;

在执行make clean的时候

问题:如果文件目录里面有clean文件了,就会出现问题

解决方法:在我们的clean前面再加一个依赖.PHONY:clean就可以了

三、预定义变量

Makefile 预定义变量包含了编译器常见的名称及其编译选项
CC      c编译器的名称 默认为gcc;例CC:=gcc
CFLAGS  c编译器的选项 无默认值例CFLAGS:=-c -g
RM     文件删除程序的别名 默认为rm -rf

四、自定义变量

OBJ和OBJS:一个用于存放可执行文件名,另一个用于放置所有的目标文件名;

五、自动变量

$@:表示目标文件
$^:表示所有的依赖文件
$<:第一个依赖文件

感想收获~

1、目标文件和依赖文件其实就只是一种命令的执行顺序,或者说只是给命令加一个执行顺序。

2、Makefile里面:@命令行//表示只执行该命令行而不输出,因为Makefile在执行的时候是默认将命令输出出来的;

posted @ 2022-03-14 11:40  西北小蚂蚁  阅读(191)  评论(0编辑  收藏  举报