Makefile & CMake Introduction
Makefile Introduction
Makefile 是一種自動化構建工具,通常用於編譯和鏈接 C/C++ 程式碼。它使用一個名為 Makefile
的文件來定義如何構建和管理專案的各個部分。
我們直接從一個 Makefile 開始:
# 這裡的變數 CC 和 CXX 分別指定了 C 和 C++ 編譯器
CC := clang
CXX := clang++
# .PHONY 是一個特殊的目標,表示這是一個虛擬目標,不對應於實際的文件
.PHONY: all
# all 是預設目標,當執行 make 時會執行這個目標
all: answer
# objects 是一個變數,包含了所有需要編譯的物件檔
objects := main.o answer.o
# 定義了 answer 目標,這是最終的可執行檔
answer: $(objects)
$(CXX) -o $@ $(objects)
main.o: answer.hpp
answer.o: answer.hpp
.PHONY: clean
clean:
rm -f answer $(objects)