要生成可執行文件,需要創建一個 Makefile 文件,并在其中定義編譯規則。
以下是一個簡單的示例 Makefile 文件,用于編譯一個名為 “main” 的 C++ 源文件并生成可執行文件:
CC = g++
CFLAGS = -Wall
TARGET = main
SOURCES = main.cpp
OBJECTS = $(SOURCES:.cpp=.o)
all: $(TARGET)
$(TARGET): $(OBJECTS)
$(CC) $(CFLAGS) -o $@ $^
%.o: %.cpp
$(CC) $(CFLAGS) -c $<
clean:
rm -f $(OBJECTS) $(TARGET)
在 Makefile 中,我們首先定義了編譯器和編譯選項。然后,定義了目標文件的名稱(TARGET),源文件的名稱(SOURCES),以及對象文件的名稱(OBJECTS)。
接下來,我們定義了一個名為 “all” 的偽目標,它依賴于目標文件($(TARGET))。在這個目標中,我們使用 $(CC) 命令將所有的對象文件鏈接在一起,生成最終的可執行文件。
然后,我們定義了一個模式規則,用于將每個源文件編譯為對象文件。在這個規則中,我們使用 $(CC) 命令將源文件編譯成對象文件。
最后,我們定義了一個名為 “clean” 的偽目標,用于刪除生成的對象文件和可執行文件。
要生成可執行文件,只需在命令行中運行 “make” 命令即可:
$ make
這將按照 Makefile 中定義的規則編譯源文件,并生成可執行文件。