sudo make install - what is being installed?
Solution 1
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.
Solution 2
If no file arg ist passed to make , make looks for a file named Makefile in current dir. With the switch -f an alternative file can be passed to make. See man make for more information. By the way: make is one of these such good old Unix tools so try to get familiar with it ...
Related videos on Youtube
stackinator
Updated on September 18, 2022Comments
-
stackinator almost 2 years
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
anduninstall
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?"-
RalfFriedl over 5 yearsFor the commands that are executed, see the
Makefile
in that directory, also seeman make
. -
Atul Vekariya over 5 yearsYou can use
make -n ......
to see what will be execured -
G-Man Says 'Reinstate Monica' over 5 years@RalfFriedl That's the answer to the question; you might as well write it up and post it as an answer.
-
-
stackinator over 5 yearsWhat happens if there are multiple make files in the directory when you issue this command
sudo make install
. Not requiring a filename argument seems strange. Maybe I'll issue a pull request if I only knew what that meant.