ubuntu gcc編譯命令與Makefile的整合方法

小樊
82
2024-07-24 22:38:12

在 Ubuntu 系統(tǒng)中,可以使用 gcc 命令來編譯 C/C++ 程序。如果希望將多個(gè)源文件一起編譯,并且避免每次都輸入復(fù)雜的編譯命令,可以使用 Makefile 文件來管理編譯過程。

下面是一個(gè)簡單的示例 Makefile 文件,用于編譯一個(gè)由 main.c 和 func.c 組成的項(xiàng)目:

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

在這個(gè) Makefile 中,定義了幾個(gè)變量,包括編譯器 gcc 和編譯選項(xiàng) -Wall。接著定義了一個(gè) all 目標(biāo),它依賴于 myprogram 目標(biāo)。myprogram 目標(biāo)依賴于 main.o 和 func.o 兩個(gè)目標(biāo),分別對(duì)應(yīng)于 main.c 和 func.c 兩個(gè)源文件的編譯。最后定義了一個(gè) clean 目標(biāo),用于清理生成的可執(zhí)行文件和中間目標(biāo)文件。

要使用這個(gè) Makefile 文件,只需要在項(xiàng)目目錄下創(chuàng)建一個(gè)名為 Makefile 的文件,然后在終端中運(yùn)行 make 命令即可。make 命令會(huì)自動(dòng)根據(jù) Makefile 中定義的規(guī)則來編譯項(xiàng)目。

0