Usually you can just use:
make uninstall
or
sudo make uninstall
if the app was installed as root.
But this will work only if the developer of the package has taken care of making a good uninstall rule.
You can also try to get a look at the steps used to install the software by running:
make -n install
And then try to reverse those steps manually.
In the future to avoid that kind of problems try to use checkinstall
instead of make install
whenever possible (AFAIK always unless you want to keep both the compiled and a packaged version at the same time). It will create and install a deb file that you can then uninstall using your favorite package manager.
make clean
usually cleans the building directories, it doesn't uninstall the package. It's used when you want to be sure that the whole thing is compiled, not just the changed files.
You're confusing built binary packages with the underlying source code/package that the packages were built from.
The packages you're referring to are all built from the same source code/package, mutter
. You can find that easily by going to packages.ubuntu.com
, searching the package you're looking at, and then refer to the "Source package" it refers to. Which in this case is mutter
:

From there, however, we can check the Launchpad page for Mutter's source package and see that it builds a multitude of binary packages (built compiled source code, etc. for installation):

These descriptions describe what each package contains/installs. Focusing on the 4 packages you indicated, and using these descriptions:
gir1.2-mutter-4
- GObject introspection data for Mutter (used by gir
and GObject as libraries/data for Mutter and GObject interaction)
libmutter-4-0
- The underlying library for the Mutter window manager. (Used for plugin development, development and compiling Mutter integrations, etc. usually)
mutter
- the actual Mutter Window Manager that uses GNOME's Window Manager Library (which is why GObject is needed)
mutter-common
- Shared Files for Mutter - usually default configuration options or items which are common to all the packages built from the source package.
What you're seeing in your package list are the built packages which originate from the same source code - each package is different items being installed after build/compile time and are used differently for different things. You can see what's in the packages themselves by downloading the individual packages and then accessing them with p7zip or the in-built Archive Manager in Ubuntu and see the differences of what each package contains that way. This said, they all originate from the same source code - they just contain different items that're being installed to the system.
Best Answer
There's basically two ways to do it, the first one is the classic form, you'll get the source with:
Classic
Then you'll be able to modify it:
Rebuild it:
And install it:
New Ubuntu Approach
The new way (the Ubuntu way) is by using bzr branches, you'll get the code by using:
You can also get the code using:
pull-lp-source
used to be called justlp-source
in older versions.Then you'll be able to edit it:
Rebuild it:
And install it:
I recommend that you check the Ubuntu packaging guide out to know the details.
Also you might enconter problems if the package depends of others