#
# 8051 Example System run-time support library make script
# Issued by Michael Kang
#
INFO = \#\#\#(info) make lib.mk
ERROR = \#\#\#(error) make lib.mk
## directories
RTE_DIR = ../rte/mcu
LIB_DIR = ${RTE_DIR}/lib
INC_DIR = ${RTE_DIR}/inc
SRC_DIR = ${RTE_DIR}/src
## Compilor Global Variable
CC = sdcc
AR = sdcclib
CCFLAGS = --model-small -c -I ${INC_DIR}
vpath %.c ${SRC_DIR}
OBJ := $(patsubst %.c, %.rel, $(wildcard ${SRC_DIR}/*.c))
OBJ := $(addprefix ${LIB_DIR}/, $(notdir ${OBJ}))
HEADERS := $(wildcard ${INC_DIR}/*.h)
.PHONY: all checkdir clean
all: checkdir ${LIB_DIR}/bell.lib
checkdir:
@if [ ! -d $(SRC_DIR) ]; then \
echo "${ERROR}: No library source directory $(SRC_DIR) found - exiting" ; \
exit 1; \
fi;
@if [ ! -d $(LIB_DIR) ]; then \
echo "${INFO}: Creating $(LIB_DIR)"; \
mkdir -p $(LIB_DIR);\
fi;
${LIB_DIR}/%.rel: ${SRC_DIR}/%.c ${HEADERS}
$(CC) $(CCFLAGS) -o $@ {1}lt;
${LIB_DIR}/bell.lib: $(OBJ)
$(AR) -ar $@ $?
clean:
-rm -rf ${LIB_DIR}
debug:
echo ${OBJ}
本文介绍了一个针对8051单片机的运行时支持库的makefile脚本,该脚本由Michael Kang发布,详细说明了如何构建库文件,包括源代码目录设置、编译器配置、目标文件生成等关键步骤。
31万+

被折叠的 条评论
为什么被折叠?



