使用autoconf对项目自动生成makefile
2014-01-21 16:22
267 查看
一般情况下,我会手动编写Makefile文件,但是如果搞一个开源项目,那么手动写就显得很弱了,而且兼容性不知道怎么样。就查了下如何跟开源项目一样,使用./configure make make install 的标准方式安装软件
1:首先安装autoconf, ubuntu 使用sudo apt-get install autoconf
2:进入项目目录,使用autoscan命令扫描需要目录,生成configure.scan文件
3:编辑configure.scan文件,加入以下行,参数1是生成的名字,参数2是版本
AM_INIT_AUTOMAKE(proname, 1.0)
把AC_OUTPUT改成AC_OUTPUT(Makefile),目的是说明最后生成的文件名是Makefile
4:把configure.scan重命名为configure.in
5:执行aclocal命令生成.m4文件,这是一个宏处理文件,告诉编译器如何处理你的宏
6:执行autoconf命令,生成configure可执行脚本, 他会调用Makefile.in文件生成Makefile文件,
下面是如何生成Makefile.in文件
7:创建一个Makefile.am文件,这个文件里需要写基本的信息,比如项目有哪些源代码文件,命令行参数是什么,库文件路径之类的,毕竟没那么智能,下图是am文件编写的基本格式,跟makefile差不多
例如编写如下文件保存为Makefile.am
AUTOMAKE_OPTIONS=foreign #说明严谨度,一定要写
bin_PROGRAMS=proname #名字
proname_SOURCES=main.cpp #所有源文件,默认在当前目录
proname_CPPFLAGS=-DDEBUG #编译参数
proname_LDADD= #需要链接的文件
proname_LDFLAGS=-lrt #库名字
8:执行autoheader 目的为了防止automake的时候说缺少头文件报错
9:执行automake --add-missing 让其自动寻找缺少的头文件,可能会有些警告,忽略,执行完后会生成Makefile.in文件
10:./configure 生成Makefile 再 make,会成可执行文件
1:首先安装autoconf, ubuntu 使用sudo apt-get install autoconf
2:进入项目目录,使用autoscan命令扫描需要目录,生成configure.scan文件
3:编辑configure.scan文件,加入以下行,参数1是生成的名字,参数2是版本
AM_INIT_AUTOMAKE(proname, 1.0)
把AC_OUTPUT改成AC_OUTPUT(Makefile),目的是说明最后生成的文件名是Makefile
4:把configure.scan重命名为configure.in
5:执行aclocal命令生成.m4文件,这是一个宏处理文件,告诉编译器如何处理你的宏
6:执行autoconf命令,生成configure可执行脚本, 他会调用Makefile.in文件生成Makefile文件,
下面是如何生成Makefile.in文件
7:创建一个Makefile.am文件,这个文件里需要写基本的信息,比如项目有哪些源代码文件,命令行参数是什么,库文件路径之类的,毕竟没那么智能,下图是am文件编写的基本格式,跟makefile差不多
例如编写如下文件保存为Makefile.am
AUTOMAKE_OPTIONS=foreign #说明严谨度,一定要写
bin_PROGRAMS=proname #名字
proname_SOURCES=main.cpp #所有源文件,默认在当前目录
proname_CPPFLAGS=-DDEBUG #编译参数
proname_LDADD= #需要链接的文件
proname_LDFLAGS=-lrt #库名字
8:执行autoheader 目的为了防止automake的时候说缺少头文件报错
9:执行automake --add-missing 让其自动寻找缺少的头文件,可能会有些警告,忽略,执行完后会生成Makefile.in文件
10:./configure 生成Makefile 再 make,会成可执行文件
相关文章推荐
- 使用autoconf、automake自动生成Makefile实例讲解
- 使用automake 与 autoconf 自动生成 Makefile
- 使用automake 与 autoconf 自动生成 Makefile
- linux 商业项目 makefile 自动生成工具Autotools的使用
- 【探索wireshark】 使用autoconf, automake等自动生成Makefile
- Makefile自动生成(autotools工具的使用)
- 使用AutoTools自动生成Makefile
- 使用Linux auto Makefile自动生成的运行步骤
- 使用批处理生成简便的makefile为free pascal自动编译。
- [转载]使用Automake,Autoconf生成Makefile
- 运用 autoconf 和 automake 自动生成 Makefile 实例讲解
- 使用autotools工具自动生成makefile文件
- qmake使用方法(自动生成Makefile文件)
- 使用automake,autoconf来生成开源标准的Makefile
- Autoconf和Automake,自动生成Makefile
- maven项目使用mybatis-generator自动生成代码
- Android项目使用Ant打包,自动生成build.xml
- 使用autotools自动生成Makefile并在此之上使用dh-make生成可发布的deb程序包
- 使用Automake和Autoconf生成Makefile
- 使用autotools自动生成Makefile并在此之上使用dh-make生成可发布的deb程序包(详解)