Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-pascal / 2020-05

FPCMake and Makefile.fpc question

4 messages · 3 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Bart

Hi,

Here's the first line of the Lazarus Makefile:
-----------------------------------------
#
# Don't edit, this file is generated by FPCMake Version 2.0.0 #
default: all
MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-darwin wasm-wasm sparc64-linux ------------------------------------------------

As you can imagine that's way more targest than Lazarus actually supports. And the Makefile is cluttered with hundreds of unnecessary lines, which makes identifying an actual bug in the Lazarus build process (which might be in the Makefile) rather difficult.

Is it possible to control this in the makefile.fpc file?

Bart

Bart

Reply by email

Michael Van Canneyt
to Bart
Bart wrote 34 lines
Hi, Here's the first line of the Lazarus Makefile: ----------------------------------------- # # Don't edit, this file is generated by FPCMake Version 2.0.0 # default: all MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-darwin wasm-wasm sparc64-linux ------------------------------------------------ As you can imagine that's way more targest than Lazarus actually supports. And the Makefile is cluttered with hundreds of unnecessary lines, which makes identifying an actual bug in the Lazarus build process (which might be in the Makefile) rather difficult. Is it possible to control this in the makefile.fpc file?

You control it when you generate the file.

fpcmake -Ti386-linux,i386-win32
etc.

Michael.

Reply by email

Sven Barth
to Bart: Here's the first line of the Lazarus Makefile: ----------------------------------------- #

Bart via fpc-pascal schrieb am Mi., 6.
Mai 2020, 02:33:

Show quoted text 35 lines
Hi, Here's the first line of the Lazarus Makefile: ----------------------------------------- # # Don't edit, this file is generated by FPCMake Version 2.0.0 # default: all MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-darwin wasm-wasm sparc64-linux ------------------------------------------------ As you can imagine that's way more targest than Lazarus actually supports. And the Makefile is cluttered with hundreds of unnecessary lines, which makes identifying an actual bug in the Lazarus build process (which might be in the Makefile) rather difficult. Is it possible to control this in the makefile.fpc file?

Not in the makefile.fpc, but fpcmake allows you to pass a list of supported targets (usually -Tall is used to allow all targets), but you'd need to pick each one. This does mean however that everyone that wants to try a target that's not supported has to generate the makefile (I don't know if Lazarus only has the one compared to FPC).
For example officially Lazarus doesn't support powerpc-darwin anymore, but one could probably still use it there with some fixes (I should really test that...)

Regards,
Sven

Reply by email

Bart
to Sven Barth
AM Sven Barth wrote
Not in the makefile.fpc,

That is unfortunate.

but fpcmake allows you to pass a list of supported targets (usually -Tall is used to allow all targets), but you'd need to pick each one. This does mean however that everyone that wants to try a target that's not supported has to generate the makefile (I don't know if Lazarus only has the one compared to FPC). For example officially Lazarus doesn't support powerpc-darwin anymore, but one could probably still use it there with some fixes (I should really test that...)

I would at least want to weed out targets we definitively do not support like embedded platforms and DOS.
But in the end that's up to the Lazarus devs.
I just wanted to know how that could be done.

Thanks @all for the info.

Bart

Reply by email