Makefile 个人理解

来源:互联网 发布:卡门涡街 知乎 编辑:程序博客网 时间:2024/06/04 17:44

  1.makefile 都成为了一种在工程方面的编译方法

   2.make 命令执行时,需要一个 Makefile 文件,以告诉 make 命令需要怎么样的去编译和链接程序

  格式: #Makefile for main1(文件名----适用于有多个文件时,用make main1)

                 目标文件($@):源文件($^) ----所依赖的文件,有多个时以空格分开

                                               gcc   -o(参数 -c等)    $@(可以省略)    $^

                   


 3.make clean的拓展

   在malefile里面写一条命令  例如:


运行make xinjian  就相当与输入mkdir a   建一个a文件 ,若将a设置为一个变量,则可以直接make+别名  代替这条命令

  

  make 是如何工作的
在默认的方式下,也就是我们只输入 make 命令。那么,
1、make 会在当前目录下找名字叫“Makefile”或“makefile”的文件。
2、如果找到,它会找文件中的第一个目标文件(target),在上面的例子中,他会找到“edit”这个文件,并把这个文件作为最终的目标文件。
3、如果 edit 文件不存在,或是 edit 所依赖的后面的 .o 文件的文件修改时间要比 edit这个文件新,那么,他就会执行后面所定义的命令来生成 edit 这个文件。
4、如果 edit 所依赖的.o 文件也存在,那么 make 会在当前文件中找目标为.o 文件的依赖性,如果找到则再根据那一个规则生成.o 文件。(这有点像一个堆栈的过程)
5、当然,你的 C 文件和 H 文件是存在的啦,于是 make 会生成 .o 文件,然后再用 .o 文件生命 make 的终极任务,也就是执行文件 edit 了。

原创粉丝点击