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

Posted DoubleLi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了懒人学习automake, Makefile.am,configure.ac相关的知识,希望对你有一定的参考价值。

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

 

步骤:

 

[plain] view plain copy
 
  1. [[email protected] hello]# autoscan .///在当前文件夹中搜索  
  2.   
  3. [[email protected] hello]# cp configure.scan configure.ac //复制文件  
  4. [[email protected] hello]# vi configure.ac //编辑文件  
  5.   
  6.     编辑configure.ac,加入下面一行:  
  7.     AM_INIT_AUTOMAKE(hello,1.0)      //automake所必备的宏,必须添加  
  8.   
  9. [[email protected] hello]# aclocal     //执行aclocal生成aclocal.m4文件  
  10. [[email protected] hello]# autoconf   //执行autoconf生成configure文件  
  11. [[email protected] hello]# autoheader  
  12. [[email protected] hello]# automake --add-missing  
  13. [[email protected] hello]# touch NEWS; touch README; touch AUTHORS; touch ChangeLog    //创建NEWS等文件,如果没有自动生成,手工创建  
  14. [[email protected] hello]# automake --add-missing //再运行一次  
  15. [[email protected] hello]# ./configure    //配置,生成Makefile文件  
  16. [[email protected] 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

以上是关于懒人学习automake, Makefile.am,configure.ac的主要内容,如果未能解决你的问题,请参考以下文章

在 Makefile.am(automake) 中使用 if 语句

Automake:Makefile.am 中 *_la_LDFLAGS 的有效值是啥?

automake 第三方库

未定义的引用使用 automake

如何使用 Automake 创建一个特定目录?

.SUFFIXES 拒绝在 Automake 中工作