MAKE_JOBS_UNSAFE is currently needed because we ALL_TARGET is set to the default value "all". This means we will build most of the code twice, in release and debug mode, and only install one of the versions. The parallel build seems to fail when e.g. a library is built in release mode and the debug build assumes it is present as well.
If we choose the right target to pass to make, we can make sure only the code we will use is actually built, and parallel builds work as expected. Some plugins have different names depending on the build type, so add some PLIST_SUB trickery to handle that.
While here, remove the .desktop file from the plist, as the install-desktop-entries target already adds an entry to the plist (make check-plist actually fails right now because the file does not even exist at the time it is run).