跳至主要内容

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)

CMake Introduction