makefile可以方便快捷的編譯我們編寫的程式,也可以處理一些檔案,例如刪除檔案,檢視檔案。。。。。
初學者對makefile的掌握如下:
makefile的結構
第一行: 編譯完成的檔名稱 : 編譯檔案所需的原始檔
第二行:(游標在行首的時候按一下tab鍵,一般情況下,在vim下按完tab後,之後的字母會變成紅色), 輸入你要執行的命令
如下:########################################
test:test.c
gcc -o test test.c
########################################
其中第二行的"test"可以用 「$@」 代替 ,「test.c」 可以用「$<」 代替
如下:########################################
test:test.c
gcc -o $@ $<
########################################
$@ 代表的是第一行的目標檔名test ,$< 代表的是第一行 「:」 後面的第一的檔案 ,$^ 則是 代表第一行「:」後面的所有檔案, 可以根據你的需要選擇使用.
makefile編輯完成後,在終端輸入make執行後,只會完成編譯第乙個目標檔案
如下:########################################
test:test.c
gcc -o $@ $<
test1:test1.c
gcc -o $@ $<
test1:test1.c
gcc -o $@ $<
########################################
上例只會編譯第乙個test檔案,而test1.,test2沒有編譯,可以手動輸入 make test1....編譯,或者寫成如下形式
########################################
tar: test test1 test2
test:test.c
gcc -o $@ $<
test1:test1.c
gcc -o $@ $<
test1:test1.c
gcc -o $@ $<
########################################
*注:紅色字型前都有tab鍵的空格長度,但是文件可能沒顯示出來
source檔案和makefile檔案編寫
一.makefile 沒有副檔名,它名字就叫makefile 內容如下 include ntmakeenv makefile.def wdm程式使用的所有makefile都這樣寫,我們只需寫乙個,編譯時把它拷貝到工作目錄下就行了 二.sources檔案就需要我們根據不同的場合修改了,不過基本模板如下...
ant呼叫make實現Makefile編譯
為了讓ant能執行make,還得用指令碼實現 linux sh指令碼實現,build.sh bin sh export build folder cd dirname 0 pwd prj 判斷makefile是否存在,如果不存在,則呼叫newprj.sh生成makefile if r build f...
用makefile解決linux下靜態庫衝突問題
專案引入了多個三方靜態庫,其中包含的.o檔案重名,但是幸運的是函式不重名,類不重名,因此只需要在ar時重新命名.o檔案即可。makefile中 tmp賦值為取出檔名 第一步去除目錄和第二步去除字尾 makefile中for開始執行的是shell,所以取變數需要多加乙個 轉義,因為是shell,所以也...