Changes between Version 2 and Version 3 of shunfa/2011/0729


Ignore:
Timestamp:
Jul 29, 2011, 3:36:32 PM (13 years ago)
Author:
shunfa
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • shunfa/2011/0729

    v2 v3  
    99}}}
    1010
    11 === Step1. 工具取得及安裝 ===
    12 1. 工具取得 [ftp://ftp.ntu.edu.tw/gnu/autoconf/autoconf-2.68.tar.gz autoconf下載(v2.68)]
    13 2. 安裝
     11=== 第一階段:寫好source code及 Makefile ===
    1412
    1513=== Step2. 編輯程式碼 ===
    16141. 參考[http://markuskimius.wikidot.com/programming:tut:autotools:2 autotool tutorial][[BR]]
    17 2. 新增hello.c
    18 3. 編輯Makefile(註:指令前的空白為<TAB>)
     152. 新增hello.c[[BR]]
     16{{{
     17#!text
     18/* hello.c: A standard "Hello, world!" program */
     19#include <stdio.h>
     20int main(int argc, char* argv[])
     21{
     22       printf("Hello, world!\n");
     23       return ;
     24}
     25}}}
    1926
    20  * 步驟結束後目錄下會有以下檔案: hello.c hello Makefile
     273. 編輯Makefile(註:指令前的空白為<TAB>)[[BR]]
     28{{{
     29#!text
     30# Makefile: A standard Makefile for hello.c
    2131
    22 === Step3. 執行autoconf ===
     32all:
     33        gcc hello.c -o hello
     34clean:
     35        rm -f hello
     36}}}
    2337
    24  * 步驟結束後目錄下會有以下檔案:
     38=== Step3. 執行make,產生執行檔 ===
     39 * 執行
     40{{{
     41$ make
     42}}}
    2543
    2644
     45 *步驟結束後目錄下會有以下檔案: hello.c hello Makefile
     46
     47
     48=== 第二階段:使用autoconf產生安裝及設定檔 ===
     49==== Step1. 工具取得及安裝 ====
     501. 工具取得 [ftp://ftp.ntu.edu.tw/gnu/autoconf/autoconf-2.68.tar.gz autoconf下載(v2.68)]
     512. 安裝(步驟略)
     52
     53==== Step2. autoscan ====
     54 * 此一步驟為讓系統自動產生 configure.scan
     55 * 將產生的configure.scan更名為configure.ac,以便日後自行修改configure時不會被覆寫掉
     56 * 將Makefile 更名為 Makefile.in 做為日後修改的樣板
     57==== Step3. autoconf ====
     58 * 產生configure的可執行檔
     59 * 執行configure
     60{{{
     61checking for gcc... gcc
     62checking whether the C compiler works... yes
     63checking for C compiler default output file name... a.out
     64checking for suffix of executables...
     65checking whether we are cross compiling... no
     66checking for suffix of object files... o
     67checking whether we are using the GNU C compiler... yes
     68checking whether gcc accepts -g... yes
     69checking for gcc option to accept ISO C89... none needed
     70configure: creating ./config.status
     71config.status: creating Makefile
     72config.status: error: cannot find input file: `config.h.in'
     73}}}
     74 * 錯誤訊息:因為無法找到header檔
     75==== Step4. autoheader ====
     76 * 執行 autoheader
     77 * 產生header檔
     78 * 執行configure
     79{{{
     80checking for gcc... gcc
     81checking whether the C compiler works... yes
     82checking for C compiler default output file name... a.out
     83checking for suffix of executables...
     84checking whether we are cross compiling... no
     85checking for suffix of object files... o
     86checking whether we are using the GNU C compiler... yes
     87checking whether gcc accepts -g... yes
     88checking for gcc option to accept ISO C89... none needed
     89configure: creating ./config.status
     90config.status: creating Makefile
     91config.status: creating config.h
     92}}}
     93
     94=== 第三階段:修改Source Code ===