makefile檔案製作
#(個人課堂筆記)
(臥槽,怎麼把別人名字洩露了的)
# #工程管理器make# #
很多原始檔組成的**結構組成乙個專案工程,這些檔案可能位於不同目錄下
●make 批處理編譯工程檔案
(makefile:編譯邏輯:如何執行批處理make命令,沒有makefile無法執行make命令)
●make hello.o make+目標:只執行目標對應的命令(無目標從第一行開始)
●makefile檔案內容:目標:冒號前面
依賴:冒號後面
命令:編譯檔案的命令**(命令重啟一行時必須按
tab輸入!!
)執行過程:第一行一般是最終目標檔案hello
.phony偽目標:沒有生成檔案,只執行對應的命令(只有指定的時候才執行,只有make只會執行真目標)
.phony:clean clean
偽目標,可用於再次執行
make
命令clean:
rm –f *.o demo
刪除所有
.o結尾檔案和可執行檔案
demo
●已編譯過再次執行make:提示「hello」是最新的(檢查檔案的時間戳,沒有變化即不編譯,每次:wq儲存退出都會改變檔案時間戳)
●make –f makefile1 指定用makefile1檔案make
●把工程功能目錄化的好處:提高**的可維護性和可讀性
●makefile分類最頂層:總控makefile
功能目錄內的:功能目錄makefile
scripts內的:標頭檔案makefile
#執行多個*.o已編譯檔案同時編譯成calc可執行檔案
Makefile檔案解析
在makefile中,除第一條命令外,每一條命令的開頭必須是tab製表符,比如 cc arm linux gcc exec hello objs hello.o cflags ldflags static all exec exec objs cc ldflags o objs clean rm f...
makefile檔案介紹
cflags 表示用於 c 編譯器的選項,cxxflags 表示用於 c 編譯器的選項。這兩個變數實際上涵蓋了編譯和彙編兩個步驟。cflags 指定標頭檔案 h檔案 的路徑,如 cflags i usr include i path include。同樣地,安裝乙個包時會在安裝路徑下建立乙個incl...
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...