[Lazarus] Makefile issues

Michael Van Canneyt michael at freepascal.org
Fri Dec 2 00:45:09 CET 2022



On Fri, 2 Dec 2022, Mattias Gaertner via lazarus wrote:

> On Thu, 1 Dec 2022 23:22:38 +0100 (CET)
> Michael Van Canneyt via lazarus <lazarus at lists.lazarus-ide.org> wrote:
>
>> [...]
>> Well, it turns out that "make useride" also does not work on a fresh
>> checkout.
>
> It didn't work when Cleaning is enabled. Fixed.
>
>
>> [...]
>> But the point of the 'main targets' is taken, so I filed a feature
>> request in the issue tracker to be able to build the LCL using just
>> the Makefile.
>>
>> basically, I would like something as
>>
>> make lcl
>>
>> to produce the LCL units.
>
> make registration lazutils lcl

Slightly better is:

make -J N registration
make -J N lazutils
make -J N lcl

because the order as specified on the command-line is not guaranteed when you do parallel compilation.

Still, it feels strange to me that

make lcl

is not enough, but OK.

> The problem is that make is pretty dumb, so it creates only a
> rudimentary Makefile.compiled file.

Makefile.compiled does not even come into play, see below.

> If you use lazbuild or lazarus to compile a project they might decide
> to recompile the lcl.

That may not happen, because the sources will not be installed on the build machine.

> It would be safer to compile lazbuild, and then use that to
> compile the lcl.

The projects will be compiled with fpc only in a docker environment.
The devops people don't want another build tool. Only make.
(which is why I wanted to have make install working - but I had to resort to
using find and cp manually)

The goal is to have just fpc, its units and the LCL units in compiled form in the docker.

Michael.


More information about the lazarus mailing list