I can tell you build.ninja can contains $: symbol, that's the escape for Ninja,
when ninjatool parse it, it will convert $: -> :, so that's not a problem.
This is part of the build.ninja on my computer
```
build version.rc_version.o: CUSTOM_COMMAND_DEP ../
qemu.org/version.rc | C$:/CI-Tools/msys64/mingw64/bin/x86_64-w64-mingw32-windres.EXE ../
qemu.org/pc-bios/qemu-nsis.ico DEPFILE = "version.rc_version.o.d"
DEPFILE_UNQUOTED = version.rc_version.o.d
COMMAND = "C:/CI-Tools/msys64/mingw64/bin/x86_64-w64-mingw32-windres.EXE" "-I./." "-I../
qemu.org/." "../
qemu.org/version.rc" "version.rc_version.o" "--preprocessor-arg=-MD" "--preprocessor-arg=-MQversion.rc_version.o" "--preprocessor-arg=-MFversion.rc_version.o.d"
description = Generating$ Windows$ resource$ for$ file$ 'version.rc'$ with$ a$ custom$ command
```