Makefile
来源:互联网 发布:背地图的软件 编辑:程序博客网 时间:2024/06/02 05:12
1. makefile就像一个Shell脚本一样,可以执行操作系统的命令,它定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作
2.make 是一个命令工具,用来解释Makefile文件中的指令(规则)。可以避免许多不必要的编译
3. 编写规则: 目标:依赖
执行指令
2.编写C的makefile文件
4. makefile文件引入变量需加 $
5.makefile 预定义变量
$* 不包含扩展名的目标文件名称。
$+ 所有的依赖文件,以空格分开,并以出现的先后为序,可能包含重复的依赖文件。
$< 第一个依赖文件的名称。
$? 所有的依赖文件,以空格分开,这些依赖文件的修改日期比目标的创建日期晚。
$@ 目标的完整名称。
$^ 所有的依赖文件,以空格分开,不包含重复的依赖文件。
$% 如果目标是归档成员,则该变量表示目标的归档成员名称。例如,如果目标名称为
(image.o),则 $@ 为 ,而 $% 为 image.o。
AR 归档维护程序的名称,默认值为 ar。
ARFLAGS 归档维护程序的选项。
AS 汇编程序的名称,默认值为 as。
ASFLAGS 汇编程序的选项。
CC C编译器的名称,默认值为 cc。
CFLAGS C编译器的选项。
CPP C 预编译器的名称,默认值为 $(CC) -E。
CPPFLAGS C预编译的选项。
CXX C++编译器的名称,默认值为 g++。
CXXFLAGS C++编译器的选项。
FC FORTRAN编译器的名称,默认值为 f77。
FFLAGS FORTRAN编译器的选项。
2.make 是一个命令工具,用来解释Makefile文件中的指令(规则)。可以避免许多不必要的编译
3. 编写规则: 目标:依赖
执行指令
1.编写c++的makefile文件
#注释makefile:all:helloclean:-rm main.o hellohello:main.o g++ -g -o hello main.omain.o:main.cpp g++ -c -g main.o main.cpp
2.编写C的makefile文件
#注释makefile:all:helloclean:-rm main.o hellohello:main.o gcc -g -o hello main.omain.o:main.c gcc -c -g main.o main.c
4. makefile文件引入变量需加 $
5.makefile 预定义变量
$* 不包含扩展名的目标文件名称。
$+ 所有的依赖文件,以空格分开,并以出现的先后为序,可能包含重复的依赖文件。
$< 第一个依赖文件的名称。
$? 所有的依赖文件,以空格分开,这些依赖文件的修改日期比目标的创建日期晚。
$@ 目标的完整名称。
$^ 所有的依赖文件,以空格分开,不包含重复的依赖文件。
$% 如果目标是归档成员,则该变量表示目标的归档成员名称。例如,如果目标名称为
(image.o),则 $@ 为 ,而 $% 为 image.o。
AR 归档维护程序的名称,默认值为 ar。
ARFLAGS 归档维护程序的选项。
AS 汇编程序的名称,默认值为 as。
ASFLAGS 汇编程序的选项。
CC C编译器的名称,默认值为 cc。
CFLAGS C编译器的选项。
CPP C 预编译器的名称,默认值为 $(CC) -E。
CPPFLAGS C预编译的选项。
CXX C++编译器的名称,默认值为 g++。
CXXFLAGS C++编译器的选项。
FC FORTRAN编译器的名称,默认值为 f77。
FFLAGS FORTRAN编译器的选项。
如果有更新则执行下一行的程序代码。因此Makefile可以把文件关联起来
0 0
- Makefile
- Makefile
- makefile
- makefile
- makefile
- Makefile
- Makefile
- Makefile
- Makefile
- Makefile
- Makefile
- makefile
- Makefile
- makefile
- Makefile
- makefile
- makefile
- makefile
- Pomelo 新手入门(一)
- Unity 基础知识
- 关于SharedPreferences 保存list数据到持久层
- jq获取表单值与赋值代码
- STM32的SPI时钟
- Makefile
- xcode 如何设置第三方库不使用ARC
- 元件使用教程——数据类元件
- 关于Oracle Timezone的一点总结
- Pomelo 新手入门(二)
- 已知旋转中心和旋转角度,获得旋转之后的一组点坐标
- windows下socket编程,多线程
- 前端知识汇总【面试用】(二)
- Spring jws 快速发布webservice