@ECHO OFF SETLOCAL EnableDelayedExpansion SET target_name=Test.exe SET target_dir=Target\ SET compiler=g++ SET compiler_flags=-ggdb -Wall -Wextra SET linker_flags=-L. IF NOT EXIST %target_dir% ( MKDIR %target_dir% ) FOR /R %%F IN (*.cpp) DO ( %compiler% -c -I. %%F -o %target_dir%\%%~NF.o ) SET obj_array= FOR /R %%F IN (*.o) DO ( SET obj_array=!obj_array! %%F ) %compiler% %obj_array% -o %target_dir%\%target_name% %linker_flags% DEL %target_dir%\*.o