Initial commit. Separate build system and tests into different repos.
Push the pointer forward to fix header dependencies.
Push pointer forward and add tests for automatic recursive dependency generation.
Push the pointer forward.
Fix projects with multiple source files and multiple nested subdirectories and add tests for these cases.