Linux make/Makefile详解

本文详细解析Linux下的makefile,阐述其在大型工程自动化编译中的关键作用。内容涵盖依赖关系、依赖方法、make命令的工作原理,以及如何通过make clean和.PHONY实现项目的清理与避免文件冲突。通过实例解释了如何编写与执行makefile,以实现项目构建的高效自动化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

会不会写makefile,从侧面说明了一个人是否具备完成大型工程的能力。

一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的 规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂 的功能操作。(虽然目前还没有接触过大型项目,但其实这段话是可以理解的。)

makefile带来的好处就是——“自动化编译”,一旦写好,只需要一个make命令,整个工程完全自动编 译,极大的提高了软件开发的效率。

make是一个命令工具,是一个解释makefile中指令的命令工具,一般来说,大多数的IDE都有这个命 令

make是一条命令,makefile是一个文件,两个搭配使用,完成项目自动化构建。


好了好了,不CV了


 起初存在这些文件,下面的makefile的作用是自动化构建项目。 main.c test.c test.h 构建出test可执行程序。  yzl.c 构建出yzl可执行程序

  1 test: test.o main.o
  2     gcc test.o main.o -o test
  3 yzl: yzl.o
  4     gcc yzl.o -o yzl
  5 test.o: test.c
  6     gcc -c test.c -o test.o
  7 main.o: main.s
  8     gcc -c main.s -o main.o
  9 main.s: main.i
 10     gcc -S main.i -o main.s
 11 main.i: main.c
 12     gcc -E main.c -o main.i
 13 yzl.o: yzl.c
 14     gcc -c yzl.c -o yzl.o
 15         
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值