利用autotools工具制作从源代码安装的软件 分类: linux 2014-06-02 23:27 340人阅读 评论(0) 收藏
编写程序(helloworld.c)并将其放到一个单独目录.
helloworld.c:
#include<stdio.h>
int main()
{
printf("hello world!\n");
return 0;
}
进入该目录,依次执行以下9步:
1.新建Makefile.am,编辑内容为:
bin_PROGRAMS=helloworld
helloworld_SOURCES=helloworld.c
这两行分别表明最终生成的二进制文件名称和组成该二进制文件的程序文件名
2.执行autoscan,生成configure.scan
3.改名configure.scan为configure.ac
4.修改文件configure.ac
(1)第 5 行,AC INIT 宏用来定义软件的名称、版本和错误报告地址
本例可改成:AC_INIT([helloworld],[1.0],[luo187@qq.com])
(2)在AC_INIT与AC_OUTPUT之间添加一行(如在AC_INIT的下一行)
AM_INIT_AUTOMAKE
表明Makefile.in要使用 automake 产生
其他的一些宏是标准的侦测过程,可以保留不动
5.执行aclocal,生成aclocal.m4
6.执行autoconf,生成configure
7.执行touch README AUTHORS NEWS ChangeLog生成一些辅助文件(空文件即可)
8.执行autoheader,生成config.h
9.执行automake -a,根据 Makefile.am 产生一些文件,
包含最重要的 Makefile.in(-a选项会生成一些缺少的标准文件)
经过上述9步操作我们已经将准备工作做完,一个完整的安装包已经完成。
下面就可以进行Linux下源代码安装软件的三个经典步骤了:
./congigure
make
make install
这样二进制文件默认安装在/usr/local/bin中,
此时可以进入任意目录测试我们的helloworld命令。
你还可以试着使用一些其 他的 make 命令,
如 make clean ,make uninstall ,make dist ,看看它们会给你什么样的效果。
版权声明:本文为博主原创文章,未经博主允许不得转载。
最新文章
- MySQL存储过程(转)
- mac os下可能是最好的豆瓣电台——diumoo
- 【PHP面向对象(OOP)编程入门教程】18.__call()处理调用错误
- Array和ArrayList互相转换
- C和C++函数互相调用
- java console ( mac osx ) 命令行编码
- 重置MySQL的root用户密码(Window)
- hibernate 一对多操作(级联操作)
- 8 个优秀的 Linux 图形图像及色彩工具
- Matlab.NET混合编程技巧之——找出Matlab内置函数
- mysql给表添加外键并查询
- C++/C常量
- hack查询地址
- 本文详解5G是个什么鬼,程序员都准备好了吗?
- Mysql 用户和权限
- [模板]Link-Cut-Tree动态树
- poj 2785(折半枚举+二分搜索)
- FPGA按一下按键,对应端口输出单个脉冲
- JVM学习笔记(四):类加载机制
- Hibernate的七种映射关系之基本映射
热门文章
- Spark SQL 源代码分析之Physical Plan 到 RDD的详细实现
- centos中w使用smbclient连接window出现:session setup failed: NT_STATUS_LOGON_FAILURE
- robotframework接口自动化
- 软件质量之道:PCLint之中的一个
- 基于docker容器搭建fastdfs分布式文件系统
- scikit-learn:class and function reference(看看你究竟掌握了多少。。)
- Android 4.4.2 动态加入JNI库方法记录 (二 app应用层)
- 【iOS系列】-UIScrollView的介绍及结合UIPageControl实现图片播放的实例
- linear map (also called a linear mapping, linear transformation or, in some contexts, linear function
- WebService注解汇总