创建makefile
时间: 2023-09-27 11:04:35 浏览: 58
当你在使用C语言编写程序时,可以使用Makefile来自动化编译和构建过程。Makefile是一个文本文件,其中包含了一系列的规则,用于指定如何构建和生成一个或多个可执行文件。
以下是一个简单的Makefile示例:
```
# 定义变量
CC = gcc
CFLAGS = -Wall -g
# 定义源文件和目标文件
SRCS = main.c foo.c bar.c
OBJS = $(SRCS:.c=.o)
EXECUTABLE = myprogram
# 默认构建规则
all: $(EXECUTABLE)
# 生成可执行文件
$(EXECUTABLE): $(OBJS)
$(CC) $(CFLAGS) $(OBJS) -o $@
# 生成目标文件
%.o: %.c
$(CC) $(CFLAGS) -c $< -o $@
# 清理中间文件和可执行文件
clean:
rm -f $(OBJS) $(EXECUTABLE)
```
在上面的示例中,首先定义了编译器和编译选项的变量。然后定义了源文件和目标文件的变量,使用变量的方式可以方便地添加或删除文件。
接下来,定义了一个默认的构建规则 `all`,它依赖于 `$(EXECUTABLE)` 这个目标。在生成可执行文件的规则中,通过 `$^` 引用了所有的依赖文件,再通过 `-o $@` 指定了生成的可执行文件名。
然后定义了一个生成目标文件的规则,使用了通配符来匹配所有的源文件,并通过 `-c` 选项编译成目标文件。
最后,定义了一个 `clean` 规则,用于清理中间文件和可执行文件。
你可以将上述内容保存为名为 `Makefile` 的文件,并在该文件所在的目录下运行 `make` 命令来进行编译和构建。