Makefile的编写

一、Makefile简介:

工程管理器,顾名思义,是指管理较多的文件,Make工程管理器也就是个“自动编译管理器”,这里的“自动”是指它能够根据文件时间戳自动发现更新过的文件而减少编译的工作量,同时,它通过读入Makefile文件文件的内容来执行大量的编译工作,Make将只编译改动的代码文件,而不用完全编译。

Makefile文件一般和项目的其他源文件放在同一个目录下。在机器上可以同时存在许多不同的makefile文件,如果一个大项目,可以用多个不同的makefile文件来分别管理项目的不同部分。

Make命令和makefile文件的结合提供了有一个在项目管理领域十分强大的工具,不仅可以用于控制源代码的编译,而且还可以用于手册也的编写以及将应用程序安装到目标目录。

Makefile是make读入的唯一文件。

二、Makefile编写原则

(1)需要由make工具创建的目标文件(target),通常是目标文件或可执行文件。
(2)创建目标文件所依赖的文件
(3)创建每个目标文件的命令,这一行必须先按tab键开头
例如:有以下文件text.c 编写Makefile
test:test.c
gcc text.c -o test
如果要运行的话,直接在输入make

当有很多文件时:main.c bar.c bar.h foo.c foo.h 编写Makefile
main: mian.c foo.o bar.o
gcc main.c foo.o bar.o
foo.o:foo.c
gcc -c foo.c
bar.o:bar.c
gcc -c bar.o
clean:
rm *.o main
当要改变编译器时,可以设置一个变量,如:

CC=gcc
main: mian.c foo.o bar.o
	$(CC) main.c foo.o bar.o
foo.o:foo.c
	$(CC) -c foo.c
bar.o:bar.c
	$(CC) -c bar.o
clean:
	rm *.o main

当有两个主函数时

CC=gcc
all:main_max main_min
main_min:main_min.c foo.o bar.o
	$(CC) main_min.c foo.o bar.o -o main_min
main_max: main_max.c foo.o bar.o
	$(CC) main_max.c foo.o bar.o -o main_max
foo.o:foo.c
	$(CC) -c foo.c
bar.o:bar.c
	$(CC) -c bar.o
clean:
	rm *.o main_min main_max
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值