Sudo make install – what is being installed

command linemakesoftware installation

I have to run this cryptic block of code.

git clone https://github.com/OpenICC/xcalib.git
cd xcalib
cmake CMakeLists.txt
sudo make install

The procedure I'm following mentions the uninstall process.

sudo make uninstall 

Why do the make install and uninstall commands lack any file or program name? In my mind they should be done like this.

sudo make install program_name
sudo make uninstall program_name

the same as

sudo apt-get install program_name

sudo make install begs the question "install what?"

Best Answer

The commands that are executed by make install (or any invocation of make) are defined in the Makefile (and files included by the Makefile). For simple programs, you can just look for a line install: and see the commands in the lines below. But makefiles can also be quite complicated and scattered across various subdirectories. For details, see the manual for make, or an introduction to make.

As @Romeo Ninov wrote, you can also use the command make -n install so see what commands would be executed. Beware that for larger makefiles this output may not be accurate, and if you haven't built the program yet it will likely show you all the commands to build before showing the commands to install.

Related Question