大學有陣子做嵌入式的時候覺得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...