Files
Course/PracticalTrain/DataStructure/Makefile

52 lines
1.1 KiB
Makefile

# 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