1. 程式人生 > >關於Linux中Makefile 檔案的使用

關於Linux中Makefile 檔案的使用

                               關於Linux中Makefile 檔案的使用

大學有陣子做嵌入式的時候覺得Makefile簡直高不可攀~~

教程大多數都在試圖把許多細節都講清楚~~沒有跟教程死磕3天的勁頭真的不容易搞懂Makefile

而且寫Makefile需要一點點gcc編譯器的儲備知識。對於在linux上剛上手的開發者的確有點繞。

所以我在這裡做了個最簡版的Makefile,看懂這個,你大體能知道Makefile該怎麼寫~~~~其他細節,只能“大行不顧細謹”了

從這裡下載Makefile最簡版本:

http://download.csdn.net/detail/sera_ph/7111665

裡面的檔案為 DandL.txt  Makefile  outlib.c  outlib.h  testmake.c

其中main函式位於testmake.c中

testmake.c 中呼叫了由outlib.h宣告outlib.c定義的一個函式。

使用gcc將這個最簡單的工程編譯連結的shell命令,在DandL.txt中

gcc -c 的意思是將(.c檔案)原始檔編譯,生成目標檔案(.o檔案)~~(原始檔的#include預處理就能找到對應的標頭檔案(.h檔案))
gcc 目標檔案 -o testmake的意思是將目標檔案連結,生成可執行檔案。testmake是可執行檔案的名字。

這些就是你需要知道的gcc儲備知識

Makefile就是針對這3個程式碼檔案的最簡版本

Makefile的基本語法如下:

這些通過我寫的Makefile很容易理解:

很明顯,我們能看到,這個Makefile包含4個基本語句。

當在當前資料夾下,輸入make outlib時,就相當於執行target為outlib的那語句的command

執行結果如下:


其中,make all和make clean是Makefile最常用的功能,一般要注意檢查一下。

當你掌握這些~你已經出師可以自己寫Makefile~當然,還有許多高階的技巧等你學習探索。

此篇文章轉載一位大佬的文章,感覺寫的還是比較深刻的。