前段时间,学习C,用autoconf和automake生成了一个简单的makefile文件。
autoconf是一个用于生成可以自动地配置软件源码包,用以适应多种UNIX类系统的shell脚本工具,其中autoconf需要用到 m4,便于生成脚本。automake是一个从Makefile.am文件自动生成Makefile.in的工具。为了生成Makefile.in,automake还需用到perl,由于automake创建的发布完全遵循GNU标准,所以在创建中不需要perl。
具体步骤如下:
1.在linux下新建一个helloworld目录。
2.在helloworld下新建一个helloworld.c文件,内容如下:
int main(int argc,char **argv){
printf("Hello,Linux World!\n");
return 0;
}
3.生成configure
3.1 先用autoscan命令根据源码生成configure.scan,把configure.scan重命名为configure.in,编辑此文件,找到
#Process this file with autoconif to ...
...<1>
#Checks for programs ...
...
AC_OUTPUT<2>
把<1>标注的内容改为:
AC_INIT(helloworld.c)
AM_INIT_AUTOMAKE(helloworld,1.0)
把<2>标注的内容改为:
AC_OUTPUT(makefile)
3.2 执行aclocal生成aclocal.m4文件
3.3 执行autoconf生成configure文件
4.新建Makefile.am,内容如下:
AUTOMAKE_OPTIONS=foreign
bin_PROGRAMS=helloworld
helloworld_SOURCES=helloworld.c
5.运行automake --add-missing 生成Makefile.in
6.执行configure生成Makefile
7.执行make生成helloworld.o,helloworld文件
8.运行程序,执行./helloworld
分享到:
相关推荐
例解 autoconf 和 automake 生成 Makefile 文件.
shell脚本实现 自动生成Makefile文件 C C++工程文件
==== Bakefile开发已移至GitHub:... 它以与编译器无关的生成任务描述作为输入,并生成本机生成文件(autoconf的Makefile.in,Visual C ++项目,密件抄送生成文件等)。
ubuntu系统生成静态库.a的makefile文件
ARM应用程序中Makefile文件的自动生成 ARM应用程序中Makefile文件的自动生成
3.5Makefile文件重新生成的过程 3.6重载其它Makefile文件 3.7make读取Makefile文件的过程 4 编写规则 4.1规则的语法 4.2在文件名中使用通配符 4.2.1通配符例子 4.2.2使用通配符的常见错误 4.2.3函数wildcard...
若主函数为main.c,想生成Makefile文件,则先运行”./AutoMake.sh main.c“命令,再运行"make"命令即可。
写的一个通用makefile,能同时编译可执行程序,动态链接库,静态链接库,只需要修改相关的源码文件名及输入要编译的指令即可完成编译。有详细的注释。
教你怎么把glade的工程生产makefile文件,然后进行编译,对初学linux下的GUI编程的朋友有帮助
多个文件编写makefile 生成的目标文件放在不同的文件中
自己写的简易的windows平台的自动生成Makefile工具,不...使用方法:在你的工程目录下运行automake,自动生成Makefile文件,可以使用automake -t查看打印自动生成的Makefile(不会写入文件)。第一次上传文件,求人品。
Ubuntu系统生成动态库.so的makefile文件
手工生成VC++工程需要用到的makefile
使用Automake,Autoconf生成Makefile,介绍软件打包发布
通常编译的./configure文件,大多通过由autotools构建的,最终生成Makefile和config.h文件 CMake: CMake是一个跨平台的安装(编译)工具 CMake类似make工具功能,用来读取并执行CMakeLists.txt文件的语句,最终...
项目project,生成Makefile,要求将lib目录下的swap.c和myadd.c编译成静态库,并将最终生成的可运行程序生成在src目录下。 需要编写三个Makefile.am文件,分别位于lib、src和根目录下。
嵌入式linux控制LED灯的驱动程序源代码和Makefile编译驱动生成ko文件源代码和应用程序源代码
Makefile的基本语法包括五个部分:Makefile规则、Makefile规则、Makefile的条件执行、Makefile函数、Makefile库的生成和使用。这篇文档详细讲解了这五块内容。 Makefile是一种用于自动化编译程序的工具,它包含一...
这是我见过的最好的autoconf 和 automake 的学习文档 从网IBM developWorker上摘录 看完一遍就都清楚了