使用automake

发布于 2022-09-10 02:46:40 字数 1580 浏览 6 评论 0

多余的话不多说,结合一个简单的例子学习automake的用法。首先创建目录hello然后进入目录:
mkdir hello
cd hello
接下来用自己喜欢的编辑器写一个hello.c文件
#include<stdio.h>

int main()
{
   printf("hello world!n");
   return 0;
}
现在在hello目录下应该有一个自己写的hello.c了,下来生成configure,这里使用autoscan命令来根据目录下的源代码生成一个configure.in的模板文件:
autoscan
将会产生一个文件:configure.scan,可以拿他作为configure.in的蓝本,现在将configure.scan改名为configure.in,并编辑它,按如下内容修改,去掉无关语句:
#-*- Autoconf -*-
#Process this file with autoconf to produce a configure script.

AC_INIT(hello.c)
AM_INIT_AUTOMAKE(hello,1.0)
#check for programs.
AC_PROG_CC
#check for libraries.
#check for header files.
#check for typedefs, structures, and compiler characteristics.
#check for library functions.
AC_UOTPUT(Makefile)
然后执行aclocal和autoconf分别产生aclocal.m4和configure两个文件:
aclocal
autoconf
可以看到configure.in的内容是一些宏定义,这些宏经autoconf处理后会变成检查系统特性、环境变量、软件必须的shell脚本。autoconf是用来生成自动配置软件源代码脚本的工具。要生成configure文件,必须告诉autoconf如何找到所用的宏。方式是使用aclocal程序来生成你的aclocal.m4。下面建立一个Makefile.am文件:
vim Makefile.am
文件内容为:
AUTOMAKE——OPTIONS=foreign
bin_PROGRAMS=hello
hello_SUORCES=hello.c
automake会根据所写的Makefile.am来自从生成Makefile.in。下一步将运行automake,命令如下:
automake --add-missing
automake会根据Makefile.am文件产生一些文件,包含最重要的Makefile.in。执行configure生成Makefile,命令如下:
./configure
此时Makefile已经产生了,现在就可以使用Makefile编译代码了,命令为:
make
运行hello:
./hello
这样hello就编译出来了。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文