1- ARCH = x64
2-
3- # SDL dependency files
4- SDL_LIB = frameworks\sdl\lib\SDL2.lib
5- SDL_DLL = frameworks\sdl\bin\SDL2.dll
6-
7- DEBUG = /SUBSYSTEM:CONSOLE
8- RELEASE = /SUBSYSTEM:WINDOWS
9-
101CC = CL
112CFLAGS = /MD /nologo /W3 /w44996
123LFLAGS = /link \
@@ -22,6 +13,10 @@ LIBS = user32.lib \
2213 Comdlg32.lib \
2314 Shell32.lib
2415
16+ # SDL dependency files
17+ SDL_LIB = frameworks\sdl\lib\SDL2.lib
18+ SDL_DLL = frameworks\sdl\bin\SDL2.dll
19+
2520# Source files
2621CORE_SRCS = ..\Core\Audio.cc ..\Core\Chip8.cc ..\Core\Display.cc ..\Core\Gui.cc \
2722 ..\Core\imgui_impl_sdl.cc ..\Core\Input.cc ..\Core\main.cc \
@@ -35,16 +30,13 @@ OBJS = Audio.obj Chip8.obj Display.obj Gui.obj imgui_impl_sdl.obj Input.obj \
3530 main.obj opcodes.obj open_file_dialog.obj imgui.obj imgui_demo.obj \
3631 imgui_draw.obj file_dialog.obj
3732
38- RESOURCE = Kiwi8.res
3933
4034APP_NAME = Kiwi8
41- APP_EXE = Kiwi8.exe
42-
43- APP_DEBUG = debug\$(APP_NAME ) .exe
44- APP_RELEASE = release\$(APP_NAME ) .exe
35+ APP_EXE = $(APP_NAME ) .exe
36+ RESOURCE = $(APP_NAME ) .res
4537
4638# Default target
47- all : $( APP_DEBUG ) $( APP_RELEASE )
39+ all : debug\ $( APP_EXE ) release\ $( APP_EXE )
4840
4941# Build SDL (force rebuild with: nmake sdl)
5042sdl :
@@ -71,23 +63,23 @@ $(RESOURCE): src\Kiwi8.rc resources\Kiwi8.ico
7163 RC src\K iwi8.rc
7264 MOVE src\K iwi8.res $@
7365
74- $( APP_DEBUG ) : $(SDL_LIB ) $(SDL_DLL ) $(OBJS ) $(RESOURCE )
75- $(CC ) $(CFLAGS ) /Zi /Fe$(APP_NAME ) $(INCS ) * .obj * .res $(LIBS ) $(LFLAGS ) $( DEBUG )
66+ debug\ $( APP_EXE ) : $(SDL_LIB ) $(SDL_DLL ) $(OBJS ) $(RESOURCE )
67+ $(CC ) $(CFLAGS ) /Zi /Fe$(APP_NAME ) $(INCS ) * .obj * .res $(LIBS ) $(LFLAGS ) /SUBSYSTEM:CONSOLE
7668 IF NOT EXIST debug MKDIR debug
7769 COPY $(SDL_DLL ) debug\S DL2.dll
78- MOVE $(APP_NAME ) .exe $@
70+ MOVE $(APP_EXE ) $@
7971
80- $( APP_RELEASE ) : $(SDL_LIB ) $(SDL_DLL ) $(OBJS ) $(RESOURCE )
81- $(CC ) $(CFLAGS ) /Fe$(APP_NAME ) $(INCS ) * .obj * .res $(LIBS ) $(LFLAGS ) $( RELEASE )
72+ release\ $( APP_EXE ) : $(SDL_LIB ) $(SDL_DLL ) $(OBJS ) $(RESOURCE )
73+ $(CC ) $(CFLAGS ) /Fe$(APP_NAME ) $(INCS ) * .obj * .res $(LIBS ) $(LFLAGS ) /SUBSYSTEM:WINDOWS
8274 IF NOT EXIST release MKDIR release
8375 COPY $(SDL_DLL ) release\S DL2.dll
84- MOVE $(APP_NAME ) .exe $@
76+ MOVE $(APP_EXE ) $@
8577
8678test-debug :
87- debug\$ (APP_NAME).exe
79+ debug\$ (APP_EXE)
8880
8981test-release :
90- release\$ (APP_NAME).exe
82+ release\$ (APP_EXE)
9183
9284# Remove just SDL (for forcing recompile)
9385clean-sdl :
@@ -96,7 +88,7 @@ clean-sdl:
9688
9789# Clean any leftover build files (keeps SDL)
9890clean :
99- -DEL /Q $( APP_DEBUG ) $( APP_RELEASE ) * .obj * .res * .pdb 2> nul
91+ -DEL /Q * .obj * .res * .pdb 2> nul
10092 -IF EXIST debug RD /S /Q debug
10193 -IF EXIST release RD /S /Q release
10294
0 commit comments