syhd142 |
|
|||
日歷
統計
導航常用鏈接留言簿(2)隨筆檔案(23)文章分類(270)
文章檔案(122)我的豆瓣搜索最新評論
閱讀排行榜
評論排行榜 |
很早之前就想試著寫一個Makefile,一直沒寫,上次DH問我怎么寫,剛好自己想寫一個,于是就goolge了一下。
Makefile的編寫規則 Makefile文件中,注釋以"#"開始 Makefile文件中最重要的是描述文件的依賴關系的說明,其一般的格式為: target: components TAB rule 第一行表示的是依賴關系,第二行是規則。 例如上面那個Makefile文件的第二行:main: main.o mytool1.o mytool2.o,表示我們的目標(target)main的依賴對象(components)是main.o mytool1.o mytool2.o 當依賴的對象在目標修改后修改的話,就要去執行規則行所指定的命令。 例如上面那個Makefile文件的第三行:gcc -o main main.o mytool1.o mytool2.o 注意:規則行中的TAB表示那里是一個TAB 鍵。 于是有問題了,第一個問題:Makefile的文件隨便命名是可以的么,試著寫了一個其它的名字,發現不行,但是貌似不區分大小寫,所以寫makefile也是可以的,但是一般還是按照規則來寫,第一個M大寫。第二個問題:如果存在多個Makefile呢?根據第一個,肯定是只有規范的命名的被識別。第三個問題:如果我當前文件下有多個C文件需要編譯呢?也就是要生成兩個輸出文件怎么辦?這個還真不懂,于是問了一下金師兄就解決了,寫一個空的依賴文件就OK了。比如說我要編譯當前文件夾下的Cilent.c和Server.c,這樣我在第一行加個 target:Client Server (空行,沒有規則) Client:Client.c (TAP)gcc -Wall -o Client Client.c Server:Server.c (TAP)gcc -Wall -o Server Server.c
|
![]() |
|
Copyright © Fucker | Powered by: 博客園 模板提供:滬江博客 |