sudo make install - what is being installed?

6,679

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 ...

Share:
6,679

Related videos on Youtube

stackinator
Author by

stackinator

Updated on September 18, 2022

Comments

  • stackinator
    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 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?"

    • RalfFriedl
      RalfFriedl over 5 years
      For the commands that are executed, see the Makefile in that directory, also see man make.
    • Atul Vekariya
      Atul Vekariya over 5 years
      You can use make -n ...... to see what will be execured
    • G-Man Says 'Reinstate Monica'
      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
    stackinator over 5 years
    What 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.