已经存在Makefile.am,如何生成Makefile?
步骤:
- [root@localhost hello]# autoscan .///在当前文件夹中搜索
- [root@localhost hello]# cp configure.scan configure.ac //复制文件
- [root@localhost hello]# vi configure.ac //编辑文件
- 编辑configure.ac,加入下面一行:
- AM_INIT_AUTOMAKE(hello,1.0) //automake所必备的宏,必须添加
- [root@localhost hello]# aclocal //执行aclocal生成aclocal.m4文件
- [root@localhost hello]# autoconf //执行autoconf生成configure文件
- [root@localhost hello]# autoheader
- [root@localhost hello]# automake --add-missing
- [root@localhost hello]# touch NEWS; touch README; touch AUTHORS; touch ChangeLog //创建NEWS等文件,如果没有自动生成,手工创建
- [root@localhost hello]# automake --add-missing //再运行一次
- [root@localhost hello]# ./configure //配置,生成Makefile文件
- [root@localhost hello]# make //执行make命令
以上过程可能出现一些警告,请忽略。最后,给出一个Makefile.am的内容作为例子:
- AM_LDFLAGS = -lpthread -lc -lm -lrt -ldl
- CXXFLAGS = -D__STDC_LIMIT_MACROS -g -Wall -DORDER_SERIALIZE #-O2 -fno-strict-aliasing
- bin_PROGRAMS = parser_main
- parser_main_SOURCES = parser_main.cpp \
- Parser.cpp \
- Lexer.cpp \
- SelectStmt.cpp \
- InsertStmt.cpp \
- UpdateStmt.cpp \
- DeleteStmt.cpp \
- Stmt.cpp \
- Expr.cpp \
- Identifier.cpp
- ~
参考文献:
http://os.51cto.com/art/201006/207098.htm
http://os.51cto.com/art/201006/207099.htm
http://os.51cto.com/art/201006/207101.htm