makefile的規則:
target:prerequisities
command
target可以是obj檔案 ,也可以是目標檔案 ,也可以是lable 標籤
prerequisities 指的生成target所需要的依賴檔案或目標
command指的是執行的make命令,任意的shell命令
g++ -wall 可以列印出程式的錯誤或警告。提示程式可能存在的錯誤 如變數未初始化,型別轉換錯誤等等。
g++ -g 表示程式可以用gdb除錯。
在makefile中可以用巨集指代makefile檔案中的變數 ,在引用的時候只需在變數前加$即可,但如果變數的字元長度超過1,則必須要加乙個括號。
如 有效地巨集引用:
$(cflags) $z
$(z)
預定義變數
$@ 完整的目標檔名稱
$< 第乙個依賴檔案的名稱
cc c編譯器的名稱 ,預設為cc
cflags c編譯器的選項
cxx c++編譯器的名稱,預設為g++
cxxflags c++編譯器的選項
libiconv
是乙個常用的編碼轉換庫,支援常用的多種編碼之間的轉換
簡單的makefile用法
cc gcc cflags g ddebug lm wall i object i vm i compiler i parser i include i cli i gc w wstrict prototypes wmissing prototypes wsystem headers cflags ...
makefile用法入門
tool.c和main.c聯合編譯 注意tool.c中不能以main函式開頭,只能是其他的任意函式,同時需要包含tool.c函式宣告的標頭檔案tool.h int find max int arr,int n include tool.h intfind max int arr,int n retu...
Makefile中的wildcard用法
在makefile規則中,萬用字元會被自動展開。但在變數的定義和函式引用時 萬用字元將失效。這種情況下如果需要萬用字元有效,就需要使用函式 wildcard 它的用法是 wildcard pattern.在makefile 中,它被展開為已經存在的 使用空格分開的 匹配此模式的所有檔案列表。如果不存...