Embrace the target: use Visual Studio (community edition)
You can still write in vim if you want, you just tab over and hit F5 when you want to run.
MSBuild has a steep learning curve, but I've recently managed to climb it using https://docs.microsoft.com/en-us/visualstudio/msbuild/msbuil...
Coming from make, a make target is a msbuild "item". Variables become properties. Build steps are "tasks" - generally you use the builtin ones.
or just use cmake with nmake or ninja generator if you are that hellbent on using cl.exe
it is really different...
I'm using LLVM on Windows - native binaries, calls to clang and clang++ with the same options as gcc.
So LLVM+cmake+ninja works reasnable well for medium sized project
You could stick with makefiles by using nmake. It's not nearly as full featured as gnu make, and both cmd and PowerShell are much different (and less powerful in the case of cmd) to bash. Still and all, I've made it work quite well in the past for the Windows build of a library I was responsible for in my former day job.
Another option would be to use cmake as your build tool and let it generate ninja, msbuild, or nmake scripts for you. It's not nearly as bad as it was in the past (nor as bad as some might lead to to believe). Worth a try, anyway.
It's a CLI based full blown SDK including compiler, package manager and build tools, and it's cross platform.
Download LLVM for Windows, it produced native Win binaries, works well, you could use the same GCC flags
[1] https://akr.am/blog/posts/a-guide-to-compiling-programs-on-w...