Simple Makefile to build and run scala program
I don't know Scala, but I do know Make, so I hope this helps.
Firstly, the makefile is missing .DELETE_ON_ERROR:, which pretty much every makefile needs, to avoid part-written output files appearing up-to-date when a compilation command fails (e.g. is interrupted).
We also want .PHONY: for those targets that don't produce files, such as all and clean.  (And clean should use $(RM) rather than rm -f, for increased portability.)
I think that we want a straightforward pattern rule that says that we can make a file called foo.compile given an input called foo.scala:
%.compile: %.scala
    scalac -cp ${SCALA_FLAGS} $&lt;

It looks to me that -cp is one of the flags to scalac, so that should probably be in ${SCALA_FLAGS} rather than in the command.
I'm not convinced that your rules actually create the files they claim to.  For example, GrammarUtil.compile depends on grammar.generate, but then actually uses grammar.scala - should grammar.generate actually be grammar.scala there?