欢迎来到天天文库
浏览记录
ID:34721786
大小:81.99 KB
页数:19页
时间:2019-03-10
《automake生成makefile》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、autoconf和automake生成makefile分类: Linux编程2010-11-2613:20 1877人阅读 评论(0) 收藏 举报makefilelibrarydependencies编译器includelinker用autoconf和automake生成makefilel autoconf 的输入文件是 configure.inl automake的输入文件是 Makefile.am 1. 用autoscan扫描源码目录,为你生成configure.scan模板。2. 把configure.scan改名为co
2、nfigure.in3. 修改configure.in1. AC_INIT(ShowServer,1.0,kl222@126.com) 这个宏是必须的。2. AC_OUTPUT(MakefileShowServer/MakefileTestClient/Makefile)这个宏是用于指定需要生成的目标文件,一般是Makefile3. 指定配置头文件:AC_CONFIG_HEADER([config.h])这个由 autoheader产生1. 产生的头文件必须被 .c或 .cpp文件用 #i
3、nclude包含。这些宏才能应用到C编译时。2. 用AC_DEFINE定义需要的宏。4. 启用 automake:AM_INIT_AUTOMAKE(ShowServer,1.0)5. 检查编译器1. AC_PROG_CXX此宏用于检查系统是否有g++编译器。其它的宏请看autoconf手册6. 变量:1. 变量: CFLAGS为C编译器提供的调试和优化选项。如果在运行configure时,没有在环境中设置它,就在你调用AC_PROG_CC的时候设置它的缺省
4、值(如果你没有调用AC_PROG_CC,它就为空)。 configure在编译程序以测试C的特征时,使用本变量。2. 变量: CPPFLAGS为C预处理器和编译器提供头文件搜索目录选项(`-Idir')以及其他各种选项。如果在运行 configure时,在环境中没有设置本变量,缺省值就是空。configure在编译或者预处理程序以测试C的特征时,使用本变量。3. 变量: CXXFLAGS为C++编译器提供的调试和优化选项。如果在运行configure时,没有在环境中设置本变量,那么就在你调用AC_PROG_CXX时设置它的缺省值(如果你没有调用AC_PR
5、OG_CXX,它就为空)。 configure在编译程序以测试C++的特征时,使用本变量。4. 变量: FFLAGS为Fortran77编译器提供的调试和优化选项。如果在运行configure时,在环境中没有设置本变量,那么它的缺省值就在你调用AC_PROG_F77时被设置(如果你没有调用AC_PROG_F77,它就为空)。 configure在编译程序以测试Fortran77的特征时,使用本变量。5. 变量: DEFS传递给C编译器的`-D'选项。如果调用了AC_CONFIG_HEADER,configure就用 `-DHAVE_CONFIG_H'代替
6、`@DEFS@'(参见配置头文件)。在configure进行它的测试时,本变量没有被定义,只有在创建输出文件时候才定义。关于如何检查从前的测试结果,请参见设定输出变量。6. 变量: LDFLAGS为连接器提供的Stripping(`-s')选项和其他各种选项。如果在运行configure时,在环境中没有设置本变量,它的缺省值就是空。 configure在连接程序以测试C的特征时使用本变量。7. 变量: LIBS传递给连接器的`-l'和`-L'选项。这里可以用环境变量。例如:ACE库存放在环境变量ACE_LIB中,则可以这样指定:LIBS=-L$ACE_L
7、IB8. 检查依赖库:1. configure检查时的路径为,系统默认库路径,再就是 LIBS中用 –L指定的路径。详见变量中的LIBS2. AC_CHECK_LIB([pthread],[pthread_create],,exit1)3. AC_HAVE_LIBRARY([ACE],,exit1)4. AC_HAVE_LIBRARY([Cfg],,exit1)9.
此文档下载收益归作者所有