Although the Free Software Foundation has many enlightened practices regarding Makefiles and software installation (see see Other FSF Software), Emacs, its flagship program, doesn't quite follow the rules. In particular, most GNU software allows you to write:
make make install prefix=/usr/local/stow/package
If you try this with Emacs, then the new value for prefix in the ‘make install’ step will cause some files to get recompiled with the new value of prefix wired into them. In Emacs 19.23 and later,1 the way to work around this problem is:
make make install-arch-dep install-arch-indep prefix=/usr/local/stow/emacs
In 19.22 and some prior versions of Emacs, the workaround was:
make make do-install prefix=/usr/local/stow/emacs
 As I write this, the current version of Emacs is 19.31.