首页 理论教育 编写makefile文件-Linux系统编程

编写makefile文件-Linux系统编程

时间:2023-11-16 理论教育 版权反馈
【摘要】:在一个makefile文件中通常包含如下内容:需要由make工具创建的目标体,通常是目标文件或可执行文件。例5.5设计一个程序,要求计算学生的总成绩和平均成绩,并用make工程管理器编译。chengji.h为头文件,内含fun_avg和fun_sum函数的声明:5-5-fun_sum.c为fun_sum函数的定义:5-5-main.c为主程序:5-5-fun_avg.c为fun_avg函数的定义:步骤2:编辑makefile文件。修改4个文件中的一个,重新用make编译,会发现只编译了5-5-main.c程序,另外的2个c源程序文件根本没有重新编译。makefile文件的编写是本小节的重点。

编写makefile文件-Linux系统编程

在一个makefile文件中通常包含如下内容:

(1)需要由make工具创建的目标体(target),通常是目标文件或可执行文件。

(2)要创建的目标所依赖的文件。

(3)创建每个目标体时需要运行的命令。

例5.5 设计一个程序,要求计算学生的总成绩和平均成绩,并用make工程管理器编译。

步骤1:分析程序、分割文件。

此程序有主函数main和自定义函数fun_sum和fun_avg,把函数声明都分割成独立的头文件,可将此程序分割成下面4个文件。

(1)chengji.h为头文件,内含fun_avg和fun_sum函数的声明:

(2)5-5-fun_sum.c为fun_sum函数的定义:

(3)5-5-main.c为主程序:

(4)5-5-fun_avg.c为fun_avg函数的定义:

步骤2:编辑makefile文件。(www.xing528.com)

vim makefile5-5

makefile内容:

5-5:5-5-main.o 5-5-fun_sum.o 5-5-fun_avg.o

步骤3:用make命令编译程序

make –f makefile5-5

步骤4:用make命令再次编译。

修改4个文件中的一个,重新用make编译,会发现只编译了5-5-main.c程序,另外的2个c源程序文件根本没有重新编译。

步骤5:运行程序。

./5-5

从结果来看,在没有使用GCC编译器命令情况下,依然把设计的程序编译成了可执行文件,实现了设计的功能,可见make工程管理器调用了GCC编译器。makefile文件的编写是本小节的重点。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈