@echo off setlocal enabledelayedexpansion cd /D "%~dp0" if not exist build mkdir build pushd build for %%a in (%*) do set "%%a=1" set program_build_cmd=meta.exe %* set meta_build_cmd=cl.exe ../src/meta/meta.c /Od /Z7 /nologo /diagnostics:column /WX /link /DEBUG:FULL /INCREMENTAL:NO set meta_rebuild_code=1317212284 ::- Meta build :meta_build if not exist meta.exe ( echo ====== Meta build ===== %meta_build_cmd% set "rc=!errorlevel!" if !rc! NEQ 0 ( exit /b !rc! ) ) ::- Program build if not "%nobuild%"=="1" ( echo ======== Build ======== %program_build_cmd% set "rc=!errorlevel!" if !rc! NEQ 0 ( del meta.exe if !rc! EQU %meta_rebuild_code% ( goto meta_build ) exit /b !rc! ) )