[Lazarus] What does make install do?

Michael Van Canneyt michael at freepascal.org
Sun Oct 18 10:54:32 CEST 2015



On Sun, 18 Oct 2015, Bo Berglund wrote:

> On Sat, 17 Oct 2015 11:13:11 +0200 (CEST), Michael Van Canneyt
> <michael at freepascal.org> wrote:
>>> But there is also a command
>>> make install
>>>
>>> What exactly does this do (in a Debian Jessie derivative environment)
>>
>> You can see this easily for yourself by adding the -n option:
>>
>>
>> home: >make -n install
> ...
>>
>> It seems lazarus is added to the start menu, from the line:
>>
>> /usr/bin/install -c -m 644 install/lazarus.desktop /usr/local/share/applications/lazarus.desktop
>>
>
> I have tested it now with the following base data:
> - Lazarus sources checked out to /home/pi/development/lazarus
> - time make bigide executed inside the lazarus dir
> - I deleted whatever I could find that put Lazarus on the Menu
>  (this included the data in /home/pi/.local and /usr/local/share)
> - verified that Lazarus was now gone from the start Menu
>
> I realized that since make install sends stuff to /usr/local/share it
> needed to be run as su so I did this:
>
> sudo make install
>
> This ran for a while with stops at a few commands but eventually
> finished.
> At this point Lazarus had returned to the start Menu below Programming
> as it should. It could be started and looked OK.
>
> Then I examined what had happened and I found that the install script
> had copied a number of files including lazarus executables to
> /usr/local/share/lazarus and the symlinks in /usr/local/bin were
> pointing to these executables effectively decoupling the lazarus
> installation in the /home/pi tree from use!

That is the intention.

>
> So in essence what could be done to install Lazarus in Raspbian Jessie
> is to use the make install command as su but then adjust it by
> changing the symlinks back to the true installation directory in the
> home tree.

Usually that is NOT what you want in a default install.

Michael.




More information about the Lazarus mailing list