Android高級-NDK-C++MakeFile走讀與語法基礎

1:什麼是makefile

 1:Makefile:定義

 makefile定義了一系列的規則來制定,哪些文件需要先編譯,哪些文件需要重新編譯,如何進行鏈接等操作

 makefile就是“自動化編譯”,告訴make命令如何編譯和鏈接

2:Makefile裏面有什麼:

  1:顯示規則

  2:隱晦規則

   3:變量定義

   4:文件指示(引用  指定makefile有效部分)

  5:註釋//只有行註釋

3:Makefile的規則

   

  makefile的規則其實就是告訴make兩個規則,文件的依賴關係以及如何生成目標文件

 也就是說 target依賴於一個或者多個prerequisities文件,他的生成規則定義在command中,

 如果prerequisities中如果有一個以上的文件比target要新的話,targer就會被認爲是過時的,需要重新生成,那麼command就會 被執行。這就是makefile的規則

4:Makefile實例

  

第一行表示要生成一個目標可執行文件,她依賴兩個目標文件,main.o,tool.o

第二行 注意gcc前有tab鍵  表示生成目標的命令

第三行:clean 表示是一個僞目標

第四行:定義clean標籤,是一個僞目標--不是生成文件。

第五行 clean目標的命令  表示清除main.o的可執行文件

5:makefile是如何工作的

默認範式下,輸入make命令後:

   1 make會再當前目錄下找名字叫"Makefile或者“makefile”的文件

   2 如果找到,他會找文件中第一個目標文件target,並吧這個target作爲最終目標文件,如前面實例中的“main”

   3 如果main文件不存在,或者main所依賴的.o文件的修改時間要比main文件要新,那麼他會執行後面所定義的命令來生成mian       文件

   4 如果main所依賴的.o文件也存在,那麼make會在當前文件夾中找目標爲.o的文件的依賴性,如找到規則則根據規則生成.o文        件

   5 make再用.o文件聲明make終極任務,也就是執行文件"main“

6:makefile中使用變量

這裏的變量就是objects

7:makefile中如何引用其他的Makefile

 

 $還原符號

 8 環境變量 MAKEFILES

 MAKEFILES

9:Makefile預定義變量

 10:Makefile的自動變量

11 Makefile函數

 

12: make的工作流程

1-5  第一階段

6-7 第二階段

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章