在 Ubuntu 系統中,可以使用 gcc 命令來編譯 C/C++ 程序。如果希望將多個源文件一起編譯,并且避免每次都輸入復雜的編譯命令,可以使用 Makefile 文件來管理編譯過程。
下面是一個簡單的示例 Makefile 文件,用于編譯一個由 main.c 和 func.c 組成的項目:
CC=gcc
CFLAGS=-Wall
all: myprogram
myprogram: main.o func.o
$(CC) $(CFLAGS) -o myprogram main.o func.o
main.o: main.c
$(CC) $(CFLAGS) -c main.c
func.o: func.c
$(CC) $(CFLAGS) -c func.c
clean:
rm -f myprogram *.o
在這個 Makefile 中,定義了幾個變量,包括編譯器 gcc 和編譯選項 -Wall。接著定義了一個 all 目標,它依賴于 myprogram 目標。myprogram 目標依賴于 main.o 和 func.o 兩個目標,分別對應于 main.c 和 func.c 兩個源文件的編譯。最后定義了一個 clean 目標,用于清理生成的可執行文件和中間目標文件。
要使用這個 Makefile 文件,只需要在項目目錄下創建一個名為 Makefile 的文件,然后在終端中運行 make 命令即可。make 命令會自動根據 Makefile 中定義的規則來編譯項目。