【C++ Makefile #0】Make, Makefile 的基本觀念, 其實 Makefile 不一定只用來用於 C++ 編譯?

前言

make, 對應使用的文件是 Makefile,
其實他不只用於 C++ 的編譯,真的要說他比較像是「自動化工具」,
只是在 C++ 編譯時更廣為使用。

既然都是自動化, makefile 與 bash script 的差別?

make 更專注於軟體的建構過程

    - 對於複雜的程式 dependency, 表示清楚程式之間的關係 - make 能檢查哪些文件有被修改、需要被重新編譯,提高效率 (對比 bash script 全部都會執行)

bash 則是專注於腳本的自動化

    - 任務比較多種類型都能包含,不會很少特別拿來建構軟體 - 本身就是 shell script (一種語言),逐行執行對應的指令