Base filename gets set to compiler_depend.ts after update to CMake 3.20

The problem comes from the usage of $<. This Make variable returns the first prerequisite of the target. The behavior you expect relies on the layout of the makefile generated by CMake. And this layout has changed between 3.19 and 3.20.
This is definitively a very bad approach to rely on the makefile layout! If you can’t avoid to use your __FILENAME__ macro, I recommend you to use Make variable $@.