Makefile学习整理
文章平均质量分 55
linux_zhu
这个作者很懒,什么都没留下…
展开
-
Makefile 理论知识
一个完整的Makefile中,包含有:显示规则、隐式规则、变量定义、指示符、注释、伪目标。显示规则:它描述了在何种情况下如何更新一个或者多个目标文件。书写Makefile是需要明确的给出目标文件、目标依赖文件列表以及更新目标文件需要的命令(有些规则没有命令,这样的规则只是描述文件之间的依赖关系)隐式规则:它是make根据目标文件(典型的是根据文件名的后缀)而自动推导出来的规则。make根据原创 2015-05-17 14:30:43 · 608 阅读 · 0 评论 -
Makefile 中条件表达式 以及函数
Makefile中条件表达式的语法为:endif或者elseendif 表示条件关键字:关键字 说明ifeqifeq (arg1,arg2) 比较参数arg1和arg2的值,相同返回true ifneqifneq (arg1,arg2) 比较参数arg1和arg2的值,不同返回true原创 2015-05-17 19:08:44 · 1417 阅读 · 0 评论 -
Makefile 中的变量和规则
隐含变量 内嵌隐含规则的命令中,所使用的变量都是预定义的变量。我们将这些变量称为“隐含变量”。在Makefile中、通过命令行参数或者设置系统环境的方式对它进行重定义。无论是用哪种方式,只要make在运行时它的定义有效,make的隐含规则都会使用这些变量。也可以使用“-R”或者“--no-builtin-variables”选项来取消所有的隐含变量(同时会取消所有的隐含规则)原创 2015-05-17 15:38:22 · 797 阅读 · 0 评论 -
autotools的基本使用
autotools是个系列工具,主要由autoconf、automake、perl语言环境和m4等组成,所包含的命令有5个:下图是autotools使用的流程图:autotools的安装:apt-get install autoconf automake autotools-dev m4autotools使用简单实例如下:准备程序源代码mkdir原创 2015-06-01 20:48:08 · 1906 阅读 · 0 评论 -
Makefile 选项 CFLAGS 、LDFLAGS 、LIBS
CFLAGS 表示用于C编译器的选项 CXXFLAGS 表示用于C++编译器的选项 这两个变量实际上涵盖了编译和汇编的两个步骤CFLAGS:指定头文件(.h)的路径,如:CFLAGS=-I/usr/include -I/path/include 。同样地,安装一个包时会在安装路径下建立一个include目录,当安装过程中出现问题时,试着把以前安装的包的include目录加入到该变原创 2015-07-22 21:12:46 · 2591 阅读 · 0 评论 -
autotools 生成的makefile 常用 目标
make all 不加任何 target , 默认就是 all, 作用是编译软件make install 安装软件包,如果安装到系统目录,需要 root 权限make clean 清除编译产生的目标文件make distclean 可以同时清除编译的结果和 configure 输出的文件make tags 生成 etags 使用的 TAGS 文件make dist 生成软件发布包,为 t原创 2015-07-22 21:04:49 · 651 阅读 · 0 评论 -
Makefile.am 文件介绍
Makefile.am 是一种比 Makefile 更高层次的规则。只需要指定要生成什么目标,它由什么源文件生成,要安装到什么目录 等构成下表列出了可执行文件、静态库、头文件和数据文件,四种书写 Makefile.am 文件的一般格式。 对于可执行文件和静态库类型,如果只想编译,不想安装到系统中,可以用 noinst_PROGRAMS 代替 bin_PROGRAMS, noinst_LIBRARI原创 2015-07-24 10:38:12 · 4722 阅读 · 0 评论