自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

autoconf安裝自動編譯工具介紹(3)

運維 系統(tǒng)運維
《linux高級程序設計》第2章Linux下C語言開發(fā)工具,這一章主要介紹Linux下進行C語言程序開發(fā)所必備的工具。本節(jié)為Autoconf/Automake工具組簡介。

autoconf安裝自動編譯工具介紹(3)

7.使用Automake生成Makefile.in文件

下面使用Automake生成"Makefile.in"文件,使用選項"--add-missing"可以讓Automake自動添加一些必需的腳本文件。如下所示:

[root@localhost hello]# automake --add-missing
configure.ac: installing './install-sh'    //創(chuàng)建install-sh文件
configure.ac: installing './missing'
Makefile.am: installing './INSTALL'
Makefile.am: required file './NEWS' not found
Makefile.am: required file './README' not found
Makefile.am: required file './AUTHORS' not found
Makefile.am: required file './ChangeLog' not found
Makefile.am: installing './COPYING'
Makefile.am: installing './depcomp'
[root@localhost hello]# automake --add-missing //再運行一次,可以輔助生成幾個必要的文件
Makefile.am: required file './NEWS' not found //沒有找到NEWS文件
Makefile.am: required file './README' not found
Makefile.am: required file './AUTHORS' not found
Makefile.am: required file './ChangeLog' not found
[root@localhost hello]# touch NEWS    //創(chuàng)建NEWS文件,如果沒有自動生成,手工創(chuàng)建
[root@localhost hello]# touch README   //創(chuàng)建README文件
[root@localhost hello]# touch AUTHORS   //創(chuàng)建AUTHORS文件
[root@localhost hello]# touch ChangeLog   //創(chuàng)建ChangeLog文件
[root@localhost hello]# automake --add-missing //再運行一次
[root@localhost hello]# ls      //生成必要的文件
aclocal.m4      ChangeLog     configure.scan  INSTALL      missing
AUTHORS         config.h.in   COPYING         install-sh   NEWS
autom4te.cache  configure     depcomp         Makefile.am  README
autoscan.log    configure.ac  hello.c         Makefile.in
[root@localhost hello]# ls configure.in -l
-rw-r--r--  1 root root 536 Dec 27 04:29 configure.in

8.autoconf安裝配置

運行自動配置設置文件configure,把Makefile.in變成最終的Makefile。

[root@localhost hello]# ./configure    //配置,生成Makefile文件
……
config.status: creating Makefile
config.status: executing depfiles commands
[root@localhost hello]# ls
aclocal.m4      ChangeLog    config.status   COPYING  install-sh   missing
AUTHORS         config.h     configure       depcomp  Makefile     NEWS
autom4te.cache  config.h.in  configure.ac    hello.c  Makefile.am  README
autoscan.log    config.log   configure.scan  INSTALL  Makefile.in  stamp-h1
[root@localhost hello]# ls  -l  Makefile*
-rw-r--r--  1 root root 16876 Dec 27 04:51 Makefile
-rw-r--r--  1 root root    68 Dec 27 04:46 Makefile.am
-rw-r--r--  1 root root 17180 Dec 27 04:50 Makefile.in

9.autoconf安裝測試

運行make命令進行編譯,下面的示例中Make的主要編譯命令為"gcc  -g -O2   -o hello  hello.o",此句對應本節(jié)前面介紹的手工編輯的Makefile文件內容。
 

[root@localhost hello]# cd ../hello
[root@localhost hello]# make     //執(zhí)行make命令
make  all-am
……
gcc  -g -O2   -o hello  hello.o      //編譯指令
……

編譯成功后,將在當前目錄下生成并運行可執(zhí)行程序hello。測試源代碼是否正確:

 

[root@localhost hello_2]# ./hello 
hello!GNU
此方法生成的makefile文件很全面。使用"make install"命令把目標文件安裝在系統(tǒng)中。

 

[root@localhost hello]# make install      //安裝
make[1]: Entering directory '/root/book/ch02/ch0206/hello'
test -z "/usr/local/bin" || mkdir -p -- "/usr/local/bin"
  /usr/bin/install -c 'hello' '/usr/local/bin/hello'   //安裝目標文件
make[1]: Nothing to be done for 'install-data-am'.
make[1]: Leaving directory '/root/book/ch02/ch0206/hello'

使用"make uninstall"命令把目標文件從系統(tǒng)中卸載。

 

[root@localhost hello]# make uninstall      //卸載命令
 rm -f '/usr/local/bin/hello'        //從系統(tǒng)中卸載

使用"make clean"命令清除編譯時的obj文件。

[root@localhost hello]# make clean
test -z "hello" || rm -f hello
rm -f *.o            //刪除obj文件

使用"make dist"命令將程序和相關的文檔打包為一個壓縮文檔以供發(fā)布。

[root@localhost hello]# make dist
……
[root@localhost hello]# ls         //查看生成的文件
aclocal.m4      config.h.in    configure.scan    install-sh   README
AUTHORS         config.h.in~   COPYING           Makefile     stamp-h1
autom4te.cache  config.log     depcomp           Makefile.am
Changelog       config.status  hello-1.0.tar.gz  Makefile.in
ChangeLog       configure      hello.c           missing
config.h        configure.ac   INSTALL           NEWS
[root@localhost hello]# ls hello-1.0.tar.gz -l    //打包文件
-rw-r--r--  1 root root 67699 Dec 27 06:33 hello-1.0.tar.gz

【編輯推薦】

  1. Linux 查看磁盤空間實現(xiàn)代碼介紹
  2. Linux操作系統(tǒng)需要微軟的十大幫助
  3. 探尋Linux到底需要多低的配置
  4. Linux測試工具tcpdump監(jiān)視TCP/IP連接命令介紹
  5. Linux流量控制實例應用介紹
責任編輯:chenqingxiang 來源: 人民郵電出版社
相關推薦

2010-06-22 15:24:11

autoconf安裝

2010-06-22 15:13:32

autoconf安裝

2010-06-22 15:45:06

Autoconf使用

2010-06-22 16:09:42

Autoconf教程

2010-02-25 15:11:48

Linux Makef

2010-03-01 16:40:40

Linux Makef

2010-01-13 15:07:51

2010-03-02 16:13:56

Linux升級

2010-06-22 16:24:57

Autoconf教程

2010-06-22 16:54:48

Autoconf教程

2010-06-22 15:31:22

autoconf安裝

2010-05-28 14:55:17

Linux編程工具

2010-06-22 14:55:21

autoconf安裝

2010-06-22 17:05:04

Autoconf教程

2010-01-14 16:27:44

CentOS emes

2015-10-09 13:14:10

clip自動化運維工具

2011-05-04 09:02:20

簽名工具代碼BlackBerry

2025-03-07 09:00:00

2009-12-24 16:16:37

Linux系統(tǒng)

2009-02-25 08:41:49

Windows 7自動安裝工具更新
點贊
收藏

51CTO技術棧公眾號