mirror of
https://github.com/LHY0125/PathEditor.git
synced 2026-05-10 02:09:46 +08:00
7fac2aab35
- 将 Windows 消息常量和 UI 配置常量分别提取到 globals.h 和 config.h 头文件中,提高可维护性 - 将全局变量和控件定义从 main.c 移至独立的 globals.c 源文件,实现关注点分离 - 更新 Makefile 以包含新的源文件 globals.c - 在 ui.c 和 main.c 中引用 config.h,使用配置常量替代硬编码的 UI 参数
60 lines
1.5 KiB
Makefile
60 lines
1.5 KiB
Makefile
CC = gcc
|
|
WINDRES = windres
|
|
|
|
# Paths - specific to user environment
|
|
IUP_DIR = libs/iup-3.31_Win64_dllw6_lib
|
|
INCLUDE_DIR = $(IUP_DIR)/include
|
|
LIB_DIR = $(IUP_DIR)
|
|
LOCAL_INCLUDE_DIR = include
|
|
|
|
# Output Directories
|
|
OBJ_DIR = obj
|
|
BIN_DIR = bin
|
|
|
|
# Flags
|
|
# -mwindows: Create GUI app (no console)
|
|
# -DUNICODE -D_UNICODE: Use Wide Character API
|
|
CFLAGS = -Wall -O2 -I$(INCLUDE_DIR) -I$(LOCAL_INCLUDE_DIR) -D_WIN32 -DUNICODE -D_UNICODE -fexec-charset=UTF-8
|
|
LDFLAGS = -L$(LIB_DIR) -liup -liupcd -lgdi32 -lcomdlg32 -lcomctl32 -luuid -lole32 -ladvapi32 -mwindows
|
|
|
|
# Source
|
|
SRC = src/main.c src/utils.c src/registry.c src/callbacks.c src/ui.c src/globals.c
|
|
RES = ico/resources.rc
|
|
OBJ = $(OBJ_DIR)/main.o $(OBJ_DIR)/utils.o $(OBJ_DIR)/registry.o $(OBJ_DIR)/callbacks.o $(OBJ_DIR)/ui.o $(OBJ_DIR)/globals.o $(OBJ_DIR)/resources.o
|
|
EXE = $(BIN_DIR)/PathEditor.exe
|
|
|
|
all: $(BIN_DIR) $(OBJ_DIR) $(EXE)
|
|
|
|
$(BIN_DIR):
|
|
if not exist $(BIN_DIR) mkdir $(BIN_DIR)
|
|
|
|
$(OBJ_DIR):
|
|
if not exist $(OBJ_DIR) mkdir $(OBJ_DIR)
|
|
|
|
$(EXE): $(OBJ)
|
|
$(CC) -o $@ $^ $(LDFLAGS)
|
|
|
|
$(OBJ_DIR)/main.o: src/main.c
|
|
$(CC) $(CFLAGS) -c -o $@ $<
|
|
|
|
$(OBJ_DIR)/utils.o: src/utils.c
|
|
$(CC) $(CFLAGS) -c -o $@ $<
|
|
|
|
$(OBJ_DIR)/registry.o: src/registry.c
|
|
$(CC) $(CFLAGS) -c -o $@ $<
|
|
|
|
$(OBJ_DIR)/callbacks.o: src/callbacks.c
|
|
$(CC) $(CFLAGS) -c -o $@ $<
|
|
|
|
$(OBJ_DIR)/ui.o: src/ui.c
|
|
$(CC) $(CFLAGS) -c -o $@ $<
|
|
|
|
$(OBJ_DIR)/globals.o: src/globals.c
|
|
$(CC) $(CFLAGS) -c -o $@ $<
|
|
|
|
$(OBJ_DIR)/resources.o: ico/resources.rc
|
|
$(WINDRES) -i $< -o $@
|
|
|
|
clean:
|
|
if exist $(OBJ_DIR)\*.o del /Q $(OBJ_DIR)\*.o
|
|
if exist $(BIN_DIR)\*.exe del /Q $(BIN_DIR)\*.exe
|