通用makefile讲解
来源:互联网 发布:ozzy osbourne 知乎 编辑:程序博客网 时间:2024/06/08 18:33
转载地址:http://bbs.chinaunix.net/thread-3553668-1-1.html
1、关键变量含义
CROSS_COMPILE:交叉编译前缀
OPTIMIZE:关于优化的编译参数
WARNINGS:关于warning的编译参数
DEFS:关于宏定义的编译参数
EXTRA_CFLAGS:其他编译参数
$(OPTIMIZE)$(WARNING)$(DEFS)$(EXTRA_CFLAGS):共同构成了传给gcc的编译参数:
INC_DIR:头文件目录
SRC_DIR:源文件目录(当前目录,是被默认包含的)
OBJ_DIR:object文件的输出目录
EXTRA_SRC:源文件目录
EXCLUDE_FILES:exclude 文件列表
SUFFIX:源文件的后缀名
TARGET:最终的目标程序名
TARGET_TYPE:目标程序的类型:可以定义为ar:static library,so:shared library,和app:application,可执行文件
最终Makefile的行为是:
在$(SRC_DIR)定义的每个目录中查找后缀为$(SUFFIX)的文件,并加上$(EXTRA_SRC)中的文件,然后排除掉$(EXCLUDE_FILES)中的文件,获得本工程定义的源文件列表;对于每一个源文件,编译生成的一个.o文件和一个.d文件(依赖文件),放在$(OBJ_DIR)目录下,最终生成的目标文件为$(TARGET)。
此Makefile已经充分考虑文件之间的依赖关系,即,如果某个头文件发生改变,当运行make的时候,所有依赖于它的源文件将重新被编译。
- 通用Makefile讲解【转】
- 通用makefile讲解
- 通用Makefile
- 通用Makefile
- 通用Makefile
- 通用makefile
- 通用makefile
- 通用Makefile
- 通用Makefile
- 通用makefile
- 通用makefile
- 通用makefile
- 通用makefile
- 通用makefile
- 通用Makefile
- 【makefile】通用 Makefile
- makefile讲解...
- makefile讲解
- 设计模式之Builder模式 (C++实现)
- Java工厂模式
- C# 读取网页上的table
- 用多线程解决页面响应慢的问题
- 浏览器的渲染原理简介
- 通用makefile讲解
- mysql using用法
- JS中获取类似JSP 中的basePath的方法
- synchronized详解
- 推荐引擎(一)
- HTTP协议详解
- (挑战编程_3_2)Where's Waldorf?
- 学习android这些天,学会反编译后顿时伤心了
- 初涉数据库之使用数据