`flymake-cc-use-special-make-target`, the standard value for `flymake-cc-command`, generates a command like make check-syntax CHK_SOURCES="-x c -c -" which causes the compiler (at least Clang) to create the file `-.o` that is never cleaned up and whose name is mysterious and awkward to remove. What about the patch below?