makefile簡單介紹

 

一.        make命令的作用                                 <?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

     make可被用來維護,更新和重新生成計算機程序組。

     對於由大量程序模塊所構成項目,其用途更爲明顯,它能夠簡化目標文件或可執行程序的生成過程,有助於用戶模塊化地、一致性地編譯程序。

     只有當一個目標有相關文件是比目標更新的時候,它才被更新,所以能提高效率。

可方便地維護多個文件生成的文檔。

二:描述文件

[目的名列表]: [依賴列表]

[TAB]命令(組)

[TAB]命令(組)

……                                                                                                                                                

備註:

1                     目的名(或列表)必須寫在每行行首(可以用空格開頭),且後必須跟冒號,多個目的名之間空格分開,表明一系列各自獨立的目的是用相同的依賴列表和規則生成的。

2       依賴列表必須緊跟在冒號之後,可缺省。

3       TAB開始的後續行作爲命令行,它組成了規則。同一行的多個命令用分號;隔開。注意,TAB不能用空格代替。

4       冒號: 是目的列表終結符,它標誌着目的列表的結束。跟在冒號之後的依賴列表將被添加到目的的依賴關係集中。

5       註釋用#號和換行號所包圍。

例子:將test1,test2,test3做成一個makefile文件,用test調用測試,

***************test1.c************

#include "stdio.h"

 

void test1()

{

              printf("test1/n");

}

 

***************test2.c************

#include "stdio.h"

 

void test2()

{

              printf("test2/n");

}

 

 

 

***************test3.c************

#include "stdio.h"

void test3()

{

              printf("test3/n");

}

 

***************test.c************

#include "stdio.h"

 

void  main()

{

   test1();

   test2();

   test3();

}

 

 

***************makefile************

相當於控制編譯執行過程,按以下順序執行

test:    test.o test1.o test2.o test3.o

              cc test.o test1.o test2.o test3.o -o test

test.o:  test.c

              cc -c test.c

test1.o:  test.c

              cc -c test1.c

test2.o: test.c

              cc -c test2.c

test3.o:  test.c

              cc -c test3.c

 

執行:1.make

      2 ./test

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章