❝GNU Automake是一种编程工具,可以产生供make程序使用的Makefile,用来编译程序。它是自由软件基金会发起的GNU计划的其中一项,作为GNU构建系统的一部分。automake所产生的Makefile符合GNU编程标准。Automake目标是让用户透过高级语言来写makefile,而不是透过纯手工的方式来写整个makefile。 ❞
如果工程的源码量比较大,文件比较多,那么通过AutoMake管理工程绝对是一个好的选择。下面展示如何一步一步创建属于自己的AutoMake工程
mkdir Project
mkdir include src # 添加源码目录
touch Makefile.am
touch src/Makefile.am
touch NEWS README ChangeLog AUTHORS
修改Makefile.am src/Makefile.am文件 Makefile.am修改如下:
#SUBDIRS=lib src
SUBDIRS=src
#打包时额外包含
EXTRA_DIST=autogen.sh \
include
src/Makefile.am修改如下:
bin_PROGRAMS = PrjTest
AM_CPPFLAGS = -I$(top_srcdir)/include
test_LDADD = -lpthread
test_SOURCES = Main.cpp #每次添加源文件 在此添加文件名即可
将生成的configure.scan重名congfigure.ac 可用修改好的Project
下的configure.ac
autogen.sh文件内容
#!/bin/sh
aclocal
autoconf
automake --add-missing
将Project下autogen.sh拷贝到当前目录,然后执行以下命令
sh autogen.sh
./configure
make