Chinaunix首页 | 论坛 | 博客
  • 博客访问: 913379
  • 博文数量: 119
  • 博客积分: 2493
  • 博客等级: 大尉
  • 技术积分: 2363
  • 用 户 组: 普通用户
  • 注册时间: 2012-06-03 14:00
文章分类

全部博文(119)

文章存档

2013年(19)

2012年(100)

分类: LINUX

2012-08-19 10:11:56

       linux上使用源码包安装软件,一般就是三步,"./confure","make",
"sudo make install"那人家的这个安装包又是怎么制作出来的呢?我们能
不能使用一个简单的程序也制作一个安装包呢?

---------------------------------------------------------------------------------
1,搭建使用工具的环境。
      sudo apt-get install autoconf
      sudo apt-get install automake
这两个工具都是GNU系列中的软件,也可以下载源码安装。
下载地址:



-------------------------------------------------------------------------------
2,制作软件包。
    由于为了避免麻烦,我就使用了automake源代码中自带的一个“模板”。
使用该“模板”制作起来更方便。该模板就是automake/doc/amhello

 amhello.rar  
只要在这个基础上做一些参数的修改就可以了。
-------------------------------------------------------------------------------
3,修改相关参数。
将amhello/src/main.c换成我自己的程序。这儿换成我的myshell.c
将amhello/src/Makefile.am中的参数也替换下:
原来:

  1. 5 bin_PROGRAMS = hello
  2. 6 hello_SOURCES = main.c
更改:
  1. 5 bin_PROGRAMS = myshell
  2. 6 myshell_SOURCES = myshell.c
然后再修改configure.ac这个文件:
原来:


  1.   5 AC_INIT([amhello], [1.0], [bug-automake@gnu.org])
  2.   6 AM_INIT_AUTOMAKE([-Wall -Werror foreign])
  3.   7 AC_PROG_CC
  4.   8 AC_CONFIG_HEADERS([config.h])
  5.   9 AC_CONFIG_FILES([
  6.  10 Makefile
  7.  11 src/Makefile
  8.  12 ])
  9.  13 AC_OUTPUT
修改后:

  1.   5 AC_INIT([myshell], [1.0], [wangzhe5004@gmail.com])
  2.   6 AM_INIT_AUTOMAKE([-Wall -Werror foreign])
  3.   7 AC_PROG_CC
  4.   8 AC_CONFIG_HEADERS([config.h])
  5.   9 AC_CONFIG_FILES([
  6.  10 Makefile
  7.  11 src/Makefile
  8.  12 ])
  9.  13 AC_OUTPUT
-----------------------------------------------------------------------------------------
4,使用工具开始制作。
  首先执行:aclocal
  然后执行: autoconf
  然后执行:autoheader
  最后执行:automake --add-missing

----------------------------------------------------------------------------------------
5,检测。
   可以将制作好的软件包到多个机子上检测下,看能不能安装。
   执行源码包安装的“三步曲” : "./configure" "make" "sudo make install"
 
   然后在终端下执行myshell这个命令。

----------------------------------------------------------------------------------------
6,自己制作好的myshell-1.0软件包。
  myshell-1.0.rar  
     还制作了一个myls-1.0的软件包。
 myls-1.0.rar  
---------------------------------------------------------------------------------------

7,如果想了解更多的原理可以

参考:
      http://blog.chinaunix.net/uid-27033491-id-3317460.html
-------------------------------------------------------------------------------------




阅读(4392) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~