Linux 用makefile編譯程式

2021-07-06 10:36:32 字數 1278 閱讀 5785

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,所以也...