makefile
makefile 檔案 ===> 檔名:makefile 或者 makefile
書寫規則:
目標檔案:依賴檔案
(乙個tab鍵) 命令
命令前面的tab鍵不能用空格代替
目標檔案
最終要生生成的檔案
依賴檔案
為了生成目標檔案需要的檔案
命令通過依賴檔案生成目標檔案的方法
執行:執行 make 命令,執行命令的時候可以加 「-n」,代表不真正執行命令,只是預覽要執行的命令
偽目標的寫法:
目標:(空的)
命令偽目標不會生成目標檔案,執行 :make 名字 執行相應命令
常用:clean
清除相關檔案
all/all
最終要生成的目標,不要寫命令
clean的命令前可以加『-』,目的:當刪除某些檔案失敗的時候,可以讓命令繼續執行下去
執行規則:
1、如果目標檔案的時間早於依賴檔案,則重新生成目標檔案
2、如果依賴檔案不存在,則會去找相應的規則生成依賴檔案
makefile中變數不需要型別,例如:src=abc
取變數的值用 $(變數) ===> $(src) ===> abc
wildcard
$(wildcard *.c)
匹配當前目錄下所有.c 檔案
patsubst
$(patsubst %.c, %.o , $(src))
src = $(wildcard *.c) ==> src = main.c add.c mul.c sub.c
obj= $(patsubst %.c, %.o , $(src)) ==> obj = main.o add.o mul.o sub.o
$(@)
代表規則中的目標檔案
$(^)
代表規則中的所有依賴檔案
$(<)
代表規則中的第乙個依賴檔案
模式匹配:
%.o:%.c
偽目標最好寫在.phony後面宣告一下,否則如果當前資料夾下存在和偽目標相同的檔案,則偽目標將失效
Linux學習之路
一直想學習linux,就其原因,一是懂這個的都被認為水平比較高,二是懂這個的工資也不低,這兩點我也是比較看重的。想學linux也不是一件簡單的事,因為用windows的東西太久了,從3.1到95 98 se nt 2000 me xp 2003,直至最新的windows 7 2008等,全算下來,有...
Linux學習之路
bios 開機主動執行的韌體,會識別第乙個可開機的裝置 mbr 第乙個可開機裝置的第乙個扇區內的主要啟動記錄區塊,內含開機管理程式 開機管理程式 boot loader 一支可讀取核心檔案來執行的軟體 核心檔案 開始作業系統的功能。下面是網上比較好的開機流程,僅供參考 將資料同步寫入磁碟的方法 sy...
Linux學習之路
本白菜又要開始學linux了哈哈 硬碟上的分割槽最多只有4個,即主分割槽的數目 擴充套件分割槽的數目 4 同時擴充套件分割槽的數目最多只能有1個,也可以沒有。當想要分割槽數目 4,就需要劃分擴充套件分割槽,然後在擴充套件分割槽的基礎上劃分邏輯分割槽。一般c盤就是主分割槽,然後d,e,f,g,就是擴充...