linux下自动化makefile生成

1.automake

a。安装相关工具

b。对于目录

wapi/include

wapi/src

进入wapi/src

执行autoscan,形成configure.scanmv configure.scan configure.in(ubuntu 14.04下为configure.ac)vi configure.in

在AC_CONFIG_HEADERS和AC_PROG_CC中间添加

AM_INIT_AUTOMAKE(WAPI,1.0)

修改AC_OUTPUT为AC_OUTPUT(Makefile)

–注

1.如果原目录下已经存在makefile,则需要删除后重新执行。

2.如果编译.so需要增加

AC_PROG_RANLIB

# Checks for typedefs, structures, and compiler characteristics.AC_TYPE_SIZE_TAC_TYPE_UINT32_TAC_TYPE_UINT8_TAC_PROG_LIBTOOL# Checks for library functions.AC_FUNC_MALLOCAC_CHECK_FUNCS([memset])。

修改完毕,保存退出。

修改完成后configure.in的内容如下

执行aclocal生成aclocal.m4执行autoconf,生成configure运行autoheader,生成config.h.in手动创建Makefile.am,输入对应内容如下图所示

说明:

AUTOMAKE_OPTIONS:它用于设置automake的选项,设置为foreign时,automake会改用一般软件的标准来进行检查;

bin_PROGRASM: 输出可执行的文件名

main_SOURCES: 生成可执行程序main,所需要的源文件

main_LDADD: 生成可执行程序main,所需要的库文件以及路径

INCLUDES: 指定链接是所需要的头文件路径

bindir:make install后可执行文件安装目录

lib_LIBRARIES: 生成的lib库文件名称

libdir :lib文件安装路径

data_DATA:配置文件名称

datadir:配置文件安装路径

lib_LTLIBRARIES=libalgor1.la:动态库名称

libalgor1_la_SOURCES:动态库源代码路径

moduledir动态库路径·–经测试有问题,会安装在/usr/lib对应moduledir下。改为./configure –pre-fix=dir

执行automake –add-missing

执行./configure 生成makefile

2.cmake

所有的胜利,与征服自己的胜利比起来,都是微不足道

linux下自动化makefile生成

相关文章:

你感兴趣的文章:

标签云: