今天決定認認真真的開始學習makefile,以前總是這看一點那看一點,但是到最後是一點收穫也沒有,看了跟沒有看一樣,今天決定改變以往的學習方式。準備把所學的記錄下來以作回顧,同時給以後的新人做個簡單的參考.
首先是先學習makefile的基本結構:
Makefile是Make讀入的惟一配置文件,因此本節的內容實際就是講述Makefile的編寫規則。在一個Makefile中通常包含如下內容:
· 需要由make工具創建的目標體(target),通常是目標文件或可執行文件;
· 要創建的目標體所依賴的文件(dependency_file);
· 創建每個目標體時需要運行的命令(command)。
它的格式爲:
target: dependency_files
command
例如,有兩個文件分別爲hello.c和hello.h,創建的目標體爲hello.o,執行的命令爲gcc編譯指令:gcc –c hello.c,那麼,對應的Makefile就可以寫爲:
接着就可以使用make了。使用make的格式爲:make target,這樣make就會自動讀入Makefile(也可以是首字母小寫makefile)並執行對應target的command語句,並會找到相應的依賴文件。如下所示:
可以看到,Makefile執行了“hello.o”對應的命令語句,並生成了“hello.o”目標體。
注意 |
在Makefile中的每一個command前必須有“Tab”符,否則在運行make命令時會出錯。 |