關於Linux中Makefile 檔案的使用

2021-08-27 09:00:26 字數 1197 閱讀 9372

大學有陣子做嵌入式的時候覺得makefile簡直高不可攀~~

教程大多數都在試圖把許多細節都講清楚~~沒有跟教程死磕3天的勁頭真的不容易搞懂makefile

而且寫makefile需要一點點gcc編譯器的儲備知識。對於在linux上剛上手的開發者的確有點繞。

所以我在這裡做了個最簡版的makefile,看懂這個,你大體能知道makefile該怎麼寫~~~~其他細節,只能「大行不顧細謹」了

裡面的檔案為 dandl.txt  makefile  outlib.c  outlib.h  testmake.c

其中main函式位於testmake.c中

testmake.c 中呼叫了由outlib.h宣告outlib.c定義的乙個函式。

使用gcc將這個最簡單的工程編譯鏈結的shell命令,在dandl.txt中

gcc -c 的意思是將(.c檔案)原始檔編譯,生成目標檔案(.o檔案)~~(原始檔的#include預處理就能找到對應的標頭檔案(.h檔案))

gcc 目標檔案 -o testmake的意思是將目標檔案鏈結,生成可執行檔案。testmake是可執行檔案的名字。

這些就是你需要知道的gcc儲備知識

makefile就是針對這3個**檔案的最簡版本

makefile的基本語法如下:

這些通過我寫的makefile很容易理解:

很明顯,我們能看到,這個makefile包含4個基本語句。
當在當前資料夾下,輸入make outlib時,就相當於執行target為outlib的那語句的command

執行結果如下:

其中,make all和make clean是makefile最常用的功能,一般要注意檢查一下。

當你掌握這些~你已經出師可以自己寫makefile~當然,還有許多高階的技巧等你學習探索。

Linux下C語言程式設計基礎 Makefile

假設我們有下面這樣的乙個程式,源 如下 main.c include mytool1.h include mytool2.h int main int argc,char argv mytool1.h ifndef mytool 1 h define mytool 1 h void mytool1 ...

linux核心可載入模組的makefile

在開發linux核心驅動時,免不了要接觸到makefile的編寫和修改,儘管網上的makefile模板一大堆,做一些簡單的修改就能用到自己的專案上,但是,對於這些基礎的東西,更應該做到知其然並知其所以然。本篇文章中只討論linux核心模組編譯的makefile,linux核心makefile總覽可以...

Linux核心開發 最簡單的Makefile

最簡單的linux驅動程式 至少需要乙個makefile,乙份源 本文簡單解釋makefile中的各個make target的意義。這裡只是介紹乙個簡單的基礎的makefile,生產環境需要更好的makefile模板和構建工具。示例 obj m helloword.o pwd shell pwd k...