target ... : prerequisites ...command............说明:(1) target就是一个目标文件,也就是在这个步骤中,我们想要输出的文件名(可以包括后缀)。(2) prerequisites是要生成那个target所需要的文件,相当于在Windows工程下我们要得到exe文件所需要的源代码文件。(3) command是make需要执行的命令,也就是如何利用prerequisites来生成target。注意,command行要以TAB键开头。三、C程序源代码本文以一个实际的Linux下的C程序工程为例,介绍makefile的编写方法及用法。本文中的程序实现将一个字符串中的小写字母转换成大写字母的功能。有两个头文件:TestMakeFileMore1.h和TestMakeFileMore2.h,放在“head”目录下;有两个源文件:TestMakeFileMore1.c和TestMakeFileMore2.c,分别放在“exec1”和“exec2”目录下。该工程TestMakeFileMore的组织形式如图1所示(“release”目录用于存放生成的文件)。
图1 该工程的组织形式
1. “TestMakeFileMore1.h”文件代码内容/*********************************************************************** 版权所有 (C)2014, Zhou Zhaoxiong。** 文件名称: TestMakeFileMore1.h* 文件标识:无* 内容摘要:将输入字符串中的大写字母变成小写字母* 其它说明:无* 当前版本: V1.0* 作者: Zhou Zhaoxiong* 完成日期: 20140430** 修改记录1:// 修改历史记录, 包括修改日期、版本号、修改人及修改内容* 修改日期: 20140430* 版本号: V1.0* 修改人: Zhou Zhaoxiong* 修改内容:创建**********************************************************************/#ifndef _TESTMAKEFILEMORE1_H_ // 防止头文件被重复引用#define _TESTMAKEFILEMORE1_H_ #include <stdio.h>#include <stdlib.h>#include <string.h> // 重新定义数据类型typedef unsigned charUINT8;typedefint INT32;typedef unsigned int UINT32;#endif