首页 经验

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命令进行编译和清理操作。


上一个 PuTTY手册,E.10 640×480 配置面板友好性 文章列表 下一个 PuTTY手册,E.12 SSH 代码中的协程

最新

工具

© 2019-至今 适观科技

沪ICP备17002269号