compilation-read-command is a variable defined in `compile.el'.
Its value is

  • This variable may be risky if used as a file-local variable.

Non-nil means M-x compile reads the compilation command to use.
Otherwise, M-x compile just uses the value of `compile-command'.

Note that changing this to nil may be a security risk, because a
file might define a malicious `compile-command' as a file local
variable, and you might not notice. Therefore, `compile-command'
is considered unsafe if this variable is nil.

You can customize this variable.