当前位置: 代码迷 >> 综合 >> makefile 的简单使用
  详细解决方案

makefile 的简单使用

热度:87   发布时间:2023-10-28 07:04:48.0

makefile简介

一个工程中的源文件不计其数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作。你需要做的就是编写makefile 规则,然后 命令行输入 make 就可以为你自动编译了。

gcc 和 gcc -c 的区别

在 Linux 中 gcc 用于直接生成链接文件如果不指明文件名通常为xx.out,gcc -c 用于生成目标文件,不进行链接,文件名后缀为xx.o

makefile 规则示例

objectFile(目标文件):neededFile(所需文件)
          command(生成目标文件所需命令)

简单示例

现有如下几个文件:
在这里插入图片描述
在这里插入图片描述
在命令行键入 make ,控制台结果:

forcehack@forcehack-virtual-machine:~/Desktop$ make
gcc -c main.c
gcc -c hello.c
cc main.o hello.o -o main

make 就自动执行了规则定义的编译过程,执行 make clean 就可以清除中间件产生的 .o 文件了

forcehack@forcehack-virtual-machine:~/Desktop$ make clean
rm *.o

现在剩下的目录结构为:
在这里插入图片描述
多了一个main 文件,和我们定义的规则相同,现在尝试执行一下这个文件 ./main

forcehack@forcehack-virtual-machine:~/Desktop$ ./main
This is main func
This is hello func

一切和预期一致,以上就为makefile 简单规则编写的自我理解

  相关解决方案