# 定义路径变量
SRC_DIR = ./
OBJ_DIR = ./
BIN_DIR = ./

# 定义编译器
CC = g++
STD = -std=c++11
# 定义目标文件
TARGET = $(BIN_DIR)/a.out
# 定义源文件
SRCS =  $(wildcard $(SRC_DIR)/*.cpp)
# OBJS =  $(OBJ_DIR)/lrc.o $(OBJ_DIR)/console.o $(OBJ_DIR)/start_mplayer.o $(OBJ_DIR)/time_delay.o $(OBJ_DIR)/main.o
OBJS = $(patsubst $(SRC_DIR)/%.cpp, $(OBJ_DIR)/%.o, $(SRCS))

# 编译规则
$(OBJ_DIR)/%.o: $(SRC_DIR)/%.cpp
	$(CC) -c $< -o $@ $(STD)

# 链接规则
$(TARGET): $(OBJS)
	$(CC) $^ -o $@ $(STD)

# 默认构建目标
all: $(TARGET)

# 创建目录
$(shell mkdir -p $(OBJ_DIR) $(BIN_DIR))

# 运行测试
run: $(TARGET)
	$(TARGET)

# 清理规则
clean:
	rm -rf $(OBJ_DIR)/*.o $(TARGET)

# 伪目标
.PHONY: all clean