您好,登錄后才能下訂單哦!
本篇內容介紹了“Linux系統中怎么使用Makefile”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
使用GNU Make工具來管理程序是每個Linux工程師必須掌握的技能。Make能夠使整個程序的編譯、鏈接只需要一個命令(make)就可以完成。Make的工作主要依賴于一個叫為Makefile的文件。Makefile文件描述了整個程序的編譯,連接等規則。其中包括:工程中的哪些源文件需要編譯以及如何編譯,如何最后產生我們想要得可執行文件。
Makefile中最重要的組成部分是“規則”規則:用于說明如何生成目標文件,規則的格式如下:targets : prerequisitescommand目標 依賴 命令特別提供:命令需要使用【TAB】鍵空格
Makefile中把那些只包含命令,沒有任何依賴的目標稱為”偽目標”(phony targets)..PHONY : cleanclean :rm –f hello main.o func.o“.PHONY” 將“clean”目標聲明為偽目標
1.當一個makefile中有多條規則時,如何單獨執行某條規則? make led.o (帶一個目標名,自動判斷)\2. 如果用戶沒有指定執行某一條規則,make會默認執行makefile中的第1條規則,而這條規則中的目標稱之為:最終目標
使用變量前:app1: app1.o func1.o func2.ogcc app1.o func1.o func2.o -o app1app2: app2.o func1.o func2.ogcc app2.o func1.o func2.o -o app2使用變量后:obj=func1.o func2.oapp1: app1.o (obj) -o app1app2: app2.o (obj) -o app2重復使用的名字,可以用變量表示。沒有特別的類型區別。使用時加在中,用戶除了可以自己定義變量外,還可以使用存在存在系統已經定義好的默認變量。^:代表所有的依賴文件 :代表目標這些都是相對于目標名和依賴名來說的,如led.o:led.S這些都是相對于目標名和依賴名來說的,如led.o:led.S
使用前:led.o : led.Sarm-linux-gcc -g –o led.o -c led.S使用后:led.o : led.Sarm-linux-gcc -g –o ^
當一個makefile中有許多類似的規則時,如何將這些規則合并為一條通用規則?%.o :%.S arm-linux-gcc -g -o kslasjd -o klsdjalkdj3.使用技巧-去回顯Makefile中“#”字符后的內容被視作注釋。hello: hello.c@gcc hello.c –o hello@:@:取消回顯 (演示)
3.使用技巧-文件名make命令默認在當前目錄下尋找名字為makefile或者Makefile的工程文件,當名字不為這兩者之一時,可以使用如下方法指定:make –f 文件名是Makefile文件
“Linux系統中怎么使用Makefile”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。