@echo off setlocal enabledelayedexpansion cd /D "%~dp0" if not exist build mkdir build pushd build set program_build_cmd=meta.exe %* set meta_build_cmd=cl.exe ../src/meta/meta.c /Od /Z7 /nologo /diagnostics:column /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 echo ======== Build ======== %program_build_cmd% set "rc=!errorlevel!" if !rc! NEQ 0 ( if !rc! EQU %meta_rebuild_code% ( del meta.exe goto meta_build ) exit /b !rc! )