makefile的意義
# 乙個最基本的依賴的規則如下:
target : prerequisites ; command1
'\t'command2
makefile中的元素含義
prerequisities
command
規則中的注意事項
續行符: 』\『
乙個makefile的依賴示例
all : test
echo "make all"
test :
echo "make test"
上面所展示的makfile中,all目標依賴test目標,所以必須要test存在,才能保證all目標執行echo "make all"命令完成目標。test目標沒有依賴,所以只需要執行echo "make test"即可完成其目標。
實驗截圖
依賴規則
小技巧第乙個make的編譯案例
hello.out : main.o func.o
gcc -o hello.out main.o func.o
main.o : main.c
gcc -o main.o -c main.c
func.o : func.c
gcc -o func.o -c func.c
依賴關係如下圖所示:
hello.out需要func.o和main.o的存在,並且執行對應的命令才能完成。main.o依賴於main.c,並執行相應命令才能完成。func.o依賴func.c,並執行相應命令才能完成。
實驗結果:
如果我們修改main.c,再次執行make,func.o沒有被重新生成,而只有main.o和hello.out的目標對應的命令被執行了。因為func.o存在,且在時間上比 func.c更新,所以該目標對應的命令不會執行,無需重新生成func.o檔案。
將hello.out目標改為all,如下所示:
all : main.o fun.o
gcc -o hello.out main.o func.o
main.o : main.c
gcc -o main.o -c main.c
func.o : func.c
gcc -o func.o -c func.c
當我們再次執行make時,gcc -o hello.out main.o func.o,這句命令總會執行,即使依賴檔案並沒有更新,這是因為在當前目錄下並沒有乙個名為all的檔案存在,所以make在解析makefile時,會按照依賴規則的第一條進行解析,因此,命令會被執行。
實驗結果:
將hello.out和all目標寫在一起又會發生什麼?
hello all : main.o fun.o
gcc -o hello.out main.o func.o
main.o : main.c
gcc -o main.o -c main.c
func.o : func.c
gcc -o func.o -c func.c
當執行make時,make直譯器預設的目標是為hello.out。如果當前目錄下會存在hello.out檔案,當依賴(即func.c main.c檔案)不改變時,執行make命令不會去更新最終的可執行檔案,僅僅給出檔案是最新的提示。
實驗結果:
小結:
Linux重修第二課(初識SHELL)
mv info 擴充套件為mv info info.old cmd 後台執行 cmd 在自shell中執行 cmd1 cmd2 注意是反引號,將cmd2的結果作為1的引數 cmd cmd2 1成功後才執行2,還可以替換成 表示1執行失敗才執行2 幾種shell的配置檔案路徑 sh bash prof...
第二課 安裝PHP
為什麼要安裝php?php是伺服器端解析程式,一般執行在網路伺服器上。而編寫php語言的程式我們一般是在自己的個人電腦上完成,然後拿到伺服器上除錯。所以,學習php首先要讓我們的個人電腦模擬伺服器執行環境,讓php能象在伺服器上一樣在我們的個人電腦上執行。這就是為什麼要安裝配置php的原因。安裝配置...
csdn之旅 第二課
1.html標題的標籤 1 注意 只能到,在往後就沒有作用了。2 標籤特點 可以區別其他文字,比如可以加粗 效果圖如 笑對生活!笑對生活!笑對生活!笑對生活!改變字型大小 可以自動換行 2.html段落標記 用元素 注意 標籤和標籤之間的關係 可以巢狀使用 但不可以交叉 3.html常用標記 單標記...