写个8051 makefile
时间: 2023-09-23 13:04:57 浏览: 63
手把手教写Makefile
以下是一个基本的8051 Makefile示例:
```
# 8051 Makefile
# 定义编译器和选项
CC = sdcc
CFLAGS = --model-small --xram-loc 0x8000 --xram-size 0x0800
# 定义目标文件
TARGET = main
# 定义源文件
SRCS = main.c
# 定义头文件路径
INCLUDES = -I./include
# 定义依赖文件
DEPS = $(SRCS:.c=.d)
# 定义编译规则
%.rel: %.c
$(CC) $(CFLAGS) $(INCLUDES) -c $< -o $@
# 定义链接规则
$(TARGET).ihx: $(SRCS:.c=.rel)
$(CC) $(CFLAGS) $(INCLUDES) $(SRCS:.c=.rel) -o $(TARGET).ihx
# 定义清理规则
clean:
rm -f $(TARGET).ihx $(SRCS:.c=.rel) $(DEPS)
# 定义默认规则
all: $(TARGET).ihx
# 定义依赖规则
%.d: %.c
$(CC) $(INCLUDES) -MM $< > $@
# 引入依赖文件
-include $(DEPS)
```
该Makefile定义了编译器和选项,目标文件,源文件,头文件路径,依赖文件,编译规则,链接规则,清理规则,默认规则和依赖规则。其中,编译规则将每个.c文件编译为.rel文件,链接规则将所有.rel文件链接为一个ihx文件,清理规则将所有生成的文件删除,默认规则将生成目标文件,依赖规则将生成依赖文件。最后,引入依赖文件以确保在头文件被更新时重新编译。
阅读全文