make命令的自動推導

2021-09-29 17:28:06 字數 816 閱讀 3843

gnu 的 make 可以自動推導檔案以及檔案依賴關係後面的命令。因此,我們就沒必要在

每個 .o 檔案後都寫上類似的命令, make命令會自動識別,並進行推導命令。

當make命令看到乙個 .o 檔案,它就會自動把 .c 檔案加在依賴關係中,例如make找到main.o,就可以推導出main.c就是main.o的依賴檔案,並且推導出要執行的命令gcc -c main.c。所以,我們的makefile檔案可以表達得更簡單些。

舊的(不用推導):

objects = main.o hello.o

main.o:main.c hello.h

gcc -c\

main.c

hello.o:hello.c hello.h

gcc -c hello.c

clean:

新的(需要推導):

objects = main.o hello.o

main.o:hello.h

hello.o:hello.h

clean:

對新的makefile檔案執行一下make命令:

~/desktop/mydir$ make

cc -c -o main.o main.c

cc -c -o hello.o hello.c

~/desktop/mydir$ ls

~/desktop/mydir$ .

hello world88!

謝謝閱讀!

IDEA Intellij開啟自動make

idea intellij開啟自動編譯 2015 05 19更新 個人感覺自動make並不好用,特別是程式有錯誤需要查資料的時候也會make,所以還是關閉了 從eclipse轉移到intellij,還處於體驗期,感覺eclipse跑程式會快,而intellij則慢很多。跑了同乙個程式測試了時間,發現...

make命令 clean命令

先先看一下什麼是makefile makefile定義了一系列的規則來指定,哪些檔案需要先編譯,哪些檔案需要後編譯,哪些檔案需要重新編譯,甚至於進行更複雜的功能操作,因為 makefile就像乙個shell指令碼一樣,其中也可以執行作業系統的命令。makefile帶來的好處就是 自動化編譯 一旦寫好...

make相關命令

make 根據makefile編譯源 連線,生成目標檔案,可執行檔案。make clean 清除make命令所產生的object檔案 字尾為 o 的檔案 及可執行檔案。make install 將編譯成功的可執行檔案安裝到系統目錄中,一般為 usr local bin目錄。make dist 產生發...