Automake
ignorantshr
这个作者很懒,什么都没留下…
展开
-
Automake简介
本系列文章均翻译自Automake官方文档:Automake Manual,github同步项目:question目录Automake介绍Autotools介绍2.2.3 标准目录变量2.2.6 并行构建树(VPATH 构建)对比源码树与构建树虚拟路径构建一些特性2.2.8 交叉编译2.2.9 重命名程序2.2.10 指定目的文件夹构建二进制文件2.2.11 准备发布生成构建系统2.4 小程序文...翻译 2019-01-06 14:32:19 · 7343 阅读 · 0 评论 -
23.Automake不能满足使用时
本系列文章均翻译自Automake官方文档:Automake Manual,github同步项目:question扩展Automake规则Makefile.in文件从三个源(Makefile.am、configure.ac以及automake自身)构建。遵守以下约定:用户在Makefile.am中定义的变量的优先级大于在configure.ac中使用AC_SUBST定义的变量,AC_SUB...翻译 2019-01-06 14:39:29 · 371 阅读 · 2 评论 -
20.条件语句
这些条件语句和Make的条件语句不一样。Automake的条件语句的检查是在运行configure脚本的期间,影响的是Makefile.in -> Makefile。条件语句的使用AM_CONDITIONAL (name, condition)在使用条件语句之前,必须在configure.ac的此宏中定义。该宏的作用就是执行condition,将真假结果返回给name。name必须...翻译 2019-01-06 14:39:03 · 1877 阅读 · 0 评论 -
19.Include
本系列文章均翻译自Automake官方文档:Automake Manual,github同步项目:questionAutomake支持include指令,可以用于在automake运行的时候包括其他Makefile片段。include $(top_srcdir)/build-aux/Makefile.subs在片段中,结构体%reldir%被替换为对于基本的Makefile.am的相对路径...翻译 2019-01-06 14:38:36 · 220 阅读 · 0 评论 -
18.规则杂项
本系列文章均翻译自Automake官方文档:Automake Manual,github同步项目:question处理新的文件扩展(后缀规则)向Automake介绍一种新的隐含规则来处理一种文件类型。1.比如,你有一个编译器可以编译.foo文件到.o文件。可以定义一个后缀规则:.foo.o: foocc -c -o $@ $<然后在_SOURCE变量中可以直接使用...翻译 2019-01-06 14:38:08 · 179 阅读 · 0 评论 -
15.测试套件的支持
本系列文章均翻译自Automake官方文档:Automake Manual,github同步项目:question测试套件由一系列的测试用例组成。Automake可以生成代码来处理两种测试套件。基于和dejagnu框架集成。基于通用测试脚本,通过定义特殊变量TESTS激活。好像不支持通配符。第二种允许并发执行测试脚本,使用已有的测试协议(例如TAP),以及自定义测试驱动程序和测试运行...翻译 2019-01-06 14:37:42 · 531 阅读 · 5 评论 -
14.发布
本系列文章均翻译自Automake官方文档:Automake Manual,github同步项目:question14.1 发布基础可以发布多种格式的发布包,不只有tar.gz。发布包含的文件:所有的源文件,Makefilea.am和Makefile.in也会进去Automake内置的常用文件列表,可以通过automake --help查看一些特定条件下产生的文件(比如*AC_CON...翻译 2019-01-06 14:37:13 · 396 阅读 · 0 评论 -
13.清理
本系列文章均翻译自Automake官方文档:Automake Manual,github同步项目:question通常Automake可以自动确定清理的文件。也提供了MOSTLYCLEANFILES, CLEANFILES, DISTCLEANFILES, and MAINTAINERCLEANFILES变量指定额外的需要清理的文件。清理规则:如果make构建了它并且是通常会重新构建的文件...翻译 2019-01-06 14:36:20 · 392 阅读 · 0 评论 -
12.安装
本系列文章均翻译自Automake官方文档:Automake Manual,github同步项目:question文件格式_文件类型。名字中告诉automake构建的是什么的部分被称做primary,即后缀。例如,PROGRAMS掌握了将要被编译和链接的列表。前缀表示将安装到哪个标准目录。目录名后缀:‘PROGRAMS’, ‘LIBRARIES’, ‘LTLIBRARIES’, ‘LISP’,...翻译 2019-01-06 14:35:53 · 235 阅读 · 0 评论 -
10.其它GNU工具
本系列文章均翻译自Automake官方文档:Automake Manual,github同步项目:question10.5 PythonAM_PATH_PYTHON ([version], [action-if-found],[action-if-not-found])寻找python翻译器,会跳过比version小的翻译器。action-if-not-found未传入且没有找到翻译器,那么...翻译 2019-01-06 14:35:27 · 222 阅读 · 0 评论 -
9.其它派生对象
本系列文章均翻译自Automake官方文档:Automake Manual,github同步项目:questionAutomake还支持处理 C程序以外 的派生对象。9.1 可执行脚本完全可以定义和安装脚本类型的程序。使用_SCRIPTSprimary。脚本默认是不发布的,可以使用dist_来改变。# Install my_script in $(bindir) and distribu...翻译 2019-01-06 14:35:01 · 247 阅读 · 0 评论 -
8.构建程序和库
本系列文章均翻译自Automake官方文档:Automake Manual,github同步项目:question8.1 构建一个程序为了构建一个程序,需要告知Automake哪些源是它的一部分,和它应该链接哪些库。8.1.1 定义程序源在一个包含了要被构建进程序的资源(非库或脚本)的文件夹,使用PROGRAMS。程序可以被安装到bindir, sbindir, libexecdir, ...翻译 2019-01-06 14:34:36 · 309 阅读 · 0 评论 -
7.文件夹
本系列文章均翻译自Automake官方文档:Automake Manual,github同步项目:question7.1 递归子文件夹顶层的Makefile.am必须告诉Automake哪些子文件夹将被构建。通过SUBDIRS变量实现。当你在顶级目录执行make命令的时候,在所有的子文件夹中也会执行,自定义的规则除外。note:这些子文件夹中不要求含有Makefile.am文件,只要求含有...翻译 2019-01-06 14:34:00 · 256 阅读 · 0 评论 -
6.扫描configure.ac,使用aclocal
本系列文章均翻译自Automake官方文档:Automake Manual,github同步项目:question6.1 配置要求唯一的要求就是在configure.ac文件中加上AM_INIT_AUTOMAKE宏。下面是几个Automake要求的但是不会被AM_INIT_AUTOMAKE运行的宏AC_CONFIG_FILESAC_OUTPUT这两个经常在末尾被调用,指明了哪些文件会...翻译 2019-01-06 14:33:04 · 1814 阅读 · 0 评论 -
4.编写规则
本系列文章均翻译自make官方文档:make Manual,github同步项目:questionPhony Targets一个伪目标不是一个真正的文件名,只是一个当你明确的运行make请求时会被执行的recipe名字。有两个原因使用伪目标:避免同名文件冲突提升性能解决的问题:clean: rm *.o temp这种写法在没有文件名冲突的时候可以通过make c...翻译 2019-01-06 14:42:16 · 286 阅读 · 1 评论