# Makefile for Bus Route Management System CC = gcc CFLAGS = -Wall -Wextra -g -I./include LDFLAGS = -lm # 目录 SRC_DIR = src INC_DIR = include OBJ_DIR = obj BIN_DIR = bin DATA_DIR = data # 源文件和目标文件 SOURCES = $(wildcard $(SRC_DIR)/*.c) OBJECTS = $(SOURCES:$(SRC_DIR)/%.c=$(OBJ_DIR)/%.o) TARGET = $(BIN_DIR)/bus_system # 默认目标 all: directories $(TARGET) # 创建必要的目录 directories: @mkdir -p $(OBJ_DIR) @mkdir -p $(BIN_DIR) @mkdir -p $(DATA_DIR) # 链接目标文件生成可执行文件 $(TARGET): $(OBJECTS) $(CC) $(OBJECTS) -o $(TARGET) $(LDFLAGS) @cp -r $(DATA_DIR) $(BIN_DIR) @echo "build successful: $(TARGET)" # 编译源文件为目标文件 $(OBJ_DIR)/%.o: $(SRC_DIR)/%.c $(CC) $(CFLAGS) -c $< -o $@ # 清理编译文件 clean: rm -rf $(OBJ_DIR) $(BIN_DIR) @echo "clean over" # 运行程序 run: $(TARGET) @cp -r $(DATA_DIR) $(BIN_DIR) @cd $(BIN_DIR) && ./bus_system # 安装数据文件(如果需要) install-data: @echo "请确保 data/ 目录包含 stations.csv 和 routes.csv" .PHONY: all clean run directories install-data