文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>use tools to write Makefile(3)

use tools to write Makefile(3)

时间:2007-03-21  来源:xiaojianredhat

4.3 使用 Makefile   
   
    利用 configure 所产生的 Makefile 档有几个预设的目标可供使用,我们     
    只拿其中几个简述如下:    
   
    make all      
              产生我们设定的目标,即此范例中的执行档。只打 make 也可以,此     
              时会开始编译原始码,然後连结,并且产生执行档。  
   
    make clean     
              清除之前所编译的执行档及目的档 (object file, *.o)。  
   
    make distclean      
              除了清除执行档和目的档外,也把 configure 所产生的 Makefile    
              也清除掉。  
   
    make install      
              将程式安装至系统中。如果原始码编译无误,且执行结果正确,便可     
              以把程式安装至系统预设的执行档存放路径。如果我们用     
              bin_PROGRAMS 巨集的话,程式会被安装至 /usr/local/bin 这个目     
              录。  
   
    make dist      
              将程式和相关的档案包装成一个压缩档以供散播 (distribution) 。
              执行完在目录下会产生一个以 PACKAGE-VERSION.tar.gz 为名称的档    
              案。PACKAGE 和 VERSION 这两个变数是根据 configure.in 档中     
              AM_INIT_AUTOMAKE(PACKAGE, VERSION) 的定义。在此范例中会产生     
              'hello-1.0.tar.gz' 的档案。  
   
    make distcheck  
   
和 make dist 类似,但是加入检查包装後的压缩档是否正常。这个目标除了把程式和相关档案包装成 tar.gz 档外,还会自动把这个压缩档解开,执行 configure,并且进行 make all 的动作,确认编译无误後,会显示这个 tar.gz 档已经准备好可供散播了。这个检查非常有用,检查过关的套件,基本上可以给任何一个具备 GNU 发展环境的人去重新编译。就 hello-1.tar.gz 这个范例而言,除了在 RedHat Linux 上,在 FreeBSD 2.2.x 版也可以正确地重新编译。  
   
要注意的是,利用 Autoconf 及 Automake 所产生出来的软体套件是可以在没有安装 Autoconf 及 Automake 的环境上使用的,因为 configure 是一个 shell script,它己被设计可以在一般 Unix 的 sh 这个 shell 下执行。但是如果要修改 configure.in 及 Makefile.am 档再产生新的configure 及 Makefile.in 档时就一定要有 Autoconf 及 Automake 了。   
   
5. 相关讯息    
Autoconf 和 Automake 功能十分强大,你可以从它们所附的 info 档找到详细的用法。你也可以从许多现存的 GNU 软体或 Open Source 软体中找到相关的 configure.in 或 Makefile.am 档,它们是学习 Autoconf 及Automake 更多技巧的最佳范例。   
   
这篇简介只用到了 Autoconf 及 Automake 的皮毛罢了,如果你有心加入Open Source 软体开发的行列,希望这篇文件能帮助你对产生 Makefile有个简单的依据。其它有关开发 GNU 程式或 C 程式设计及 Makefile 的详细运用及技巧,我建议你从 GNU Coding Standards3 (GNU 编码标准规定) 读起,里面包含了 GNU Makefile 惯例,还有发展 GNU 软体套件的标准程序和惯例。这些 GNU 软体的线上说明文件可以在http://www.gnu.org/ 这个网站上找到。
相关阅读 更多 +
排行榜 更多 +
益源乐购

益源乐购

购物比价 下载
恶魔不撒谎地下室

恶魔不撒谎地下室

休闲益智 下载
长江在线教育

长江在线教育

学习教育 下载