Chinaunix首页 | 论坛 | 博客

分类: LINUX

2009-02-09 12:55:19

  什么是 make 与 configure ?

  事实上,使用类似 gcc 的编译器来进行编译的过程并不简单, 因为除了每个主程式与副程式均需要写上一笔编译过程的指令外,还需要写上最终的连结程序。 程式码小的时候还好,如果是类似 WWW 伺服器软体( 例如 Apache ),或者是类似核心的原始码,动则数百 MBytes 的资料量,呵呵!指令会写到疯掉~这个时候,我们就可以使用 make 这个指令的相关功能来进行编译过程的指令简化了!

  当执行 make 时,make 会在当时的目录下搜寻 Makefile ( or makefile ) 这个文字档,而 Makefile 里面则记录了原始码如何编译的详细资讯!  make 会自动的判别原始码是否经过变动了,而自动更新执行档,是软体工程师相当好用的一个辅助工具呢!

  咦!make 是一支程式,会去找 Makefile ,那 Makefile 怎么写?呵呵! 通常软体开发商都会写一支侦测程式来侦测使用者的作业环境, 以及该作业环境是否有软体开发商所需要的其他功能,该侦测程式侦测完毕后,就会主动的建立这个 Makefile 的规则档案啦!通常这支侦测程式的档名为 configure 或者是 config 。

  咦!?那为什么要侦测作业环境呢?!在什么是 Linux 那个章节当中, 不是有提到 Linux 不过就是一个核心吗?!是这样没错啦!但是您必须要瞭解的是, 某些软体套件需要一些相关的套件辅助,并且,某些驱动程式则是适用在不同的核心系统( 因为核心提供的函式库可能并不相同,例如 kernel 2.4.xx 与 kernel 2.6.xx 就不太一样! ),并且每个 Linux distribution 所提供的函式库名称与路径可能也不太一样,所以说,在 Fedora Core 4 上面可以执行的一个 binary file ,直接复制到 SuSE 平台上,可不见得可以顺利执行( 事实上,是不太可能可以执行啦!^_^ )。 所以啦,原始码写出来之后,需要针对不同的作业环境来进行编译的行为呐!这个时候就很需要 configure 以及 make 的功能啊!

  详细的 make 用法与 Makefile 规则,在后续的小节里面再探讨啰!
阅读(1028) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~