makefile簡說 編寫makefile

2021-08-19 16:03:10 字數 1688 閱讀 8038

linux下原始碼編譯

linux下原始碼編譯c/c++,通常使用gnu工具鏈。c/c++的編譯過程,通常為原始檔(.c、.cc、.cpp字尾檔案),編譯為中間目標檔案(即生成為.s、.o等字尾的中間檔案),再通過鏈結生成可執行檔案(編譯器的編譯過程大致分為四個步驟:預處理、編譯、彙編和鏈結)。

建立乙個專案檔案project目錄結構

注釋:以上的結構是最簡單的專案目錄結構,在大型專案中,project有更多的檔案目錄,比如os資料夾、driver資料夾、mmi資料夾等,裡面的檔案也可能有子資料夾,比如計時器資料夾、訊號量資料夾等,但在這些資料夾的下面包括inc和src資料夾,而且每個資料夾裡面都可能含有乙個makefile檔案。

makefile

簡介:makefile下每條命令下執行正確都會返回0,錯誤返回非0,然後檢測退出。

make -t=touch 更新目標檔案時間但不進行新的編譯

make -q=question 如果目標不在,列印輸出。目標在,不顯示。

make -f=file 指定編譯執行的makefile檔案

makefile中包含的內容:顯式規則、隱晦規則、變數定義、檔案指示、注釋#

注意:如果要在makefile中使用「#」字元,可以用反斜線進行轉義,如:「\#」

gnu的make工作時的執行步驟:

1、  讀入所有的makefile,讀入被include的其他makefile

2、  初始化檔案中的變數

3、  推導隱晦規則,並分析所有規則

4、  為所有的目標檔案建立依賴關係鏈

5、  根據依賴關係,決定哪些目標要重新生成

6、  執行生成命令

makefile的基本規則:

target:prerequistes;command

command

makefile的使用

1、文件一般包括:立項資訊(比如可行性分析等)、需求分析、系統設計、詳細設計(比如函式之間的關係模型等)、codeing、測試文件(比如整合測試、系統測試等)

2、src一般是原始檔,包括inc資料夾中的.h檔案、src資料夾中的.c檔案

3、makefile檔案一般和.c檔案放在一起。

makefile檔案,即編寫編譯規則

例如:

#只編譯不連線 用-c

#指定標頭檔案的搜尋目錄 用-i

#install:admin.o menu.o stu.o tea.o

#install是目標,冒號後面的是依賴(即中間部分的目標檔案,.o檔案需要用.c檔案生成)

#編寫makefile檔案時,gcc必須變成紅色才正確,gcc前面要使用乙個或者兩個tab鍵)

在makefile中的命令,必須要以tab鍵起始,一般需要設定tab鍵為四個空格。

在使用make時,如果修改了.c檔案,make只會重新編譯修改了的.c檔案,但是如果修改了.h檔案,則必須先刪除原來的可執行檔案,再用make生成新的可執行檔案。

makefile編寫說明

1.定義 makefile是通過制定規則來編譯程式的乙個指令碼而已。在linux中使用make命令來執行makefile檔案。2.命名 makefile或makefile,若是指定其他名稱。如 makefile.可以這樣使用make f makefile或make clean f makefile ...

makefile編寫方法

什麼是makefile?或許很多winodws的程式設計師都不知道這個東西,因為那些windows的ide都 為你做了這個工作,但我覺得要作乙個好的和 professional的程式設計師,makefile還是要懂 這就好像現在有這麼多的html的編輯器,但如果你想成為乙個專業人士,你還是要了解 h...

makefile檔案編寫

hello.c include include function.h int main function.c includeint fun1 int fun2 int fun3 function.h ifndef fun h define fun h int fun1 void int fun2 v...