49 lines
762 B
Makefile
49 lines
762 B
Makefile
# 编译器设置
|
|
CC = gcc
|
|
AR = ar
|
|
CFLAGS = -g -Wall -I..
|
|
|
|
# 源文件路径
|
|
RT_DIR = ./rt
|
|
LOG_DIR = ./rt/log
|
|
|
|
# basic rt lib
|
|
SRCS = \
|
|
$(RT_DIR)/std/rt_std.c \
|
|
./core.c \
|
|
$(RT_DIR)/rt.c \
|
|
$(RT_DIR)/rt_alloc.c \
|
|
$(RT_DIR)/rt_string.c \
|
|
$(LOG_DIR)/log.c
|
|
|
|
# utils lib
|
|
UTILS_DIR = ./utils
|
|
DS_DIR = $(UTILS_DIR)/ds
|
|
STRPOOL_DIR = $(UTILS_DIR)/strpool
|
|
SYMTAB_DIR = $(UTILS_DIR)/symtab
|
|
TOKBUF_DIR = $(UTILS_DIR)/tokbuf
|
|
SRCS += \
|
|
$(DS_DIR)/hashtable.c \
|
|
$(STRPOOL_DIR)/strpool.c \
|
|
# $(SYMTAB_DIR)/symtab.c \
|
|
# $(TOKBUF_DIR)/tokbuf.c
|
|
|
|
# 生成目标文件列表
|
|
OBJS = $(SRCS:.c=.o)
|
|
|
|
# 最终目标
|
|
TARGET = libcore.a
|
|
|
|
all: $(TARGET)
|
|
|
|
$(TARGET): $(OBJS)
|
|
$(AR) rcs $@ $^
|
|
|
|
%.o: %.c
|
|
$(CC) $(CFLAGS) -c -o $@ $<
|
|
|
|
clean:
|
|
rm -f $(OBJS) $(TARGET)
|
|
|
|
.PHONY: all clean
|