文档章节

懒人学习automake, Makefile.am,configure.ac

41245110
 41245110
发布于 2016/01/31 20:55
字数 258
阅读 103
收藏 4
点赞 1
评论 0

已经存在Makefile.am,如何生成Makefile?


步骤:

[plain] view plain copy

  1. [root@localhost hello]# autoscan .///在当前文件夹中搜索  

  2.   

  3. [root@localhost hello]# cp configure.scan configure.ac //复制文件  

  4. [root@localhost hello]# vi configure.ac //编辑文件  

  5.   

  6.     编辑configure.ac,加入下面一行:  

  7.     AM_INIT_AUTOMAKE(hello,1.0)      //automake所必备的宏,必须添加  

  8.   

  9. [root@localhost hello]# aclocal     //执行aclocal生成aclocal.m4文件  

  10. [root@localhost hello]# autoconf   //执行autoconf生成configure文件  

  11. [root@localhost hello]# autoheader  

  12. [root@localhost hello]# automake --add-missing  

  13. [root@localhost hello]# touch NEWS; touch README; touch AUTHORS; touch ChangeLog    //创建NEWS等文件,如果没有自动生成,手工创建  

  14. [root@localhost hello]# automake --add-missing //再运行一次  

  15. [root@localhost hello]# ./configure    //配置,生成Makefile文件  

  16. [root@localhost hello]# make     //执行make命令  



以上过程可能出现一些警告,请忽略。最后,给出一个Makefile.am的内容作为例子:

[plain] view plain copy

  1. AM_LDFLAGS = -lpthread -lc -lm -lrt -ldl  

  2. CXXFLAGS = -D__STDC_LIMIT_MACROS -g -Wall -DORDER_SERIALIZE #-O2 -fno-strict-aliasing  

  3.   

  4. bin_PROGRAMS = parser_main  

  5. parser_main_SOURCES = parser_main.cpp \  

  6.                 Parser.cpp \  

  7.                 Lexer.cpp \  

  8.     SelectStmt.cpp \  

  9.     InsertStmt.cpp \  

  10.     UpdateStmt.cpp \  

  11.     DeleteStmt.cpp \  

  12.     Stmt.cpp \  

  13.     Expr.cpp \  

  14.                 Identifier.cpp  

  15. ~                                  




参考文献:

http://os.51cto.com/art/201006/207098.htm

http://os.51cto.com/art/201006/207099.htm

http://os.51cto.com/art/201006/207101.htm


如何写Makefile.am


本文转载自:http://blog.csdn.net/maray/article/details/6676131

共有 人打赏支持
41245110
粉丝 0
博文 16
码字总数 2842
作品 0
南通
automake编译工程

automake编译工程 首先准备工程完整清晰的目录,cd到要生成makefile的主目录,下面将分布说明怎样用automake编译工程,所有的1,2,3,4,5,6都是在主目录操作的。 1 输入:“autoscan” 生成con...

zhuweigangzwg ⋅ 2017/08/22 ⋅ 0

Configure,Makefile.am, Makefile.in, Makefile文件之间关系

1.autoscan (autoconf): 扫描源代码以搜寻普通的可移植性问题,比如检查编译器,库,头文件等,生成文件configure.scan,它是configure.ac的一个雏形。 your source files --> [autoscan*] --...

澈明 ⋅ 2012/03/21 ⋅ 0

图解autoscan、aclocal、autoheader、automake、autoconf、configure、make

1.autoscan (autoconf): 扫描源代码以搜寻普通的可移植性问题,比如检查编译器,库,头文件等,生成文件configure.scan,它是configure.ac的一个雏形。 your source files --> [autoscan*] --...

nothingfinal ⋅ 2012/09/01 ⋅ 0

图解autoscan、aclocal、autoheader、automake、autoconf...

1.autoscan (autoconf): 扫描源代码以搜寻普通的可移植性问题,比如检查编译器,库,头文件等,生成文件configure.scan,它是configure.ac的一个雏形。 your source files --> [autoscan*] --...

张旭0512 ⋅ 2014/05/16 ⋅ 0

Linux GNU C语言项目组织工具 autotools 使用

转载说明: 虽然没有开发过C语言的大型项目,但一直对C语言的项目组织比较感兴趣。当然不是Visual Sutdio,CodeBlock 这类IDE的项目组织,而是GNU 系列开源工具。 如果在用过Linux系统就知道...

从前 ⋅ 2012/10/22 ⋅ 2

绝世秘籍之GNU构建系统与Autotool概念分析

为了简化可移植构建的难度,在早期有一套autotools工具帮助程序员构建软件。我们熟知的configure->make->make install三部曲,大多都是基于autotools来构建的。autotools是GNU程序的标准构建...

linuxprobe ⋅ 2016/10/15 ⋅ 0

GNU Autotools的使用方法

手工写Makefile是一件很有趣的事情,对于比较大型的项目,如果有工具可以代劳,自然是一件好事。在Linux系统开发环境中,GNU Autotools 无疑就充当了这个重要角色。(在Windows系统的开发环境...

小代码2016 ⋅ 2014/12/11 ⋅ 3

automake自动生成makefile过程记录

目标: 生成makefile,可通过make生成静态库(.a)。 基本步骤: # autoscanautom4te: configure.ac: no such file or directoryautoscan: /usr/bin/autom4te failed with exit status: 1 mv c......

bbdlg ⋅ 2012/11/14 ⋅ 0

Linux下PHP扩展amqp安装

本次测试环境 系统:CentOS5.8 x86-64 PHP:5.2.16(源码编译安装的) 扩展是C写的,由于C与RabbitMQ通信一般需要依赖rabbitmq-c库(也就是librabbitmq),所以编译扩展前需要先装依赖库。 原文是用...

ccxj520 ⋅ 2013/07/12 ⋅ 0

Configure,Makefile.am, Makefile.in, Makefile文件之...

无论对于一个初学者还是一个资深的Linux程序员,编写Makefile文件都是一件很麻烦的事;再者,开发人员应该把主要的精力放在程序代码的编写上,而在Makefile文件花费太多的精力显然是不明智的...

Start-up ⋅ 2012/07/09 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

从 Confluence 5.3 及其早期版本中恢复空间

如果你需要从 Confluence 5.3 及其早期版本中的导出文件恢复到晚于 Confluence 5.3 的 Confluence 中的话。你可以使用临时的 Confluence 空间安装,然后将这个 Confluence 安装实例升级到你现...

honeymose ⋅ 今天 ⋅ 0

Java8新增的DateTimeFormatter与SimpleDateFormat的区别

两者最大的区别是,Java8的DateTimeFormatter也是线程安全的,而SimpleDateFormat并不是线程安全。 在并发环境下使用SimpleDateFormat 为了能够在多线程环境下使用SimpleDateFormat,有这三种...

人觉非常君 ⋅ 今天 ⋅ 0

多线程如何控制执行顺序

线程的生命周期说明: 当线程被创建并启动以后,它既不是一启动就进入了执行状态,也不是一直处于执行状态,在线程的生命周期中,它要经过新建(New)、就绪(Runnable)、运行(Running)、...

MarinJ_Shao ⋅ 今天 ⋅ 0

用ZBLOG2.3博客写读书笔记网站能创造今日头条的辉煌吗?

最近两年,著名的自媒体网站今日头条可以说是火得一塌糊涂,虽然从目前来看也遇到了一点瓶颈,毕竟发展到了一定的规模,继续增长就更加难了,但如今的今日头条规模和流量已经非常大了。 我们...

原创小博客 ⋅ 今天 ⋅ 0

MyBatis四大核心概念

本文讲解 MyBatis 四大核心概念(SqlSessionFactoryBuilder、SqlSessionFactory、SqlSession、Mapper)。 MyBatis 作为互联网数据库映射工具界的“上古神器”,训有四大“神兽”,谓之:Sql...

waylau ⋅ 今天 ⋅ 0

以太坊java开发包web3j简介

web3j(org.web3j)是Java版本的以太坊JSON RPC接口协议封装实现,如果需要将你的Java应用或安卓应用接入以太坊,或者希望用java开发一个钱包应用,那么用web3j就对了。 web3j的功能相当完整...

汇智网教程 ⋅ 今天 ⋅ 0

2个线程交替打印100以内的数字

重点提示: 线程的本质上只是一个壳子,真正的逻辑其实在“竞态条件”中。 举个例子,比如本题中的打印,那么在竞态条件中,我只需要一个方法即可; 假如我的需求是2个线程,一个+1,一个-1,...

Germmy ⋅ 今天 ⋅ 0

Django第一期

安装Django 去https://www.djangoproject.com/download/ 下载最新版的Django,然后解压放到Anaconda\Lib\site-packages目录下,然后cmd进入此目录,输入安装命令: python setup.py install ...

大不了敲一辈子代码 ⋅ 今天 ⋅ 0

Springboot2 之 Spring Data Redis 实现消息队列——发布/订阅模式

一般来说,消息队列有两种场景,一种是发布者订阅者模式,一种是生产者消费者模式,这里利用redis消息“发布/订阅”来简单实现订阅者模式。 实现之前先过过 redis 发布订阅的一些基础概念和操...

Simonton ⋅ 今天 ⋅ 0

error:Could not find gradle

一.更新Android Studio后打开Project,报如下错误: Error: Could not find com.android.tools.build:gradle:2.2.1. Searched in the following locations: file:/D:/software/android/andro......

Yao--靠自己 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部