@echo off mkdir build cd build if "%1"=="release" ( set profile_flags=-DDEBUG_BUILD=0 -O2 ) else ( set profile_flags=-DDEBUG_BUILD=1 ) if not exist "lbaselib.obj" ( cl -Zi -nologo -I../src/external/lua/src -I../src/external/glad ../src/external/lua/src/lbaselib.c ../src/external/lua/src/lctype.c ../src/external/lua/src/ldo.c ../src/external/lua/src/lgc.c ../src/external/lua/src/liolib.c ../src/external/lua/src/lmem.c ../src/external/lua/src/lopcodes.c ../src/external/lua/src/lstate.c ../src/external/lua/src/ltable.c ../src/external/lua/src/lundump.c ../src/external/lua/src/lzio.c ../src/external/lua/src/lapi.c ../src/external/lua/src/lcode.c ../src/external/lua/src/ldblib.c ../src/external/lua/src/ldump.c ../src/external/lua/src/llex.c ../src/external/lua/src/loadlib.c ../src/external/lua/src/loslib.c ../src/external/lua/src/lstring.c ../src/external/lua/src/ltablib.c ../src/external/lua/src/lutf8lib.c ../src/external/lua/src/lauxlib.c ../src/external/lua/src/lcorolib.c ../src/external/lua/src/ldebug.c ../src/external/lua/src/lfunc.c ../src/external/lua/src/linit.c ../src/external/lua/src/lmathlib.c ../src/external/lua/src/lobject.c ../src/external/lua/src/lparser.c ../src/external/lua/src/lstrlib.c ../src/external/lua/src/ltm.c ../src/external/lua/src/lvm.c ../src/external/glad/glad.c -c ) if not exist "metaprogram.exe" ( cl /WX /W3 /wd4200 /diagnostics:column -FC -Zi -nologo -Fe:metaprogram.exe -I../src ../src/metaprogram/metaprogram.cpp ../src/basic/win32.cpp ) metaprogram.exe set sdl=../src/external/SDL/win32-static/SDL3-static.lib ../src/external/SDL/win32-static/SDL_uclibc.lib cl /EHsc- /MD /Zi /FC /nologo /WX /W3 /wd4200 /diagnostics:column %profile_flags% ../src/text_editor/text_editor.cpp ../src/basic/win32.cpp -Fe:te.exe -I../src/external/SDL/include -I../src/external/lua/src -I../src/external/glad -I../src/ lbaselib.obj lctype.obj ldo.obj lgc.obj liolib.obj lmem.obj lopcodes.obj lstate.obj ltable.obj lundump.obj lzio.obj lapi.obj lcode.obj ldblib.obj ldump.obj llex.obj loadlib.obj loslib.obj lstring.obj ltablib.obj lutf8lib.obj lauxlib.obj lcorolib.obj ldebug.obj lfunc.obj linit.obj lmathlib.obj lobject.obj lparser.obj lstrlib.obj ltm.obj lvm.obj glad.obj kernel32.lib gdi32.lib user32.lib Imm32.lib ole32.lib Shell32.lib OleAut32.lib Cfgmgr32.lib Setupapi.lib Advapi32.lib version.lib winmm.lib %sdl% -link /SUBSYSTEM:WINDOWS /NODEFAULTLIB:LIBCMT /NODEFAULTLIB:MSVCRTD if "%1"=="release" ( copy te.exe ..\data\te.exe echo written ..\data\te.exe ) else ( copy te.exe ..\data\te_debug.exe echo written ..\data\te_debug.exe )