Quick Answer before long article: checkinstall
tl;dr (I love tl;drs)
Usually when you install software with debian/ubuntu with apt-get install or aptitude install you get the program installed throughout several places. The debian package system (dpkg, and all of the apts and aptitudes) keeps track of that. So you can easily update and remove programs. The remove part is really handy. If it wasnt for it, we would have to rely on documents (that would probably exist) that would tell you where the files are and we would have to delete them (ok… it would probably delete them for us)
Anyhow… When compiling source code (the other common way) to get apps on debian/ubuntu (linux and unix in general) they dont get updated into the debian package system, the programs work and exist but dpkg, apt, etc… they dont know or care about it. The problem comes about during the final compilation step. Type compilation steps are
OR whatever the INSTALL or README file instructs us to do in the source code.
Anyhow we all know what ./configure (prepares source code to be compiled based on your system architecture and lets it know where your important files are – the ones used in compilation – hey not all systems are the same, so this is a nice script) and make (compiles the source code etc.) do. Make install we also know, it just installs the software (aka it takes the finished compiled programs and puts them across the system, in their lib, bin, sbin, and etc and whatever.. folders). The solution to incorporate the source code compilings into the debian package system (and have dpkg -l for example show us the package – dpkg -l lists every package known to the Debian Package System) is to have something watch the files that are being written to, and record and keep track of where there are being written to and tie that in with the Debian Package System – and that solution is called checkinstall.
Instead of running make install you will just run checkinstall. Then the Debian Package System will know where that package was installed so that it can be easy to remove later
Simple enough, have a read of the main article… Sorry to make you read all that just to see the main article https://wiki.debian.org/CheckInstall