make工程管理器通过对makefile文件的解读来实现工程的自动编译,以此来解决复杂的代码目录结构。
要想实现make就必须要学会编写makefile文件。makefile主要有三大语法:
1.makefile的三要素:目标体,依赖,命令
其构成格式如下:
目标体:依赖文件
命令
执行命令,最终生成目标体,生成这个目标体需要哪些依赖文件。
2.makefile的执行顺序:
makefile从第一行开始执行,如果第一行的依赖还是一个目标,就跳到此目标执行相应命令。因此,最终目标体最好放在第一行。
3.makefile先将.c文件编译成.o文件
这一条规定的主要原因是为了节省修改后的编译时间,不需要重复编译
makefile工程中一般存在三类makefile:
1.总控的makefile:这一makefile将进入各个目录执行make命令,并且将所有.o文件链接生成可执行文件。
2.功能makefile:将各个文件夹中的.c文件编译成.o文件
3.scripts文件夹中的makefile:定义各种变量,相当于c语言中的头文件
以下是一个makefile案例:
这是scripts文件夹中的makefile,定义了一些变量
总控makefile
子目录Makefile
这样,在总控makefile所在目录下输入make即可自动编译,输入make clean 即可自动删除。其他程序只需要修改下scripts文件夹的文件夹,库,和编译选项就可以了。