要生成可执行文件,需要创建一个 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 中定义的规则编译源文件,并生成可执行文件。