PuTTY手册,E.11 自动生成的 Makefile
时间: 2024-10-19 14:51:01
(部分内容来自网络,其真实性存疑,为了避免对您造成误导,请谨慎甄别。)
以下是一个自动生成的Makefile示例:
makefile# 编译器设置 CC = gcc CFLAGS = -Wall -g # 目标文件 TARGET = program # 源文件 SRCS = main.c foo.c bar.c # 自动生成依赖关系 DEPS = $(SRCS:.c=.d) # 编译目标文件 OBJS = $(SRCS:.c=.o) # 默认目标 all: $(TARGET) # 生成目标文件 $(TARGET): $(OBJS) $(CC) $(CFLAGS) -o $@ $^ # 自动生成依赖关系 %.d: %.c @$(CC) -MM $< | sed 's,$$*$\.o[ :]*,\1.o $@ : ,g' > $@ # 包含依赖关系 -include $(DEPS) # 清理目标文件 clean: rm -f $(OBJS) $(DEPS) $(TARGET) .PHONY: all clean
这个Makefile包含了以下几个部分:
1. 编译器设置:定义了编译器和编译选项。
2. 目标文件:定义了最终生成的可执行文件的名称。
3. 源文件:定义了所有的源文件。
4. 自动生成依赖关系:使用gcc的-MM选项自动生成源文件的依赖关系。
5. 编译目标文件:将所有的目标文件链接成最终的可执行文件。
6. 自动生成依赖关系:使用sed命令将gcc生成的依赖关系文件进行处理,生成Makefile可以识别的格式。
7. 包含依赖关系:使用-include选项包含自动生成的依赖关系文件。
8. 清理目标文件:删除所有的目标文件和依赖关系文件。
9. 声明all和clean为伪目标,避免与同名文件冲突。
你可以将上面的示例保存为Makefile文件,并使用make命令进行编译和清理操作。