once the source files are compiled, they generate .o files in the obj directory. after that, they are not compiled anymore until you remove that .o file or update the source files (removing files does not count as update [1]). that's why it is the obj/ directory that must be changed


[1] on the other hand opening, changing something, undoing the change and saving the file would force the compiler to recompile the file even if it is the same as before, because the file has been saved since last time it's been compiled