From 2f5cbbacb714ef74a99c483f545d530a01d600ae Mon Sep 17 00:00:00 2001 From: Kirill Kranz Date: Sun, 28 Jul 2024 22:37:21 +0200 Subject: [PATCH] DynArrays works because of InitHeap3, malloc3 and free3 functions from the psy-q-sdk --- compiler/mips/opcode.inc | 1 + compiler/mips/strinst.inc | 1 + compiler/systems/i_ps1.pas | 10 +- cube.pas | 223 +++ f2 | 2 +- packages/fcl-process/fpmake.pp | 2 +- packages/fpmkunit/src/fpmkunit.pp | 5 +- rtl/ps1/Makefile | 2426 +++++++++++++++-------------- rtl/ps1/system.pp | 13 +- test.pas | 226 +-- 10 files changed, 1548 insertions(+), 1361 deletions(-) create mode 100644 cube.pas diff --git a/compiler/mips/opcode.inc b/compiler/mips/opcode.inc index 66fc83ccfb..12c8440665 100644 --- a/compiler/mips/opcode.inc +++ b/compiler/mips/opcode.inc @@ -205,4 +205,5 @@ A_MOVN_S, A_MOVZ_S, A_MOVN_D, A_MOVZ_D, +A_LWC2, A_END_DEF diff --git a/compiler/mips/strinst.inc b/compiler/mips/strinst.inc index c1108c5d97..a204e4c2be 100644 --- a/compiler/mips/strinst.inc +++ b/compiler/mips/strinst.inc @@ -205,4 +205,5 @@ 'movz.s', 'movn.d', 'movz.d', +'lwc2', 'end_def' diff --git a/compiler/systems/i_ps1.pas b/compiler/systems/i_ps1.pas index 445706ae2a..2f6e516fe1 100644 --- a/compiler/systems/i_ps1.pas +++ b/compiler/systems/i_ps1.pas @@ -35,7 +35,7 @@ unit i_ps1; system : system_mipsel_ps1; name : 'PlayStation 1 for MIPSEL'; shortname : 'ps1'; - flags : [tf_no_pic_supported, tf_smartlink_sections, tf_files_case_sensitive]; + flags : [tf_no_pic_supported, tf_smartlink_sections, tf_files_case_sensitive, tf_requires_proper_alignment]; cpu : cpu_mipsel; unit_env : ''; extradefines : ''; @@ -76,15 +76,15 @@ unit i_ps1; ( procalign : 8; loopalign : 8; - jumpalign : 0; - jumpalignskipmax : 0; + jumpalign : 8; + jumpalignskipmax : 8; coalescealign : 0; - coalescealignskipmax: 0; + coalescealignskipmax: 8; constalignmin : 0; constalignmax : 8; varalignmin : 0; varalignmax : 8; - localalignmin : 8; + localalignmin : 0; localalignmax : 8; recordalignmin : 0; recordalignmax : 8; diff --git a/cube.pas b/cube.pas new file mode 100644 index 0000000000..607f645d55 --- /dev/null +++ b/cube.pas @@ -0,0 +1,223 @@ +{$MODE OBJFPC} +uses libstd, libcd, libcomb, libds, libetc, libgpu, libgte; + + +procedure GsInitGraph(x, y, intmode, dith, varmmode: word); stdcall; external; + +const + MODE_NTSC = 0; + MODE_PAL = 1; + + + +const + OTSIZE = 4096; + + vertices : array [0..7] of SVECTOR = ( + (vx: -128; vy: -128; vz: -128; pad: 0 ), + (vx: 128; vy: -128; vz: -128; pad: 0 ), + (vx: 128; vy: -128; vz: 128; pad: 0 ), + (vx: -128; vy: -128; vz: 128; pad: 0 ), + (vx: -128; vy: 128; vz: -128; pad: 0 ), + (vx: 128; vy: 128; vz: -128; pad: 0 ), + (vx: 128; vy: 128; vz: 128; pad: 0 ), + (vx: -128; vy: 128; vz: 128; pad: 0 )); + + faces : array [0..35] of smallint = ( + 0, 3, 2, // top + 0, 2, 1, // top + 4, 0, 1, // front + 4, 1, 5, // front + 7, 4, 5, // bottom + 7, 5, 6, // bottom + 5, 1, 2, // right + 5, 2, 6, // right + 2, 3, 7, // back + 2, 7, 6, // back + 0, 4, 7, // left + 0, 7, 3 // left + ); + +type + + DoubleBuff = packed record + draw : DRAWENV; + disp : DISPENV; + end; + +var + screen : array [0..1] of DoubleBuff; // Struct to hold the display & draw buffers + currbuff : byte; // Holds the current buffer number (0 or 1) + + ot : array[0..1, 0..OTSIZE] of dword; + + i : longint; + ii : longint; + otz : longint; + counter : dword; + + poly : array [0..11] of POLY_G3; + + +procedure setRGB0(var c: DRAWENV; r, g, b: byte); +begin + c.r0:=r; + c.g0:=g; + c.b0:=b; +end; + + +procedure ScreenInit(width, height: dword); +begin + + ResetGraph(0); + InitGeom(); + + SetGraphDebug(0); + + + SetVideoMode(MODE_PAL); + GsInitGraph(width, height, 0, 0, 0); + + + SetDefDispEnv(@screen[0].disp, 0, 0, width, height); + SetDefDispEnv(@screen[1].disp, 0, height, width, height); + + SetDefDrawEnv(@screen[0].draw, 0, height, width, height); + SetDefDrawEnv(@screen[1].draw, 0, 0, width, height); + + screen[0].disp.screen.x:= 0; + screen[0].disp.screen.y:= 0; + screen[1].disp.screen.x:= 0; + screen[1].disp.screen.y:= 0; + + screen[0].disp.screen.h:= 256; + screen[0].disp.screen.w:= 0; + screen[1].disp.screen.h:= 256; + screen[1].disp.screen.w:= 0; + + + screen[0].draw.isbg:= 1; + screen[1].draw.isbg:= 1; + + // Set the background clear color + setRGB0(screen[0].draw, 0, 0, 0); + setRGB0(screen[1].draw, 0, 0, 0); + + + // Initialize and setup the GTE geometry offsets + SetGeomOffset(width div 2, height div 2); + SetGeomScreen(100); + + SetDispMask(1); + + // Set the current initial buffer + currbuff:= 0; + PutDispEnv(@screen[currbuff].disp); + PutDrawEnv(@screen[currbuff].draw); + +end; + + +procedure DisplayFrame; +begin + + // Set the current display & draw buffers + PutDispEnv(@screen[currbuff].disp); + PutDrawEnv(@screen[currbuff].draw); + + DrawOTag(@ot[currbuff, OTSIZE - 1]); + + FntFlush(-1); + + if currbuff = 0 then currbuff:=1 else currbuff:=0; + + // Sync and wait for vertical blank + DrawSync(0); + VSync(0); + +end; + + +var + rotation : SVECTOR; + translation : VECTOR; + transform : MATRIX; + + p : pointer; + flg : pointer; + nclip : longint; + + ch: pchar; + d: dword; + + +begin + + + ScreenInit(320, 256); + + + FntLoad(960, 256); + SetDumpFnt(FntOpen(0, 100, 200, 200, 0, 512)); + + rotation.vx:= 0; + rotation.vy:= 0; + rotation.vz:= 0; + + translation.vx:= 0; + translation.vy:= 0; + translation.vz:= 500; + + counter:= 1; + +// srand(1234); +//randomize; + + + repeat + + ClearOTagR(@ot[currbuff], OTSIZE); + + + + rotation.vx += 6; + rotation.vy += 8; + rotation.vz += 12; + + RotMatrix(@rotation, @transform); + TransMatrix(@transform, @translation); + + SetRotMatrix(@transform); + SetTransMatrix(@transform); + + for i:= 0 to 11 do begin + setPolyG3(@poly[i]); + + poly[i].r0:= 255; poly[i].g0:=0; poly[i].b0:= 0; + poly[i].r1:= 0; poly[i].g1:=255; poly[i].b1:= 0; + poly[i].r2:= 0; poly[i].g2:=0; poly[i].b2:= 255; + { + otz:= 0; + otz:= otz + RotTransPers(@vertices[faces[i * 3 + 0]], @poly[i].x0, @p, @flg); + otz:= otz + RotTransPers(@vertices[faces[i * 3 + 1]], @poly[i].x1, @p, @flg); + otz:= otz + RotTransPers(@vertices[faces[i * 3 + 2]], @poly[i].x2, @p, @flg); + otz:= otz div 3; + } + nclip:= RotAverageNclip3(@vertices[faces[i * 3 + 0]], @vertices[faces[i * 3 + 1]], @vertices[faces[i * 3 + 2]], @poly[i].x0, @poly[i].x1, @poly[i].x2, @p, @otz, @flg); + if nclip <= 0 then continue; + + if (otz > 0) and (otz < OTSIZE) then addPrim(@ot[currbuff, otz], @poly[i]); + end; + + + counter:= counter + 1; + + FntPrint('Hello from FPC %d', counter); + + + DisplayFrame; + + until false; + +end. \ No newline at end of file diff --git a/f2 b/f2 index 70ff923610..aa9bf2d15d 100644 --- a/f2 +++ b/f2 @@ -7,5 +7,5 @@ rm test.elf tm test.bin rm test.psx-exe rm *.res -# -Cn +# -Cn -XX ./compiler/ppcrossmipsel test.pas -a -XX -Fu./rtl/ps1 -Fu./rtl/objpas -Tps1 -Cfnone -Fu./psy-q-sdk/bindings -Fl./psy-q-sdk/lib -XP/usr/local/mipsel-unknown-elf/bin/mipsel-unknown-elf- \ No newline at end of file diff --git a/packages/fcl-process/fpmake.pp b/packages/fcl-process/fpmake.pp index 68efa577ba..2f2d8d1829 100644 --- a/packages/fcl-process/fpmake.pp +++ b/packages/fcl-process/fpmake.pp @@ -25,7 +25,7 @@ begin P.Description := 'Process (execution) related parts of Free Component Libraries (FCL), FPC''s OOP library.'; P.Options.Add('-S2h'); P.NeedLibC:= false; - P.OSes:=AllOSes-[embedded,msdos,win16,go32v2,nativent,macosclassic,palmos,atari,zxspectrum,msxdos,amstradcpc,sinclairql,wasi,human68k]; + P.OSes:=AllOSes-[embedded,msdos,win16,go32v2,nativent,macosclassic,palmos,atari,zxspectrum,msxdos,amstradcpc,sinclairql,wasi,human68k,ps1]; if Defaults.CPU=jvm then P.OSes := P.OSes - [java,android]; diff --git a/packages/fpmkunit/src/fpmkunit.pp b/packages/fpmkunit/src/fpmkunit.pp index a6fb872a0d..54e4854073 100644 --- a/packages/fpmkunit/src/fpmkunit.pp +++ b/packages/fpmkunit/src/fpmkunit.pp @@ -166,7 +166,7 @@ Type win64,wince,gba,nds,embedded,symbian,haiku,iphonesim, aix,java,android,nativent,msdos,wii,aros,dragonfly, win16,freertos,zxspectrum,msxdos,ios,amstradcpc,sinclairql, - wasi,human68k + wasi,human68k,ps1 ); TOSes = Set of TOS; @@ -293,7 +293,8 @@ Const {amstradcpc}( false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false), {sinclairql}( false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false), { wasi } ( false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false), - { human68k }( false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false) + { human68k }( false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false), + { ps1 } ( false, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false) ); // Useful diff --git a/rtl/ps1/Makefile b/rtl/ps1/Makefile index 70ba8d7cf5..6379b5f920 100644 --- a/rtl/ps1/Makefile +++ b/rtl/ps1/Makefile @@ -2,7 +2,7 @@ # 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-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic 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-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasi sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux +MAKEFILETARGETS=mipsel-ps1 BSDs = freebsd netbsd openbsd darwin dragonfly UNIXs = linux $(BSDs) solaris qnx haiku aix LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k @@ -103,6 +103,7 @@ export ECHO endif override OS_TARGET_DEFAULT=ps1 override CPU_TARGET_DEFAULT=mipsel +override DEFAULT_FPCDIR=../.. ifndef FPC ifdef PP FPC=$(PP) @@ -369,6 +370,546 @@ endif endif override PACKAGE_NAME=rtl PACKAGEDIR_MAIN:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /rtl/Makefile.fpc,$(PACKAGESDIR)))))) +ifdef FPC_DOTTEDUNITS +AIOUNIT=NetWareApi.Aio +ALLWINNER_A20UNIT=Embedded.Allwinner_a20 +ANDROIDR14UNIT=AndroidAPI.AndroidR14 +ATHREADSUNIT=AmigaApi.AThreads +BASEUNIXUNIT=UnixApi.Base +BETHREADSUNIT=BeosApi.Bethreads +BLOCKRTLUNIT=blockrtl +BSDUNIT=BsdApi +CHARACTERUNIT=System.Character +CHARSETUNIT=System.CharSet +CLASSESUNIT=System.Classes +CMEMUNIT=System.CMem +COMMONUNIT=PalmApi.Common +CONSOLEUNIT=System.Console +CONSOLEIOUNIT=EmbeddedApi.ConsoleIO +CORTEXM0UNIT=ARMApi.cortexm0 +CORTEXM3UNIT=ARMApi.cortexm3 +CORTEXM4UNIT=ARMApi.cortexm4 +CORTEXM7UNIT=ARMApi.cortexm7 +CP1250UNIT=System.CodePages.CP1250 +CP1251UNIT=System.CodePages.CP1251 +CP1252UNIT=System.CodePages.CP1252 +CP1253UNIT=System.CodePages.CP1253 +CP1254UNIT=System.CodePages.CP1254 +CP1255UNIT=System.CodePages.CP1255 +CP1256UNIT=System.CodePages.CP1256 +CP1257UNIT=System.CodePages.CP1257 +CP1258UNIT=System.CodePages.CP1258 +CP3021UNIT=System.CodePages.CP3021 +CP437UNIT=System.CodePages.CP437 +CP646UNIT=System.CodePages.CP646 +CP737UNIT=System.CodePages.CP737 +CP775UNIT=System.CodePages.CP775 +CP850UNIT=System.CodePages.CP850 +CP852UNIT=System.CodePages.CP852 +CP855UNIT=System.CodePages.CP855 +CP856UNIT=System.CodePages.CP856 +CP857UNIT=System.CodePages.CP857 +CP860UNIT=System.CodePages.CP860 +CP861UNIT=System.CodePages.CP861 +CP862UNIT=System.CodePages.CP862 +CP863UNIT=System.CodePages.CP863 +CP864UNIT=System.CodePages.CP864 +CP865UNIT=System.CodePages.CP865 +CP866UNIT=System.CodePages.CP866 +CP869UNIT=System.CodePages.CP869 +CP874UNIT=System.CodePages.CP874 +CP8859_1UNIT=System.CodePages.CP8859_1 +CP8859_10UNIT=System.CodePages.CP8859_10 +CP8859_11UNIT=System.CodePages.CP8859_11 +CP8859_13UNIT=System.CodePages.CP8859_13 +CP8859_14UNIT=System.CodePages.CP8859_14 +CP8859_15UNIT=System.CodePages.CP8859_15 +CP8859_16UNIT=System.CodePages.CP8859_16 +CP8859_2UNIT=System.CodePages.CP8859_2 +CP8859_3UNIT=System.CodePages.CP8859_3 +CP8859_4UNIT=System.CodePages.CP8859_4 +CP8859_5UNIT=System.CodePages.CP8859_5 +CP8859_6UNIT=System.CodePages.CP8859_6 +CP8859_7UNIT=System.CodePages.CP8859_7 +CP8859_8UNIT=System.CodePages.CP8859_8 +CP8859_9UNIT=System.CodePages.CP8859_9 +CPALLUNIT=System.CodePages.All +CPKOI8_RUNIT=System.CodePages.CPkoi8_r +CPKOI8_UUNIT=System.CodePages.CPkoi8_u +CPUUNIT=System.CPU +CTHREADSUNIT=UnixApi.CThreads +CTYPESUNIT=System.CTypes +CWSTRINGUNIT=UnixApi.CWString +DDKUNIT=NTApi.Ddk +DLUNIT=UnixApi.Dl +DOSUNIT=TP.DOS +DOSCALL2UNIT=OS2Api.doscall2 +DOSCALLSUNIT=OS2Api.doscalls +DPMIEXCPUNIT=DOSApi.Dpmiexcp +DXELOADUNIT=DOSApi.Dxeload +DXETYPEUNIT=DOSApi.Dxetype +DYNLIBSUNIT=System.DynLibs +EMU387UNIT=DOSApi.EMU387 +EMXUNIT=DOSApi.EMX +ERRORSUNIT=UnixApi.Errors +ESP32UNIT=System.Esp32 +ESP32C2UNIT=System.Esp32c2 +ESP32C3UNIT=System.Esp32c3 +ESP32C6UNIT=System.Esp32c6 +ESP32C2IDF_50000UNIT=System.Esp32c2idf_50000 +ESP32C2IDF_50200UNIT=System.Esp32c2idf_50200 +ESP32C3IDF_40400UNIT=System.Esp32c3idf_40400 +ESP32C3IDF_50000UNIT=System.Esp32c3idf_50000 +ESP32C3IDF_50200UNIT=System.Esp32c3idf_50200 +ESP32C6IDF_50200UNIT=System.Esp32c6idf_50200 +ESP8266UNIT=System.Esp8266 +ESP8266RTOS_30300UNIT=System.Esp8266rtos_30300 +ESP8266RTOS_30400UNIT=System.Esp8266rtos_30400 +ESPIDF_40100UNIT=System.Espidf_40100 +ESPIDF_40200UNIT=System.Espidf_40200 +ESPIDF_40400UNIT=System.Espidf_40400 +ESPIDF_50000UNIT=System.Espidf_50000 +ESPIDF_50200UNIT=System.Espidf_50200 +EXEUNIT=OS2Api.exe +EXEINFOUNIT=System.ExeInfo +EXTPASUNIT=extpas +FE310G000UNIT=EmbeddedApi.fe310g000 +FE310G002UNIT=EmbeddedApi.fe310g002 +FGLUNIT=System.FGL +FPCMEMDLLUNIT=System.FPCMemDLL +FPCYLIXUNIT=fpcylix +FPINTRESUNIT=fpintres +FPWIDESTRINGUNIT=System.FPWideString +FREEBSDUNIT=FreeBSDApi.FreeBSD +GD32VF103XXUNIT=EmbeddedApi.gd32vf103xx +GETOPTSUNIT=System.GetOpts +GO32UNIT=DOSApi.GO32 +GPIOUNIT=EmbeddedApi.gpio +HEAPMGRUNIT=EmbeddedApi.HeapMGR +HEAPTRCUNIT=heaptrc +INITCUNIT=System.InitC +INTRINSICSUNIT=System.Intrinsics +ISO7185UNIT=iso7185 +JDK15UNIT=JavaApi.JDK15 +KBDCALLSUNIT=OS2Api.kbdcalls +LIBCUNIT=NetwareLibCApi.Libc +LINEINFOUNIT=lineinfo +LINUXUNIT=LinuxApi +LINUXVCSUNIT=LinuxApi.Vcs +LM3FURYUNIT=EmbeddedApi.lm3fury +LM3TEMPESTUNIT=EmbeddedApi.lm3tempest +LM4F120UNIT=EmbeddedApi.lm4f120 +LNFODWRFUNIT=lnfodwrf +LNFOGDBUNIT=lnfogdb +LPC11XXUNIT=EmbeddedApi.lpc11xx +LPC122XUNIT=EmbeddedApi.lpc122x +LPC13XXUNIT=EmbeddedApi.lpc13xx +LPC1768UNIT=EmbeddedApi.lpc1768 +LPC21X4UNIT=EmbeddedApi.lpc21x4 +LPC8XXUNIT=EmbeddedApi.lpc8xx +LSTRINGSUNIT=System.LStrings +MACOSUNIT=MacOSApi.MacOS +MACOSTPUNIT=MacOSApi.MacOSTP +MACPASUNIT=macpas +MACUTILSUNIT=MacOSApi.MacUtils +MAILBOXUNIT=EmbeddedApi.mailbox +MATHUNIT=System.Math +MESSAGESUNIT=WinApi.Messages +MK20D5UNIT=EmbeddedApi.mk20d5 +MK20D7UNIT=EmbeddedApi.mk20d7 +MK22F51212UNIT=EmbeddedApi.mk22f51212 +MK64F12UNIT=EmbeddedApi.mk64f12 +MMIOUNIT=EmbeddedApi.mmio +MMXUNIT=System.CPU.MMX +MONCALLSUNIT=OS2Api.moncalls +MOUCALLSUNIT=OS2Api.moucalls +MSMOUSEUNIT=DOSApi.MSMouse +MULTIBOOTUNIT=EmbeddedApi.multiboot +NDKUNIT=NTApi.NDK +NDKUTILSUNIT=NTApi.NDKUtils +NETWAREUNIT=NetwareApi.NetWare +NEWEXEUNIT=OS2Api.newexe +NRF51UNIT=EmbeddedApi.nrf51 +NRF52UNIT=EmbeddedApi.nrf52 +NWCALLSUNIT=NetWareApi.Nwcalls +NWNITUNIT=NetWareApi.Nwnit +NWPREUNIT=NetWareApi.Nwpre +NWPROTUNIT=NetWareApi.Nwprot +NWSERVUNIT=NetWareApi.Nwserv +NWSNUTUNIT=NetWareApi.Nwsnut +OBJCUNIT=objc +OBJCBASEUNIT=objcbase +OBJPASUNIT=objpas +OS2DEFUNIT=OS2Api.os2def +PAGEMEMUNIT=System.PageMem +PILOTUNIT=PalmApi.Pilot +PMBIDIUNIT=OS2Api.pmbidi +PMBITMAPUNIT=OS2Api.pmbitmap +PMDEVUNIT=OS2Api.pmdev +PMGPIUNIT=OS2Api.pmgpi +PMHELPUNIT=OS2Api.pmhelp +PMSHLUNIT=OS2Api.pmshl +PMSPLUNIT=OS2Api.pmspl +PMSTDDLGUNIT=OS2Api.pmstddlg +PMWINUNIT=OS2Api.pmwin +PMWPUNIT=OS2Api.pmwp +PMWSOCKUNIT=OS2Api.pmwsock +PORTSUNIT=System.Ports +POSIXUNIT=QNXApi.Posix +PROFILEUNIT=DOSApi.Profile +RASPI2UNIT=EmbeddedApi.raspi2 +RASPI3UNIT=EmbeddedApi.raspi3 +RASPIUARTUNIT=EmbeddedApi.raspiuart +RP2040UNIT=EmbeddedApi.rp2040 +RTLCONSTSUNIT=System.RtlConsts +SAM3X8EUNIT=EmbeddedApi.sam3x8e +SAMD51P19AUNIT=EmbeddedApi.samd51p19a +SC32442BUNIT=EmbeddedApi .sc32442b +SFPU128UNIT=System.SoftFpu128 +SFPUX80UNIT=System.SoftFpuX80 +SHAREMEMUNIT=WinApi.ShareMem +SIGNALSUNIT=WinApi.Signals +SO32DLLUNIT=OS2Api.so32dll +SOFTFPUUNIT=System.SoftFPU +SORTBASEUNIT=System.SortBase +STM32F0XXUNIT=EmbeddedApi.stm32f0xx +STM32F103XEUNIT=EmbeddedApi.stm32f103xe +STM32F10X_CLUNIT=EmbeddedApi.stm32f10x_cl +STM32F10X_CONNUNIT=EmbeddedApi.stm32f10x_conn +STM32F10X_HDUNIT=EmbeddedApi.stm32f10x_hd +STM32F10X_LDUNIT=EmbeddedApi.stm32f10x_ld +STM32F10X_MDUNIT=EmbeddedApi.stm32f10x_md +STM32F10X_XLUNIT=EmbeddedApi.stm32f10x_xl +STM32F401XEUNIT=EmbeddedApi.stm32f401xe +STM32F401XXUNIT=EmbeddedApi.stm32f401xx +STM32F407XXUNIT=EmbeddedApi.stm32f407xx +STM32F411XEUNIT=EmbeddedApi.stm32f411xe +STM32F429UNIT=EmbeddedApi.stm32f429 +STM32F429XXUNIT=EmbeddedApi.stm32f429xx +STM32F446XXUNIT=EmbeddedApi.stm32f446xx +STM32F745UNIT=EmbeddedApi.stm32f745 +STM32F746UNIT=EmbeddedApi.stm32f746 +STM32F756UNIT=EmbeddedApi.stm32f756 +STM32G071XXUNIT=EmbeddedApi.stm32g071xx +STRINGSUNIT=System.Strings +SYMBIANUNIT=SymbianApi.Symbian +SYSALLUNIT=PalmApi.Sysall +SYSCALLUNIT=UnixApi.SysCall +SYSCONSTUNIT=System.SysConst +SYSCTLUNIT=BsdApi.SysCtl +SYSEMXUNIT=DOSApi.Sysemx +SYSOS2UNIT=OS2Api.sysos2 +SYSTEMUNIT=system +SYSTRAPSUNIT=PalmApi.Systraps +SYSUTILSUNIT=System.SysUtils +TERMIOUNIT=UnixApi.TermIO +TYPESUNIT=System.Types +TYPINFOUNIT=System.TypInfo +UFLOAT128UNIT=System.UFloat128 +UFLOATX80UNIT=System.UFloatX80 +UIUNIT=PalmApi.Ui +UIQUNIT=SymbianApi.Uiq +UIQCLASSESUNIT=SymbianApi.Uiqclasses +UNICODEDATAUNIT=System.CodePages.unicodedata +UNIXUNIT=UnixApi.Unix +UNIXCPUNIT=UnixApi.CP +UNIXTYPEUNIT=UnixApi.Types +UNIXUTILUNIT=UnixApi.Utils +UUCHARUNIT=uuchar +VIOCALLSUNIT=OS2Api.viocalls +WASIAPIUNIT=WASIApi.WASIApi +WASIUTILUNIT=WASIApi.WASIUtil +WATCOMUNIT=WatcomApi.WatCom +WEBASSEMBLYUNIT=Wasm.Api +WIN31UNIT=WinApi.Win31 +WINDIRSUNIT=WinApi.WinDirs +WINDOWSUNIT=WinApi.Windows +WINPROCSUNIT=WinApi.WinProcs +WINSYSUTUNIT=WinApi.WinSysUt +WINTYPESUNIT=WinApi.WinTypes +X86UNIT=System.X86 +XMC4500UNIT=EmbeddedApi.xmc4500 +NOTHREADSUNIT=System.NoThreads +else +AIOUNIT=aio +ALLWINNER_A20UNIT=allwinner_a20 +ANDROIDR14UNIT=androidr14 +ATHREADSUNIT=athreads +BASEUNIXUNIT=baseunix +BETHREADSUNIT=bethreads +BLOCKRTLUNIT=blockrtl +BSDUNIT=bsd +CHARACTERUNIT=character +CHARSETUNIT=charset +CLASSESUNIT=classes +CMEMUNIT=cmem +COMMONUNIT=common +CONSOLEUNIT=console +CONSOLEIOUNIT=consoleio +CORTEXM0UNIT=cortexm0 +CORTEXM3UNIT=cortexm3 +CORTEXM4UNIT=cortexm4 +CORTEXM7UNIT=cortexm7 +CP1250UNIT=cp1250 +CP1251UNIT=cp1251 +CP1252UNIT=cp1252 +CP1253UNIT=cp1253 +CP1254UNIT=cp1254 +CP1255UNIT=cp1255 +CP1256UNIT=cp1256 +CP1257UNIT=cp1257 +CP1258UNIT=cp1258 +CP3021UNIT=cp3021 +CP437UNIT=cp437 +CP646UNIT=cp646 +CP737UNIT=cp737 +CP775UNIT=cp775 +CP850UNIT=cp850 +CP852UNIT=cp852 +CP855UNIT=cp855 +CP856UNIT=cp856 +CP857UNIT=cp857 +CP860UNIT=cp860 +CP861UNIT=cp861 +CP862UNIT=cp862 +CP863UNIT=cp863 +CP864UNIT=cp864 +CP865UNIT=cp865 +CP866UNIT=cp866 +CP869UNIT=cp869 +CP874UNIT=cp874 +CP8859_1UNIT=cp8859_1 +CP8859_10UNIT=cp8859_10 +CP8859_11UNIT=cp8859_11 +CP8859_13UNIT=cp8859_13 +CP8859_14UNIT=cp8859_14 +CP8859_15UNIT=cp8859_15 +CP8859_16UNIT=cp8859_16 +CP8859_2UNIT=cp8859_2 +CP8859_3UNIT=cp8859_3 +CP8859_4UNIT=cp8859_4 +CP8859_5UNIT=cp8859_5 +CP8859_6UNIT=cp8859_6 +CP8859_7UNIT=cp8859_7 +CP8859_8UNIT=cp8859_8 +CP8859_9UNIT=cp8859_9 +CPALLUNIT=cpall +CPKOI8_RUNIT=cpkoi8_r +CPKOI8_UUNIT=cpkoi8_u +CPUUNIT=cpu +CTHREADSUNIT=cthreads +CTYPESUNIT=ctypes +CWSTRINGUNIT=cwstring +DDKUNIT=ddk +DLUNIT=dl +DOSUNIT=dos +DOSCALL2UNIT=doscall2 +DOSCALLSUNIT=doscalls +DPMIEXCPUNIT=dpmiexcp +DXELOADUNIT=dxeload +DXETYPEUNIT=dxetype +DYNLIBSUNIT=dynlibs +EMU387UNIT=emu387 +EMXUNIT=emx +ERRORSUNIT=errors +ESP32UNIT=esp32 +ESP32S2UNIT=esp32s2 +ESP32S3UNIT=esp32s3 +ESP32C2UNIT=esp32c2 +ESP32C3UNIT=esp32c3 +ESP32C6UNIT=esp32c6 +ESP32C2IDF_50000UNIT=esp32c2idf_50000 +ESP32C2IDF_50200UNIT=esp32c2idf_50200 +ESP32C3IDF_40400UNIT=esp32c3idf_40400 +ESP32C3IDF_50000UNIT=esp32c3idf_50000 +ESP32C6IDF_50200UNIT=esp32c6idf_50200 +ESP8266UNIT=esp8266 +ESP8266RTOS_30300UNIT=esp8266rtos_30300 +ESP8266RTOS_30400UNIT=esp8266rtos_30400 +ESPIDF_40100UNIT=espidf_40100 +ESPIDF_40200UNIT=espidf_40200 +ESPIDF_40400UNIT=espidf_40400 +ESPIDF_50000UNIT=espidf_50000 +ESPIDF_50200UNIT=espidf_50200 +EXEUNIT=exe +EXEINFOUNIT=exeinfo +EXTPASUNIT=extpas +FE310G000UNIT=fe310g000 +FE310G002UNIT=fe310g002 +FGLUNIT=fgl +FPCMEMDLLUNIT=fpcmemdll +FPCYLIXUNIT=fpcylix +FPINTRESUNIT=fpintres +FPWIDESTRINGUNIT=fpwidestring +FREEBSDUNIT=freebsd +GD32VF103XXUNIT=gd32vf103xx +GETOPTSUNIT=getopts +GO32UNIT=go32 +GPIOUNIT=gpio +HEAPMGRUNIT=heapmgr +HEAPTRCUNIT=heaptrc +INITCUNIT=initc +INTRINSICSUNIT=intrinsics +ISO7185UNIT=iso7185 +JDK15UNIT=jdk15 +KBDCALLSUNIT=kbdcalls +LIBCUNIT=libc +LINEINFOUNIT=lineinfo +LINUXUNIT=linux +LINUXVCSUNIT=linuxvcs +LM3FURYUNIT=lm3fury +LM3TEMPESTUNIT=lm3tempest +LM4F120UNIT=lm4f120 +LNFODWRFUNIT=lnfodwrf +LNFOGDBUNIT=lnfogdb +LPC11XXUNIT=lpc11xx +LPC122XUNIT=lpc122x +LPC13XXUNIT=lpc13xx +LPC1768UNIT=lpc1768 +LPC21X4UNIT=lpc21x4 +LPC8XXUNIT=lpc8xx +LSTRINGSUNIT=lstrings +MACOSUNIT=macos +MACOSTPUNIT=macostp +MACUTILSUNIT=macutils +MACPASUNIT=macpas +MAILBOXUNIT=mailbox +MATHUNIT=math +MESSAGESUNIT=messages +MK20D5UNIT=mk20d5 +MK20D7UNIT=mk20d7 +MK22F51212UNIT=mk22f51212 +MK64F12UNIT=mk64f12 +MMIOUNIT=mmio +MMXUNIT=mmx +MONCALLSUNIT=moncalls +MOUCALLSUNIT=moucalls +MSMOUSEUNIT=msmouse +MULTIBOOTUNIT=multiboot +NDKUNIT=ndk +NDKUTILSUNIT=ndkutils +NETWAREUNIT=netware +NEWEXEUNIT=newexe +NRF51UNIT=nrf51 +NRF52UNIT=nrf52 +NWCALLSUNIT=nwcalls +NWNITUNIT=nwnit +NWPREUNIT=nwpre +NWPROTUNIT=nwprot +NWSERVUNIT=nwserv +NWSNUTUNIT=nwsnut +OBJCUNIT=objc +OBJCBASEUNIT=objcbase +OBJPASUNIT=objpas +OS2DEFUNIT=os2def +PAGEMEMUNIT=pagemem +PILOTUNIT=pilot +PMBIDIUNIT=pmbidi +PMBITMAPUNIT=pmbitmap +PMDEVUNIT=pmdev +PMGPIUNIT=pmgpi +PMHELPUNIT=pmhelp +PMSHLUNIT=pmshl +PMSPLUNIT=pmspl +PMSTDDLGUNIT=pmstddlg +PMWINUNIT=pmwin +PMWPUNIT=pmwp +PMWSOCKUNIT=pmwsock +PORTSUNIT=ports +POSIXUNIT=posix +PROFILEUNIT=profile +RASPI2UNIT=raspi2 +RASPI3UNIT=raspi3 +RASPIUARTUNIT=raspiuart +RP2040UNIT=rp2040 +RTLCONSTSUNIT=rtlconsts +SAM3X8EUNIT=sam3x8e +SAMD51P19AUNIT=samd51p19a +SC32442BUNIT=sc32442b +SFPU128UNIT=sfpu128 +SFPUX80UNIT=sfpux80 +SHAREMEMUNIT=sharemem +SIGNALSUNIT=signals +SO32DLLUNIT=so32dll +SOFTFPUUNIT=softfpu +SORTBASEUNIT=sortbase +STM32F0XXUNIT=stm32f0xx +STM32F103XEUNIT=stm32f103xe +STM32F10X_CLUNIT=stm32f10x_cl +STM32F10X_CONNUNIT=stm32f10x_conn +STM32F10X_HDUNIT=stm32f10x_hd +STM32F10X_LDUNIT=stm32f10x_ld +STM32F10X_MDUNIT=stm32f10x_md +STM32F10X_XLUNIT=stm32f10x_xl +STM32F401XEUNIT=stm32f401xe +STM32F401XXUNIT=stm32f401xx +STM32F407XXUNIT=stm32f407xx +STM32F411XEUNIT=stm32f411xe +STM32F429UNIT=stm32f429 +STM32F429XXUNIT=stm32f429xx +STM32F446XXUNIT=stm32f446xx +STM32F745UNIT=stm32f745 +STM32F746UNIT=stm32f746 +STM32F756UNIT=stm32f756 +STM32G071XXUNIT=stm32g071xx +STRINGSUNIT=strings +SYMBIANUNIT=symbian +SYSALLUNIT=sysall +SYSCALLUNIT=syscall +SYSCONSTUNIT=sysconst +SYSCTLUNIT=sysctl +SYSEMXUNIT=sysemx +SYSOS2UNIT=sysos2 +SYSTEMUNIT=system +SYSTRAPSUNIT=systraps +SYSUTILSUNIT=sysutils +TERMIOUNIT=termio +TYPESUNIT=types +TYPINFOUNIT=typinfo +UFLOAT128UNIT=ufloat128 +UFLOATX80UNIT=ufloatx80 +UIUNIT=ui +UIQUNIT=uiq +UIQCLASSESUNIT=uiqclasses +UNICODEDATAUNIT=unicodedata +UNIXUNIT=unix +UNIXCPUNIT=unixcp +UNIXTYPEUNIT=unixtype +UNIXUTILUNIT=unixutil +UUCHARUNIT=uuchar +VIOCALLSUNIT=viocalls +WASIAPIUNIT=wasiapi +WASIUTILUNIT=wasiutil +WATCOMUNIT=watcom +WEBASSEMBLYUNIT=webassembly +WIN31UNIT=win31 +WINDIRSUNIT=windirs +WINDOWSUNIT=windows +WINPROCSUNIT=winprocs +WINSYSUTUNIT=winsysut +WINTYPESUNIT=wintypes +X86UNIT=x86 +XMC4500UNIT=xmc4500 +NOTHREADSUNIT=nothreads +endif +ifdef FPC_DOTTEDUNITS +NS_SYSTEM=System. +NS_CPUNITS=System.CodePages. +NSDIR=$(RTL)/namespaced +NSINC=$(NSDIR)/common +BASEINCLUDE=$(INC) $(PROCINC) +BASESOURCE=$(INC) $(PROCINC) $($(COMMONUNIT)) +endif +CP_UNITS=$(CP1250UNIT) $(CP1251UNIT) $(CP1252UNIT) $(CP1253UNIT) $(CP1254UNIT) $(CP1255UNIT) $(CP1256UNIT) $(CP1257UNIT) $(CP1258UNIT) \ + $(CP437UNIT) $(CP646UNIT) $(CP737UNIT) $(CP775UNIT) $(CP850UNIT) $(CP852UNIT) $(CP855UNIT) $(CP856UNIT) $(CP857UNIT) $(CP860UNIT) $(CP861UNIT) $(CP862UNIT) \ + $(CP863UNIT) $(CP864UNIT) $(CP865UNIT) $(CP866UNIT) $(CP869UNIT) $(CP874UNIT) $(CP3021UNIT) $(CP8859_1UNIT) $(CP8859_2UNIT) $(CP8859_3UNIT) $(CP8859_4UNIT) \ + $(CP8859_5UNIT) $(CP8859_6UNIT) $(CP8859_7UNIT) $(CP8859_8UNIT) $(CP8859_9UNIT) $(CP8859_10UNIT) $(CP8859_11UNIT) \ + $(CP8859_13UNIT) $(CP8859_14UNIT) $(CP8859_15UNIT) $(CP8859_16UNIT) $(CPKOI8_RUNIT) $(CPKOI8_UUNIT) +ifdef FPC_DOTTEDUNITS +CP_UNITS_SRC=$(addsuffix .pas,$(addprefix $(NSINC)/,$(CP_UNITS))) +else +CP_UNITS_SRC=$(addsuffix .pas,$(addprefix $(RTL)/charmaps/,$(CP_UNITS))) +endif RTL=.. INC=../inc COMMON=$(RTL)/common @@ -381,1024 +922,16 @@ endif ifdef NO_EXCEPTIONS_IN_SYSTEM override FPCOPT+=-dNO_EXCEPTIONS_IN_SYSTEM endif -ifeq ($(CPU_OS_TARGET),i386-linux) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),i386-go32v2) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),i386-win32) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),i386-os2) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),i386-freebsd) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),i386-beos) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),i386-haiku) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),i386-netbsd) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),i386-solaris) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),i386-netware) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),i386-openbsd) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),i386-wdosx) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),i386-darwin) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),i386-emx) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),i386-watcom) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),i386-netwlibc) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),i386-wince) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),i386-embedded) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),i386-symbian) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),i386-nativent) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),i386-iphonesim) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),i386-android) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),i386-aros) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),m68k-linux) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),m68k-netbsd) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),m68k-amiga) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),m68k-atari) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),m68k-palmos) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),m68k-macosclassic) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),m68k-embedded) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),m68k-sinclairql) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),m68k-human68k) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),powerpc-linux) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),powerpc-netbsd) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),powerpc-amiga) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),powerpc-macosclassic) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),powerpc-darwin) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),powerpc-morphos) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),powerpc-embedded) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),powerpc-wii) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),powerpc-aix) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),sparc-linux) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),sparc-netbsd) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),sparc-solaris) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),sparc-embedded) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),x86_64-linux) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),x86_64-freebsd) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),x86_64-haiku) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),x86_64-netbsd) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),x86_64-solaris) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),x86_64-openbsd) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),x86_64-darwin) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),x86_64-win64) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),x86_64-embedded) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),x86_64-iphonesim) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),x86_64-android) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),x86_64-aros) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),x86_64-dragonfly) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),arm-linux) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),arm-netbsd) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),arm-palmos) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),arm-wince) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),arm-gba) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),arm-nds) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),arm-embedded) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),arm-symbian) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),arm-android) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),arm-aros) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),arm-freertos) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),arm-ios) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),powerpc64-linux) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),powerpc64-darwin) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),powerpc64-embedded) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),powerpc64-aix) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),avr-embedded) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),armeb-linux) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),armeb-embedded) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),mips-linux) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),mipsel-linux) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),mipsel-embedded) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),mipsel-android) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif ifeq ($(CPU_OS_TARGET),mipsel-ps1) override TARGET_UNITS+=$(SYSTEMUNIT) strt endif -ifeq ($(CPU_OS_TARGET),mips64-linux) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),mips64el-linux) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),jvm-java) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),jvm-android) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),i8086-embedded) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),i8086-msdos) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),i8086-win16) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),aarch64-linux) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),aarch64-freebsd) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),aarch64-darwin) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),aarch64-win64) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),aarch64-embedded) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),aarch64-iphonesim) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),aarch64-android) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),aarch64-ios) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),wasm32-embedded) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),wasm32-wasi) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),sparc64-linux) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),riscv32-linux) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),riscv32-embedded) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),riscv32-freertos) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),riscv64-linux) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),riscv64-embedded) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),xtensa-linux) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),xtensa-embedded) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),xtensa-freertos) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),z80-embedded) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),z80-zxspectrum) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),z80-msxdos) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),z80-amstradcpc) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -ifeq ($(CPU_OS_TARGET),loongarch64-linux) -override TARGET_UNITS+=$(SYSTEMUNIT) strt -endif -override INSTALL_FPCPACKAGE=y -ifeq ($(CPU_OS_TARGET),i386-linux) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),i386-go32v2) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),i386-win32) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),i386-os2) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),i386-freebsd) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),i386-beos) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),i386-haiku) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),i386-netbsd) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),i386-solaris) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),i386-netware) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),i386-openbsd) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),i386-wdosx) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),i386-darwin) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),i386-emx) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),i386-watcom) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),i386-netwlibc) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),i386-wince) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),i386-embedded) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),i386-symbian) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),i386-nativent) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),i386-iphonesim) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),i386-android) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),i386-aros) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),m68k-linux) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),m68k-netbsd) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),m68k-amiga) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),m68k-atari) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),m68k-palmos) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),m68k-macosclassic) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),m68k-embedded) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),m68k-sinclairql) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),m68k-human68k) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),powerpc-linux) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),powerpc-netbsd) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),powerpc-amiga) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),powerpc-macosclassic) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),powerpc-darwin) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),powerpc-morphos) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),powerpc-embedded) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),powerpc-wii) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),powerpc-aix) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),sparc-linux) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),sparc-netbsd) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),sparc-solaris) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),sparc-embedded) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),x86_64-linux) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),x86_64-freebsd) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),x86_64-haiku) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),x86_64-netbsd) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),x86_64-solaris) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),x86_64-openbsd) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),x86_64-darwin) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),x86_64-win64) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),x86_64-embedded) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),x86_64-iphonesim) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),x86_64-android) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),x86_64-aros) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),x86_64-dragonfly) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),arm-linux) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),arm-netbsd) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),arm-palmos) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),arm-wince) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),arm-gba) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),arm-nds) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),arm-embedded) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),arm-symbian) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),arm-android) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),arm-aros) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),arm-freertos) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),arm-ios) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),powerpc64-linux) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),powerpc64-darwin) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),powerpc64-embedded) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),powerpc64-aix) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),avr-embedded) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),armeb-linux) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),armeb-embedded) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),mips-linux) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),mipsel-linux) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),mipsel-embedded) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),mipsel-android) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif +override INSTALL_FPCPACKAGE=y y ifeq ($(CPU_OS_TARGET),mipsel-ps1) override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) endif -ifeq ($(CPU_OS_TARGET),mips64-linux) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),mips64el-linux) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),jvm-java) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),jvm-android) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),i8086-embedded) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),i8086-msdos) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),i8086-win16) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),aarch64-linux) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),aarch64-freebsd) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),aarch64-darwin) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),aarch64-win64) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),aarch64-embedded) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),aarch64-iphonesim) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),aarch64-android) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),aarch64-ios) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),wasm32-embedded) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),wasm32-wasi) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),sparc64-linux) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),riscv32-linux) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),riscv32-embedded) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),riscv32-freertos) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),riscv64-linux) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),riscv64-embedded) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),xtensa-linux) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),xtensa-embedded) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),xtensa-freertos) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),z80-embedded) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),z80-zxspectrum) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),z80-msxdos) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),z80-amstradcpc) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),loongarch64-linux) -override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) -endif -ifeq ($(CPU_OS_TARGET),i386-linux) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),i386-go32v2) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),i386-win32) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),i386-os2) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),i386-freebsd) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),i386-beos) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),i386-haiku) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),i386-netbsd) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),i386-solaris) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),i386-netware) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),i386-openbsd) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),i386-wdosx) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),i386-darwin) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),i386-emx) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),i386-watcom) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),i386-netwlibc) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),i386-wince) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),i386-embedded) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),i386-symbian) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),i386-nativent) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),i386-iphonesim) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),i386-android) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),i386-aros) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),m68k-linux) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),m68k-netbsd) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),m68k-amiga) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),m68k-atari) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),m68k-palmos) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),m68k-macosclassic) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),m68k-embedded) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),m68k-sinclairql) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),m68k-human68k) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),powerpc-linux) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),powerpc-netbsd) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),powerpc-amiga) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),powerpc-macosclassic) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),powerpc-darwin) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),powerpc-morphos) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),powerpc-embedded) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),powerpc-wii) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),powerpc-aix) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),sparc-linux) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),sparc-netbsd) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),sparc-solaris) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),sparc-embedded) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),x86_64-linux) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),x86_64-freebsd) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),x86_64-haiku) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),x86_64-netbsd) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),x86_64-solaris) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),x86_64-openbsd) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),x86_64-darwin) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),x86_64-win64) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),x86_64-embedded) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),x86_64-iphonesim) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),x86_64-android) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),x86_64-aros) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),x86_64-dragonfly) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),arm-linux) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),arm-netbsd) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),arm-palmos) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),arm-wince) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),arm-gba) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),arm-nds) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),arm-embedded) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),arm-symbian) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),arm-android) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),arm-aros) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),arm-freertos) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),arm-ios) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),powerpc64-linux) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),powerpc64-darwin) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),powerpc64-embedded) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),powerpc64-aix) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),avr-embedded) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),armeb-linux) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),armeb-embedded) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),mips-linux) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),mipsel-linux) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),mipsel-embedded) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),mipsel-android) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif ifeq ($(CPU_OS_TARGET),mipsel-ps1) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) endif -ifeq ($(CPU_OS_TARGET),mips64-linux) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),mips64el-linux) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),jvm-java) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),jvm-android) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),i8086-embedded) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),i8086-msdos) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),i8086-win16) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),aarch64-linux) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),aarch64-freebsd) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),aarch64-darwin) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),aarch64-win64) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),aarch64-embedded) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),aarch64-iphonesim) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),aarch64-android) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),aarch64-ios) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),wasm32-embedded) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),wasm32-wasi) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),sparc64-linux) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),riscv32-linux) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),riscv32-embedded) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),riscv32-freertos) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),riscv64-linux) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),riscv64-embedded) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),xtensa-linux) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),xtensa-embedded) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),xtensa-freertos) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),z80-embedded) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),z80-zxspectrum) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),z80-msxdos) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),z80-amstradcpc) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif -ifeq ($(CPU_OS_TARGET),loongarch64-linux) -override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) -endif ifdef REQUIRE_UNITSDIR override UNITSDIR+=$(REQUIRE_UNITSDIR) endif @@ -1595,113 +1128,6 @@ endif else CROSSBINDIR= endif -ifeq ($(OS_SOURCE),linux) -ifndef GCCLIBDIR -ifeq ($(CPU_TARGET),i386) -ifneq ($(filter x86_64,$(shell uname -a)),) -ifeq ($(BINUTILSPREFIX),) -GCCLIBDIR:=$(shell dirname `gcc -m32 -print-libgcc-file-name`) -else -CROSSGCCOPT=-m32 -endif -endif -endif -ifeq ($(CPU_TARGET),powerpc) -ifeq ($(BINUTILSPREFIX),) -GCCLIBDIR:=$(shell dirname `gcc -m32 -print-libgcc-file-name`) -else -CROSSGCCOPT=-m32 -endif -endif -ifeq ($(CPU_TARGET),powerpc64) -ifeq ($(BINUTILSPREFIX),) -GCCLIBDIR:=$(shell dirname `gcc -m64 -print-libgcc-file-name`) -else -CROSSGCCOPT=-m64 -endif -endif -ifeq ($(CPU_TARGET),sparc) -ifneq ($(filter sparc64,$(shell uname -a)),) -ifeq ($(BINUTILSPREFIX),) -GCCLIBDIR:=$(shell dirname `gcc -m32 -print-libgcc-file-name`) -else -CROSSGCCOPT=-m32 -endif -endif -endif -ifneq ($(filter $(CPU_TARGET),mips64 mipsel64),) -ifeq ($(BINUTILSPREFIX),) -GCCLIBDIR:=$(shell dirname `gcc -mabi=64 -print-libgcc-file-name`) -else -CROSSGCCOPT=-mabi=64 -endif -endif -ifneq ($(filter $(CPU_TARGET),mips mipsel),) -ifeq ($(BINUTILSPREFIX),) -GCCLIBDIR:=$(shell dirname `gcc -mabi=32 -print-libgcc-file-name`) -else -CROSSGCCOPT=-mabi=32 -endif -endif -ifeq ($(BINUTILSPREFIX),) -ifeq ($(GCCLIBDIR),) -GCCLIBDIR:=$(shell dirname `gcc -print-libgcc-file-name`) -endif -else -ifeq ($(CROSSGCCOPT),) -CROSSGCCOPT=-g -endif -endif -endif -ifdef FPCFPMAKE -FPCFPMAKE_CPU_TARGET=$(shell $(FPCFPMAKE) -iTP) -ifeq ($(CPU_TARGET),$(FPCFPMAKE_CPU_TARGET)) -FPCMAKEGCCLIBDIR:=$(GCCLIBDIR) -else -ifneq ($(filter $(FPCFPMAKE_CPU_TARGET),aarch64 powerpc64 riscv64 sparc64 x86_64 loongarch64),) -FPCMAKE_CROSSGCCOPT=-m64 -else -ifneq ($(filter $(FPCFPMAKE_CPU_TARGET),mips64 mips64el),) -FPCMAKE_CROSSGCCOPT=-mabi=64 -else -ifneq ($(filter $(FPCFPMAKE_CPU_TARGET),mips mipsel),) -FPCMAKE_CROSSGCCOPT=-mabi=32 -else -ifeq ($(FPCFPMAKE_CPU_TARGET),riscv64) -FPCMAKE_CROSSGCCOPT=-mabi=lp64 -else -ifeq ($(FPCFPMAKE_CPU_TARGET),riscv32) -FPCMAKE_CROSSGCCOPT=-mabi=ilp32 -else -ifeq ($(FPCFPMAKE_CPU_TARGET),loongarch64) -FPCMAKE_CROSSGCCOPT=-mabi=lp64d -else -FPCMAKE_CROSSGCCOPT=-m32 -endif -endif -endif -endif -endif -endif -FPCMAKEGCCLIBDIR:=$(shell dirname `gcc $(FPCMAKE_CROSSGCCOPT) -print-libgcc-file-name`) -endif -endif -ifndef FPCMAKEGCCLIBDIR -FPCMAKEGCCLIBDIR:=$(shell dirname `gcc -print-libgcc-file-name`) -endif -ifndef GCCLIBDIR -CROSSGCC=$(strip $(wildcard $(addsuffix /$(BINUTILSPREFIX)gcc$(SRCEXEEXT),$(SEARCHPATH)))) -ifneq ($(CROSSGCC),) -GCCLIBDIR:=$(shell dirname `$(CROSSGCC) $(CROSSGCCOPT) -print-libgcc-file-name`) -endif -endif -endif -ifdef inUnix -ifeq ($(OS_SOURCE),netbsd) -OTHERLIBDIR:=/usr/pkg/lib -endif -export GCCLIBDIR FPCMAKEGCCLIBDIR OTHERLIBDIR -endif BATCHEXT=.bat LOADEREXT=.as EXEEXT=.exe @@ -2315,17 +1741,6 @@ override FPCOPT+=-CX -XX endif ifdef LINKSHARED endif -ifdef GCCLIBDIR -override FPCOPT+=-Fl$(GCCLIBDIR) -ifdef FPCMAKEGCCLIBDIR -override FPCMAKEOPT+=-Fl$(FPCMAKEGCCLIBDIR) -else -override FPCMAKEOPT+=-Fl$(GCCLIBDIR) -endif -endif -ifdef OTHERLIBDIR -override FPCOPT+=$(addprefix -Fl,$(OTHERLIBDIR)) -endif ifdef OPT override FPCOPT+=$(OPT) endif @@ -2747,6 +2162,761 @@ makefiles: fpc_makefiles ifneq ($(wildcard fpcmake.loc),) include fpcmake.loc endif +ifndef OSDIR +OSDIR=. +endif +ifndef NSOSDIR +NSOSDIR=$(NSDIR)/$(OS_TARGET) +endif +ifndef PORTSDIR +PORTSDIR=$(OSDIR) +endif +ifndef DYNLIBSINCDIR +DYNLIBSINCDIR=$(OSDIR) +endif +ifndef INITCDIR +ifdef UNIXINC +INITCDIR=$(UNIXINC) +else +INITCDIR=$(OSDIR) +endif +endif +ifndef DOSDIR +DOSDIR=$(OSDIR) +NSDOSDIR=$(NSDIR)/$(DOSDIR) +endif +ifndef OS2DIR +OS2DIR=. +endif +ifndef NSOS2DIR +NSOS2DIR=$(NSDIR)/os2 +endif +ifndef SYSUTILSDIR +SYSUTILSDIR=$(OSDIR) +endif +ifndef NSSYSUTILSDIR +NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR) +endif +ifndef SYSTEMDIR +SYSTEMDIR=$(OSDIR) +endif +ifndef CLASSESDIR +CLASSESDIR=$(OSDIR) +endif +ifndef TTHREADINCDIR +TTHREADINCDIR=$(CLASSESDIR) +endif +ifndef NSCLASSESDIR +NSCLASSESDIR=$(NSDIR)/$(CLASSESDIR) +endif +ifndef NSBSDDIR +NSBSDDIR=$(NSDIR)/bsd +endif +ifndef TERMIODIR +TERMIODIR=$(OSDIR) +endif +ifndef PTHREADINCDIR +PTHREADINCDIR=$(OSDIR) +endif +ifndef NSWINDOWSDIR +NSWINDOWSDIR=$(NSDIR)/windows +endif +ifndef SYSTEMUNITEXT +SYSTEMUNITEXT=pp +endif +ifndef DOSUNITEXT +DOSUNITEXT=pp +endif +ifndef PORTSUNITEXT +PORTSUNITEXT=pp +endif +ifndef BASEUNIXDIR +BASEUNIXDIR=$(UNIXINC) +endif +ifndef EXTPAS_DEPS_OS +EXTPAS_DEPS_OS=$(DOSUNIT)$(PPUEXT) +endif +ifdef FPC_DOTTEDUNITS +BLOCKRTL_OPT:=$(BLOCKRTL_OPT) -dFPC_DOTTEDUNITS +FPEXTRES_OPT:=$(FPEXTRES_OPT) -dFPC_DOTTEDUNITS +OBJC_OPT:=$(OBJC_OPT) -dFPC_DOTTEDUNITS +OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS +FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS +MACPAS_OPT:=$(MACPAS_OPT) -dFPC_DOTTEDUNITS +EXTPAS_OPT:=$(EXTPAS_OPT) -dFPC_DOTTEDUNITS +LINEINFO_OPT:=$(LINEINFO_OPT) -dFPC_DOTTEDUNITS +LNFODWRF_OPT:=$(LNFODWRF_OPT) -dFPC_DOTTEDUNITS +endif +$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMDIR)/$(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS) + $(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $< +UUCHAR_DEPS=$(INC)/uuchar.pp \ + $(SYSTEMUNIT)$(PPUEXT) \ + $(UUCHAR_DEPS_OS) $(UUCHAR_DEPS_CPU) +uuchar$(PPUEXT): $(UUCHAR_DEPS) + $(COMPILER) $(UUCHAR_OPT) $< +UACHAR_DEPS=$(INC)/uachar.pp \ + $(SYSTEMUNIT)$(PPUEXT) \ + $(UACHAR_DEPS_OS) $(UACHAR_DEPS_CPU) +uachar$(PPUEXT): $(UACHAR_DEPS) + $(COMPILER) $(UACHAR_OPT) $< +OBJPAS_DEPS= $(OBJPASDIR)/objpas.pp $(INC)/except.inc \ + $(SYSTEMUNIT)$(PPUEXT) \ + $(OBJPAS_DEPS_OS) $(OBJPAS_DEPS_CPU) +objpas$(PPUEXT): $(OBJPAS_DEPS) + $(COMPILER) $(OBJPAS_OPT) -Fi$(OBJPASDIR) $< +MACPAS_DEPS=$(INC)/macpas.pp \ + $(OBJPASUNIT)$(PPUEXT) $(MATHUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \ + $(MACPAS_DEPS_OS) $(MACPAS_DEPS_CPU) +macpas$(PPUEXT) : $(MACPAS_DEPS) + $(COMPILER) $(MACPAS_OPT) $< +ISO7185_DEPS= $(INC)/iso7185.pp \ + $(SYSTEMUNIT)$(PPUEXT) \ + $(ISO7185_DEPS_OS) $(ISO7185_DEPS_CPU) +iso7185$(PPUEXT) : $(ISO7185_DEPS) + $(COMPILER) $(ISO7185_OPT) $< +EXTPAS_DEPS=$(INC)/extpas.pp \ + $(SYSTEMUNIT)$(PPUEXT) \ + $(EXTPAS_DEPS_OS) $(EXTPAS_DEPS_CPU) +extpas$(PPUEXT) : $(EXTPAS_DEPS) + $(COMPILER) $(EXTPAS_OPT) $< +FPINTRES_DEPS= $(INC)/fpintres.pp $(SYSTEMUNIT)$(PPUEXT) \ + $(FPINTRES_DEPS_OS) $(FPINTRES_DEPS_CPU) +fpintres$(PPUEXT) : $(FPINTRES_DEPS) + $(COMPILER) $(FPINTRES_OPT) $< +FPEXTRES_DEPS= $(INC)/fpextres.pp $(SYSTEMUNIT)$(PPUEXT) \ + $(FPEXTRES_DEPS_OS) $(FPEXTRES_DEPS_CPU) +fpextres$(PPUEXT) : $(FPEXTRES_DEPS) + $(COMPILER) -Sg $(FPEXTRES_OPT) $< +HEAPTRC_DEPS=$(INC)/heaptrc.pp \ + $(SYSTEMUNIT)$(PPUEXT) \ + $(HEAPTRC_DEPS_OS) $(HEAPTRC_DEPS_CPU) +heaptrc$(PPUEXT) : $(HEAPTRC_DEPS) + $(COMPILER) $(HEAPTRC_OPT) $< +SOFTFPU_DEPS=$(INC)/softfpu.pp \ + $(SYSTEMUNIT)$(PPUEXT) $(OBJPASUNIT)$(PPUEXT) \ + $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU) +softfpu$(PPUEXT) : $(SOFTFPU_DEPS) + $(COMPILER) -Sg $(SOFTFPU_OPT) $< +System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) + $(COMPILER) -Sg $(SOFTFPU_OPT) $< +SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \ + $(SYSTEMUNIT)$(PPUEXT) $(OBJPASUNIT)$(PPUEXT) \ + $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) +sfpux80$(PPUEXT) : $(SFPUX80_DEPS) + $(COMPILER) -Sg $(SFPUX80_OPT) $< +System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp $(SFPUX80_DEPS) + $(COMPILER) -Sg $(SFPUX80_OPT) $< +SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \ + $(SYSTEMUNIT)$(PPUEXT) $(OBJPASUNIT)$(PPUEXT) \ + $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU) +sfpu128$(PPUEXT) : $(SFPU128_DEPS) + $(COMPILER) -Sg $(SFPUX128_OPT) $< +System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS) + $(COMPILER) -Sg $(SFPUX128_OPT) $< +UFLOATX80_DEPS=$(INC)/ufloatx80.pp \ + $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \ + $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU) +ufloatx80$(PPUEXT) : $(UFLOATX80_DEPS) + $(COMPILER) $(UFLOATX80_OPT) $< +System.UFloatX80$(PPUEXT) : $(NSINC)/System.UFloatX80.pp $(UFLOATX80_DEPS) + $(COMPILER) $(UFLOATX80_OPT) $< +UFLOAT128_DEPS=$(INC)/ufloat128.pp \ + $(SFPU128UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \ + $(UFLOAT128_DEPS_OS) $(UFLOAT128_DEPS_CPU) +ufloat128$(PPUEXT) : $(UFLOAT128_DEPS) + $(COMPILER) $(UFLOAT128_OPT) $< +System.UFloat128$(PPUEXT) : $(NSINC)/System.UFloat128.pp $(UFLOAT128_DEPS) + $(COMPILER) $(UFLOAT128_OPT) $< +STRINGS_DEPS=$(INC)/strings.pp $(INC)/stringsi.inc $(PROCINC)/stringss.inc $(PROCINC)/strings.inc \ + $(INC)/genstr.inc $(INC)/genstrs.inc $(INC)/cgenstr.inc \ + $(SYSTEMUNIT)$(PPUEXT) \ + $(STRINGS_DEPS_OS) +strings$(PPUEXT) : $(STRINGS_DEPS) + $(COMPILER) $(STRINGS_OPT) $< +System.Strings$(PPUEXT) : $(NSINC)/System.Strings.pp $(STRINGS_DEPS) + $(COMPILER) $(STRINGS_OPT) $< +PORTS_DEPS=$(PORTSDIR)/ports.$(PORTSUNITEXT) \ + $(SYSTEMUNIT)$(PPUEXT) \ + $(PORTS_DEPS_OS) $(PORTS_DEPS_CPU) +ports$(PPUEXT) : $(PORTS_DEPS) + $(COMPILER) $(PORTS_OPT) $< +System.Ports$(PPUEXT) : $(NSINC)/System.Ports.$(PORTSUNITEXT) $(PORTS_DEPS) + $(COMPILER) $(PORTS_OPT) $< +DYNLIBS_DEPS=$(INC)/dynlibs.pas $(DYNLIBSINCDIR)/dynlibs.inc \ + $(OBJPASUNIT)$(PPUEXT) $(RTLCONSTSUNIT)$(PPUEXT) $(SYSUTILSUNIT)$(PPUEXT) \ + $(DYNLIBS_DEPS_OS) $(DYNLIBS_DEPS_CPU) +ifdef DYNLIBSINCDIR + ifndef DYNLIBS_OPT + DYNLIBS_OPT=-Fi$(DYNLIBSINCDIR) + endif +endif +dynlibs$(PPUEXT) : $(DYNLIBS_DEPS) + $(COMPILER) $(DYNLIBS_OPT) $< +System.DynLibs$(PPUEXT) : $(NSINC)/System.DynLibs.pas $(DYNLIBS_DEPS) + $(COMPILER) $(DYNLIBS_OPT) $< +INITC_DEPS=$(INITCDIR)/initc.pp $(CTYPESUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \ + $(INITC_DEPS_OS) $(INITC_DEPS_CPU) +initc$(PPUEXT) : $(INITC_DEPS) + $(COMPILER) $(INITC_OPT) $< +System.InitC$(PPUEXT) : $(NSINC)/System.InitC.pp $(INITC_DEPS) + $(COMPILER) $(INITC_OPT) $< +UNIXCP_DEPS=$(UNIXINC)/unixcp.pp $(SYSTEMUNIT)$(PPUEXT) $(OBJPASUNIT)$(PPUEXT) $(BASEUNIXUNIT)$(PPUEXT) \ + $(UNIXCP_DEPS_OS) $(UNIXCP_DEPS_CPU) +unixcp$(PPUEXT) : $(UNIXCP_DEPS) + $(COMPILER) $(UNIXCP_OPT) $(UNIXINC)/unixcp.pp +UnixApi.CP$(PPUEXT) : $(NSINC)/UnixApi.CP.pp $(UNIXCP_DEPS) + $(COMPILER) $(UNIXCP_OPT) $< +ifeq ($(filter -dFPC_USE_LIBC,$(FPCOPT)),) + LINUX_DEPS_OS+=$(SYSCALLUNIT)$(PPUEXT) +else +ifneq ($(filter $(CPU_TARGET),i386 x86_64),) + LINUX_DEPS_OS+=$(SYSCALLUNIT)$(PPUEXT) +endif +endif +LINUX_DEPS=$(OSDIR)/linux.pp \ + $(BASEUNIXUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \ + $(LINUX_DEPS_OS) $(LINUX_DEPS_CPU) +linux$(PPUEXT): $(LINUX_DEPS) + $(COMPILER) $< +LinuxApi$(PPUEXT): $(NSOSDIR)/LinuxApi.pp $(LINUX_DEPS) + $(COMPILER) $(LINUX_OPT) $< +LINUXVCS_DEPS=$(OSDIR)/linuxvcs.pp $(BASEUNIXUNIT)$(PPUEXT) $(STRINGSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \ + $(LINUXVCS_DEPS_OS) $(LINUXVCS_DEPS_CPU) +linuxvcs$(PPUEXT): $(LINUXVCS_DEPS) + $(COMPILER) $(LINUXVCS_OPT) $< +LinuxApi.Vcs$(PPUEXT): $(NSOSDIR)/LinuxApi.Vcs.pp $(LINUXVCS_DEPS) + $(COMPILER) $(LINUXVCS_OPT) $< +FPCYLIX_DEPS=../linux/fpcylix.pp \ + $(CTHREADSUNIT)$(PPUEXT) $(CWSTRINGUNIT)$(PPUEXT) $(DYNLIBSUNIT)$(PPUEXT) \ + $(OBJPASUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \ + $(FPCYLIX_DEPS_OS) $(FPCYLIX_DEPS_CPU) +fpcylix$(PPUEXT) : $(FPCYLIX_DEPS) + $(COMPILER) $(FPCYLIX_OPT) $< +TERMIO_DEPS=$(TERMIODIR)/termio.pp $(UNIXINC)/ttyname.inc $(TERMIODIR)/termios.inc \ + $(TERMIODIR)/termiosproc.inc $(BASEUNIXUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \ + $(TERMIO_DEPS_OS) $(TERMIO_DEPS_CPU) +termio$(PPUEXT) : $(TERMIO_DEPS) + $(COMPILER) $(TERMIO_OPT) $< +UnixApi.TermIO$(PPUEXT) : $(NSINC)/UnixApi.TermIO.pp $(TERMIO_DEPS) + $(COMPILER) $(TERMIO_OPT) $< +CONSOLE_DEPS= console.pp $(BASEUNIXUNIT)$(PPUEXT) $(TERMIOUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \ + $(CONSOLE_DEPS_OS) $(CONSOLE_DEPS_CPU) +console$(PPUEXT) : $(CONSOLE_DEPS) + $(COMPILER) $(CONSOLE_OPT) $< +System.Console$(PPUEXT) : $(NSOSDIR)/System.Console.pp $(CONSOLE_DEPS) + $(COMPILER) $(CONSOLE_OPT) $< +DOS_DEPS=$(DOSDIR)/dos.$(DOSUNITEXT) $(INC)/filerec.inc $(INC)/textrec.inc \ + $(STRINGSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \ + $(DOS_DEPS_OS) $(DOS_DEPS_CPU) +dos$(PPUEXT): $(DOS_DEPS) + $(COMPILER) $(DOS_OPTS) $< +TP.DOS$(PPUEXT): $(NSINC)/TP.DOS.$(DOSUNITEXT) $(DOS_DEPS) + $(COMPILER) $(DOS_OPTS) $(DOS_NS_OPTS) $< +MSMOUSE_DEPS=msmouse.pp $(SYSTEMUNIT)$(PPUEXT) +msmouse$(PPUEXT) : $(MSMOUSE_DEPS) + $(COMPILER) $(MSMOUSE_OPTS) $< +DOSApi.MSMouse$(PPUEXT) : $(NSOSDIR)/DOSApi.MSMouse.pp $(MSMOUSE_DEPS) + $(COMPILER) $(MSMOUSE_OPTS) $< +SYSUTILS_UNIX_DEPS=$(UNIXUNIT)$(PPUEXT) $(ERRORSUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) \ + $(BASEUNIXUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) \ + $(UNIXUTILUNIT)$(PPUEXT) $(INITCUNIT)$(PPUEXT) +ifeq ($(filter -dFPC_USE_LIBC,$(FPCOPT)),) + SYSUTILS_UNIX_DEPS+= $(SYSCALLUNIT)$(PPUEXT) +endif +SYSUTILS_DEPS=$(SYSUTILSDIR)/sysutils.pp $(wildcard $(OBJPASDIR)/sysutils/*.inc) \ + $(SYSTEMUNIT)$(PPUEXT) $(OBJPASUNIT)$(PPUEXT) $(SYSCONSTUNIT)$(PPUEXT) \ + $(SYSUTILS_DEPS_OS) $(SYSUTILS_DEPS_CPU) +sysutils$(PPUEXT) : $(SYSUTILS_DEPS) + $(COMPILER) -Fi$(OBJPASDIR)/sysutils $< +System.SysUtils$(PPUEXT) : $(NSINC)/System.SysUtils.pp $(SYSUTILS_DEPS) + $(COMPILER) $(SYSUTILS_OPT) -Fi$(OBJPASDIR)/sysutils -Fi$(SYSUTILSDIR) $< +CLASSES_DEPS=$(CLASSESDIR)/classes.pp $(TTHREADINCDIR)/tthread.inc $(wildcard $(OBJPASDIR)/classes/*.inc) \ + $(SYSTEMUNIT)$(PPUEXT) $(OBJPASUNIT)$(PPUEXT) $(SORTBASEUNIT)$(PPUEXT) \ + $(SYSUTILSUNIT)$(PPUEXT) $(TYPINFOUNIT)$(PPUEXT) $(RTLCONSTSUNIT)$(PPUEXT) \ + $(FGLUNIT)$(PPUEXT) $(TYPESUNIT)$(PPUEXT) \ + $(CLASSES_DEPS_OS) $(CLASSES_DEPS_CPU) +classes$(PPUEXT) : $(CLASSES_DEPS) + $(COMPILER) -Fi$(OBJPASDIR)/classes $(CLASSES_OPT) $< +System.Classes$(PPUEXT) : $(NSINC)/System.Classes.pp $(CLASSES_DEPS) + $(COMPILER) -Fi$(OBJPASDIR)/classes $(CLASSES_OPT) $< +TYPINFO_DEPS=$(OBJPASDIR)/typinfo.pp \ + $(OBJPASUNIT)$(PPUEXT) $(SYSUTILSUNIT)$(PPUEXT) $(RTLCONSTSUNIT)$(PPUEXT) \ + $(TYPINFO_DEPS_OS) $(TYPINFO_DEPS_CPU) +typinfo$(PPUEXT): $(TYPINFO_DEPS) + $(COMPILER) -Sg $(TYPINFO_OPT) $< +System.TypInfo$(PPUEXT): $(NSINC)/System.TypInfo.pp $(TYPINFO_DEPS) + $(COMPILER) -Fi$(OBJPASDIR) -Sg $(TYPINFO_OPT) $< +CHARACTER_DEPS=$(OBJPASDIR)/character.pas $(UNICODEDATAUNIT)$(PPUEXT) \ + $(SYSUTILSUNIT)$(PPUEXT) $(OBJPASUNIT)$(PPUEXT) $(RTLCONSTSUNIT)$(PPUEXT) \ + $(CHARACTER_DEPS_OS) $(CHARACTER_DEPS_CPU) +character$(PPUEXT): $(CHARACTER_DEPS) + $(COMPILER) $(CHARACTER_OPT) $< +System.Character$(PPUEXT): $(NSINC)/System.Character.pas $(CHARACTER_DEPS) + $(COMPILER) $(CHARACTER_OPT) -Fi$(OBJPASDIR) $< +MATH_DEPS= $(OBJPASDIR)/math.pp $(PROCINC)/mathu.inc \ + $(OBJPASUNIT)$(PPUEXT) $(SYSUTILSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \ + $(MATH_DEPS_OS) $(MATH_DEPS_CPU) +math$(PPUEXT): $(MATH_DEPS) + $(COMPILER) $(MATH_OPT) $< +System.Math$(PPUEXT): $(NSINC)/System.Math.pp $(MATH_DEPS) + $(COMPILER) $(MATH_OPT) -Fi$(OBJPASDIR) $< +FGL_DEPS=$(OBJPASDIR)/fgl.pp \ + $(OBJPASUNIT)$(PPUEXT) $(TYPESUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \ + $(SYSUTILSUNIT)$(PPUEXT) $(SORTBASEUNIT)$(PPUEXT) \ + $(RTLCONSTSUNIT)$(PPUEXT) \ + $(FGL_DEPS_OS) $(FGL_DEPS_CPU) +fgl$(PPUEXT) : $(FGL_DEPS) + $(COMPILER) $(FGL_OPT) $< +System.FGL$(PPUEXT) : $(NSINC)/System.FGL.pp $(FGL_DEPS) + $(COMPILER) -Fi$(OBJPASDIR) $(FGL_OPT) $< +TYPES_DEPS=$(OBJPASDIR)/types.pp \ + $(OBJPASUNIT)$(PPUEXT) $(MATHUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \ + $(TYPES_DEPS_OS) $(TYPES_DEPS_CPU) +types$(PPUEXT) : $(TYPES_DEPS) + $(COMPILER) $(TYPES_OPT) $< +System.Types$(PPUEXT) : $(NSINC)/System.Types.pp $(TYPES_DEPS) + $(COMPILER) -Fi$(OBJPASDIR) $(TYPES_OPT) $< +SYSCONST_DEPS=$(OBJPASDIR)/sysconst.pp \ + $(OBJPASUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \ + $(SYSCONST_DEPS_OS) $(SYSCONST_DEPS_CPU) +sysconst$(PPUEXT) : $(SYSCONST_DEPS) + $(COMPILER) $(SYSCONST_OPT) $< +System.SysConst$(PPUEXT) : $(NSINC)/System.SysConst.pp $(SYSCONST_DEPS) + $(COMPILER) -Fi$(OBJPASDIR) $(SYSCONST_OPT) $< +ifdef FPC_DOTTEDUNITS +RTLCONSTS_DEPS=$(OBJPASDIR)/rtlconsts.pp $(OBJPASDIR)/rtlconst.inc \ + $(OBJPASUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \ + $(RTLCONSTS_DEPS_OS) $(RTLCONSTS_DEPS_CPU) +System.RtlConsts$(PPUEXT) : $(NSINC)/System.RtlConsts.pp $(RTLCONSTS_DEPS) + $(COMPILER) -Fi$(OBJPASDIR) $(RTLCONSTS_OPT) $< +else +RTLCONSTS_DEPS=$(OBJPASDIR)/$(RTLCONSTSUNIT).pp $(OBJPASDIR)/rtlconst.inc \ + $(OBJPASUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \ + $(RTLCONSTS_DEPS_OS) $(RTLCONSTS_DEPS_CPU) +$(RTLCONSTSUNIT)$(PPUEXT) : $(RTLCONSTS_DEPS) + $(COMPILER) $(RTLCONSTS_OPT) $< +endif +ifneq ($(findstring $(ARCH),x86_64 i386 i8086),) +CPU_DEPS_CPU:=$(CPU_DEPS_CPU) $(SYSUTILSUNIT)$(PPUEXT) +endif +CPU_DEPS=$(PROCINC)/cpu.pp \ + $(SYSTEMUNIT)$(PPUEXT) $(OBJPASUNIT)$(PPUEXT) $(SYSUTILSUNIT)$(PPUEXT) \ + $(CPU_DEPS_OS) $(CPU_DEPS_CPU) +cpu$(PPUEXT) : $(CPU_DEPS) + $(COMPILER) $(CPU_OPT) $< +System.CPU$(PPUEXT) : $(NSINC)/System.CPU.pp $(CPU_DEPS) + $(COMPILER) $(CPU_OPT) $< +MMX_DEPS=$(PROCINC)/mmx.pp \ + $(CPUUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \ + $(MMX_DEPS_OS) $(MMX_DEPS_CPU) +mmx$(PPUEXT) : $(MMX_DEPS) + $(COMPILER) $(MMX_OPT) $< +System.CPU.MMX$(PPUEXT) : $(NSINC)/System.CPU.MMX.pp $(MMX_DEPS) + $(COMPILER) $(MMX_OPT) $< +ifeq ($(filter -dFPC_USE_LIBC,$(FPCOPT)),) + X86_DEPS_OS+=$(SYSCALLUNIT)$(PPUEXT) +endif +X86_DEPS = $(UNIXINC)/x86.pp \ + $(BASEUNIXUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \ + $(X86_DEPS_OS) $(X86_DEPS_CPU) +x86$(PPUEXT) : $(X86_DEPS) + $(COMPILER) $(X86_OPT) $< +System.X86$(PPUEXT) : $(NSINC)/System.X86.pp $(X86_DEPS) + $(COMPILER) $(X86_OPT) $< +GETOPTS_DEPS=$(INC)/getopts.pp \ + $(SYSTEMUNIT)$(PPUEXT) \ + $(GETOPTS_DEPS_OS) $(GETOPTS_DEPS_CPU) +getopts$(PPUEXT) : $(GETOPTS_DEPS) + $(COMPILER) $(GETOPTS_OPT) $< +System.GetOpts$(PPUEXT) : $(NSINC)/System.GetOpts.pp $(GETOPTS_DEPS) + $(COMPILER) $(GETOPTS_OPT) $< +LINEINFO_DEPS=$(INC)/lineinfo.pp \ + $(STRINGSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) $(SYSUTILSUNIT)$(PPUEXT) $(EXEINFOUNIT)$(PPUEXT) \ + $(LINEINFO_DEPS_OS) $(LINEINFO_DEPS_CPU) +lineinfo$(PPUEXT) : $(LINEINFO_DEPS) + $(COMPILER) $(LINEINFO_OPT) $< +System.LineInfo$(PPUEXT) : $(NSINC)/System.LineInfo.pp $(LINEINFO_DEPS) + $(COMPILER) $(LINEINFO_OPT) $< +EXEINFO_DEPS=$(INC)/exeinfo.pp \ + $(STRINGSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \ + $(EXEINFO_DEPS_OS) $(EXEINFO_DEPS_CPU) +exeinfo$(PPUEXT) : $(EXEINFO_DEPS) + $(COMPILER) $(EXEINFO_OPT) $< +System.ExeInfo$(PPUEXT) : $(NSINC)/System.ExeInfo.pp $(EXEINFO_DEPS) + $(COMPILER) $(EXEINFO_OPT) $< +LNFODWRF_DEPS=$(INC)/lnfodwrf.pp \ + $(SYSTEMUNIT)$(PPUEXT) $(STRINGSUNIT)$(PPUEXT) \ + $(SYSUTILSUNIT)$(PPUEXT) $(EXEINFOUNIT)$(PPUEXT) \ + $(LNFODWRF_DEPS_OS) $(LNFODWRF_DEPS_CPU) +lnfodwrf$(PPUEXT) : $(LNFODWRF_DEPS) + $(COMPILER) $(LNFODWRF_OPT) $< +System.LineInfo.Dwarf$(PPUEXT) : $(NSINC)/System.LineInfo.Dwarf.pp $(LNFODWRF_DEPS) + $(COMPILER) $(LNFODWRF_OPT) $< +LNFOGDB_DEPS=$(UNIXINC)/lnfogdb.pp \ + $(SYSTEMUNIT)$(PPUEXT) $(CTYPESUNIT)$(PPUEXT) \ + $(BASEUNIXUNIT)$(PPUEXT) $(UNIXUNIT)$(PPUEXT) \ + $(LNFOGDB_DEPS_OS) $(LNFOGDB_DEPS_CPU) +lnfogdb$(PPUEXT) : $(LNFOGDB_DEPS) + $(COMPILER) $(LNFOGDB_OPT) $< +System.LineInfo.Gdb$(PPUEXT) : $(NSINC)/System.LineInfo.Gdb.pp $(LNFOGDB_DEPS) + $(COMPILER) $(LNFOGDB_OPT) $< +CHARSET_DEPS=$(INC)/charset.pp \ + $(SYSTEMUNIT)$(PPUEXT) $(OBJPASUNIT)$(PPUEXT) \ + $(CHARSET_DEPS_OS) $(CHARSET_DEPS_CPU) +charset$(PPUEXT) : $(CHARSET_DEPS) + $(COMPILER) $(CHARSET_OPT) $< +System.CharSet$(PPUEXT) : $(NSINC)/System.CharSet.pp $(CHARSET_DEPS) + $(COMPILER) $(CHARSET_OPT) $< +UNICODEDATA_DEPS = $(OBJPASDIR)/unicodedata.pas $(OBJPASDIR)/unicodedata.inc \ + $(OBJPASDIR)/unicodedata_le.inc $(OBJPASDIR)/unicodedata_be.inc \ + $(SYSTEMUNIT)$(PPUEXT) $(OBJPASUNIT)$(PPUEXT) +unicodedata$(PPUEXT) : $(UNICODEDATA_DEPS) + $(COMPILER) -Fi$(OBJPASDIR) $(UNICODEDATA_OPT) $< +System.CodePages.unicodedata$(PPUEXT) : $(NSINC)/System.CodePages.unicodedata.pas $(UNICODEDATA_DEPS) + $(COMPILER) -Fi$(OBJPASDIR) $(UNICODEDATA_OPT) $< +CPALL_DEPS=$(RTL)/charmaps/cpall.pas $(CP_UNITS_SRC) \ + system$(PPUEXT) $(CHARSETUNIT)$(PPUEXT) \ + $(CPALL_DEPS_OS) $(CPALL_DEPS_CPU) +cpall$(PPUEXT): $(CPALL_DEPS) + $(COMPILER) $(CPALL_OPT) -Fu$(INC) -Fi$(RTL)/charmaps $< +System.CodePages.All$(PPUEXT): $(NSINC)/System.CodePages.All.pas $(CPALL_DEPS) + $(COMPILER) $(CPALL_OPT) -Fu$(INC) -Fi$(RTL)/charmaps $< +ifneq ($(UNIXINC),) + FPWIDESTRING_DEPS_OS:=$(FPWIDESTRING_DEPS_OS) $(UNIXCPUNIT)$(PPUEXT) +endif +ifneq ($(AMIINC),) + RTLDEFSINCDIR=$(AMIINC) +else +ifeq ($(OS_TARGET),android) + RTLDEFSINCDIR = $(LINUXINC) +else + RTLDEFSINCDIR = $(OSDIR) +endif +endif +FPWIDESTRING_DEPS=$(OBJPASDIR)/fpwidestring.pp $(RTLDEFSINCDIR)/rtldefs.inc \ + $(SYSTEMUNIT)$(PPUEXT) $(OBJPASUNIT)$(PPUEXT) $(UNICODEDATAUNIT)$(PPUEXT) \ + $(CHARACTERUNIT)$(PPUEXT) $(CPALLUNIT)$(PPUEXT) \ + $(FPWIDESTRING_DEPS_OS) $(FPWIDESTRING_DEPS_CPU) +fpwidestring$(PPUEXT): $(FPWIDESTRING_DEPS) + $(COMPILER) $(FPWIDESTRING_OPT) $< +System.FPWideString$(PPUEXT): $(NSINC)/System.FPWideString.pp $(FPWIDESTRING_DEPS) + $(COMPILER) -Fi$(OBJPASDIR) $(FPWIDESTRING_OPT) $< +SORTBASE_DEPS=$(INC)/sortbase.pp $(OBJPASUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \ + $(SORTBASE_DEPS_OS) $(SORTBASE_DEPS_CPU) +sortbase$(PPUEXT) : $(SORTBASE_DEPS) + $(COMPILER) $(SORTBASE_OPT) $< +System.SortBase$(PPUEXT) : $(NSINC)/System.SortBase.pp $(SORTBASE_DEPS) + $(COMPILER) $(SORTBASE_OPT) $< +CALLSPEC_DEPS=$(INC)/callspec.pp \ + $(SYSTEMUNIT)$(PPUEXT) \ + $(CALLSPEC_DEPS_OS) $(CALLSPEC_DEPS_CPU) +callspec$(PPUEXT) : $(CALLSPEC_DEPS) + $(COMPILER) $(CALLSPEC_OPT) $< +System.CallSpec$(PPUEXT) : $(NSINC)/System.CallSpec.pp $(CALLSPEC_DEPS) + $(COMPILER) $(CALLSPEC_OPT) $< +CMEM_DEPS=$(INC)/cmem.pp \ + $(SYSTEMUNIT)$(PPUEXT) \ + $(CMEM_DEPS_OS) $(CMEM_DEPS_CPU) +cmem$(PPUEXT) : $(CMEM_DEPS) + $(COMPILER) $(CMEM_OPT) $< +System.CMem$(PPUEXT) : $(NSINC)/System.CMem.pp $(CMEM_DEPS) + $(COMPILER) $(CMEM_OPT) $< +BASEUNIX_DEPS=$(BASEUNIXDIR)/baseunix.pp $(UNIXINC)/ctypes.inc \ + $(UNIXINC)/bunxh.inc $(UNIXINC)/gensigset.inc $(OSDIR)/ptypes.inc $(OSDIR)/errno.inc \ + $(UNIXTYPEUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \ + $(BASEUNIX_DEPS_OS) $(BASEUNIX_DEPS_CPU) +baseunix$(PPUEXT): $(BASEUNIX_DEPS) + $(COMPILER) $(BASEUNIX_OPT) $< +UnixApi.Base$(PPUEXT): $(NSINC)/UnixApi.Base.pp $(BASEUNIX_DEPS) + $(COMPILER) $(BASEUNIX_OPT) $< +UNIX_DEPS=$(UNIXINC)/unix.pp \ + $(STRINGSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) $(BASEUNIXUNIT)$(PPUEXT) \ + $(UNIXUTILUNIT)$(PPUEXT) \ + $(INC)/textrec.inc $(INC)/filerec.inc $(UNIXINC)/timezone.inc \ + $(OSDIR)/unxconst.inc $(OSDIR)/unxfunc.inc \ + $(UNIX_DEPS_OS) $(UNIX_DEPS_CPU) +unix$(PPUEXT): $(UNIX_DEPS) + $(COMPILER) $(UNIX_OPT) $< +UnixApi.Unix$(PPUEXT) : $(NSINC)/UnixApi.Unix.pp $(UNIX_DEPS) + $(COMPILER) $(UNIX_OPT) $< +SYSCALL_DEPS=$(UNIXINC)/syscall.pp \ + $(SYSTEMUNIT)$(PPUEXT) \ + $(SYSCALL_DEPS_OS) $(SYSCALL_DEPS_CPU) +syscall$(PPUEXT) : $(SYSCALL_DEPS) + $(COMPILER) $(SYSCALL_OPT) $< +UnixApi.SysCall$(PPUEXT) : $(NSINC)/UnixApi.SysCall.pp $(SYSCALL_DEPS) + $(COMPILER) $(SYSCALL_OPT) $< +UNIXUTIL_DEPS=$(UNIXINC)/unixutil.pp $(INC)/textrec.inc $(INC)/filerec.inc \ + $(SYSTEMUNIT)$(PPUEXT) \ + $(UNIXUTIL_DEPS_OS) +unixutil$(PPUEXT) : $(UNIXUTIL_DEPS) + $(COMPILER) $(UNIXUTIL_OPT) $< +UnixApi.Utils$(PPUEXT) : $(NSINC)/UnixApi.Utils.pp $(UNIXUTIL_DEPS) + $(COMPILER) $(UNIXUTIL_OPT) $< +ifndef PTYPESINCDIR + PTYPESINCDIR=$(OSDIR) +endif +UNIXTYPE_DEPS=$(UNIXINC)/unixtype.pp \ + $(SYSTEMUNIT)$(PPUEXT) $(PTYPESINCDIR)/ptypes.inc $(UNIXINC)/ctypes.inc \ + $(UNIXTYPE_DEPS_OS) $(UNIXTYPE_DEPS_CPU) +unixtype$(PPUEXT) : $(UNIXTYPE_DEPS) + $(COMPILER) $(UNIXTYPE_OPT) $(UNIXINC)/unixtype.pp +UnixApi.Types$(PPUEXT) : $(NSINC)/UnixApi.Types.pp $(UNIXTYPE_DEPS) + $(COMPILER) $(UNIXTYPE_OPT) $< +DL_DEPS=$(UNIXINC)/dl.pp \ + $(SYSTEMUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) $(CTYPESUNIT)$(PPUEXT) \ + $(DL_DEPS_OS) $(DL_DEPS_CPU) +dl$(PPUEXT) : $(DL_DEPS) + $(COMPILER) $(DL_OPT) $< +UnixApi.Dl$(PPUEXT) : $(NSINC)/UnixApi.Dl.pp $(DL_DEPS) + $(COMPILER) $(DL_OPT) $< +ERRORS_DEPS=$(UNIXINC)/errors.pp \ + $(STRINGSUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \ + $(ERRORS_DEPS_OS) $(ERRORS_DEPS_CPU) +errors$(PPUEXT) : $(ERRORS_DEPS) + $(COMPILER) $(ERRORS_OPT) $< +UnixApi.Errors$(PPUEXT) : $(NSINC)/UnixApi.Errors.pp $(ERRORS_DEPS) + $(COMPILER) $(ERRORS_OPT) $< +CTHREADS_DEPS=$(UNIXINC)/cthreads.pp $(PTHREADINCDIR)/pthread.inc \ + $(SYSTEMUNIT)$(PPUEXT) $(OBJPASUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) $(UNIXUNIT)$(PPUEXT) \ + $(BASEUNIXUNIT)$(PPUEXT) $(INITCUNIT)$(PPUEXT) $(DLUNIT)$(PPUEXT) \ + $(CTHREADS_DEPS_OS) $(CTHREADS_DEPS_CPU) +cthreads$(PPUEXT) : $(CTHREADS_DEPS) + $(COMPILER) $(CTHREADS_OPT) $< +UnixApi.CThreads$(PPUEXT) : $(NSINC)/UnixApi.CThreads.pp $(CTHREADS_DEPS) + $(COMPILER) $(CTHREADS_OPT) $< +NOTHREADS_DEPS=$(SYSTEMUNIT)$(PPUEXT) $(OBJPASUNIT)$(PPUEXT) +nothreads$(PPUEXT) : $(INC)/nothreads.pp $(NOTHREADS_DEPS) + $(COMPILER) $(NOTHREADS_OPT) $< +System.NoThreads$(PPUEXT) : $(NSINC)/System.NoThreads.pp $(NOTHREADS_DEPS) + $(COMPILER) $(NOTHREADS_OPT) $< +ifndef CWSTRINGDIR + CWSTRINGDIR=$(UNIXINC) + CWSSTRING_INC=$(RTLDEFSINCDIR)/rtldefs.inc +endif +CWSTRING_DEPS=$(CWSTRINGDIR)/cwstring.pp $(CWSTRING_INC) \ + $(SYSTEMUNIT)$(PPUEXT) $(OBJPASUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) $(BASEUNIXUNIT)$(PPUEXT) \ + $(UNIXUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) $(CTYPESUNIT)$(PPUEXT) \ + $(DYNLIBSUNIT)$(PPUEXT) $(UNIXCPUNIT)$(PPUEXT) \ + $(CWSTRING_DEPS_OS) $(CWSTRING_DEPS_CPU) +cwstring$(PPUEXT) : $(CWSTRING_DEPS) + $(COMPILER) $(CWSTRING_OPT) $< +UnixApi.CWString$(PPUEXT) : $(NSINC)/UnixApi.CWString.pp $(CWSTRING_DEPS) + $(COMPILER) $(CWSTRING_OPT) $< +ifneq ($(UNIXINC),) +ifneq ($(OS_TARGET),macosclassic) + CTYPES_DEPS_OS+=$(UNIXTYPEUNIT)$(PPUEXT) +endif +endif +CTYPES_DEPS=$(INC)/ctypes.pp \ + $(SYSTEMUNIT)$(PPUEXT) \ + $(CTYPES_DEPS_OS) $(CTYPES_DEPS_CPU) +ctypes$(PPUEXT) : $(CTYPES_DEPS) + $(COMPILER) $(CTYPES_OPT) $< +System.CTypes$(PPUEXT) : $(NSINC)/System.CTypes.pp $(CTYPES_DEPS) + $(COMPILER) $(CTYPES_OPT) $< +OBJC_DEPS=$(INC)/objc.pp $(INC)/objc.pp $(INC)/objc1.inc $(INC)/objcnf.inc \ + $(SYSTEMUNIT)$(PPUEXT) $(CTYPESUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) \ + $(OBJC_DEPS_OS) $(OBJC_DEPS_CPU) +objc$(PPUEXT) : $(OBJC_DEPS) + $(COMPILER) $(OBJC_OPT) $< +OBJCBASE_DEPS=$(INC)/objcbase.pp \ + $(SYSTEMUNIT)$(PPUEXT) $(OBJCUNIT)$(PPUEXT) \ + $(OBJCBASE_DEPS_OS) $(OBJCBASE_DEPS_CPU) +objcbase$(PPUEXT) : $(OBJCBASE_DEPS) + $(COMPILER) $(OBJCBASE_OPT) $< +BLOCKRTL_DEPS=$(INC)/blockrtl.pp \ + $(SYSTEMUNIT)$(PPUEXT) $(OBJPASUNIT)$(PPUEXT) $(INITCUNIT)$(PPUEXT) $(CTYPESUNIT)$(PPUEXT) \ + $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU) +blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS) + $(COMPILER) $(BLOCKRTL_OPT) $< +ifndef WININCDIR + WININCDIR = $(WINDIR)/wininc +endif +WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) $(OBJPASUNIT)$(PPUEXT) \ + $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU) +windows$(PPUEXT): $(WINDOWS_DEPS) + $(COMPILER) -Fi$(WININC) $(WINDOWS_OPT) $< +WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS) + $(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $< +WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \ + $(WINDIRS_DEPS_OS) $(WINDIRS_DEPS_CPU) +windirs$(PPUEXT): $(WINDIRS_DEPS) + $(COMPILER) $(WINDIRS_OPT) $< +WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS) + $(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDIRS_OPT) $< +ifndef WINMESSAGESDIR + WINMESSAGESDIR = $(WINDIR) +endif +ifndef WINMESSAGESINCDIR + WINMESSAGESINCDIR = $(WINDIR)/wininc +endif +MESSAGES_DEPS = $(WINMESSAGESDIR)/messages.pp $(WINMESSAGESINCDIR)/messages.inc $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \ + $(MESSAGES_DEPS_OS) $(MESSAGES_DEPS_CPU) +messages$(PPUEXT): $(MESSAGES_DEPS) + $(COMPILER) -Fi$(WINMESSAGESINCDIR) $< +WinApi.Messages$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Messages.pp $(MESSAGES_DEPS) + $(COMPILER) -Fi$(WINMESSAGESINCDIR) -Fi$(WINMMESSAGESDIR) $< +WINTYPES_DEPS = wintypes.pp wintypes.inc $(SYSTEMUNIT)$(PPUEXT) \ + $(WINTYPES_DEPS_OS) $(WINTYPES_DEPS_CPU) +wintypes$(PPUEXT) : $(WINTYPES_DEPS) + $(COMPILER) $< +WinApi.WinTypes$(PPUEXT) : $(NSWINDOWSDIR)/WinApi.WinTypes.pp $(WINTYPES_DEPS) + $(COMPILER) $< +WINPROCS_DEPS = winprocs.pp winprocsh.inc winprocs.inc $(SYSTEMUNIT)$(PPUEXT) $(OBJPASUNIT)$(PPUEXT) $(WINTYPESUNIT)$(PPUEXT) \ + $(WINTYPES_DEPS_OS) $(WINTYPES_DEPS_CPU) +winprocs$(PPUEXT) : $(WINPROCS_DEPS) + $(COMPILER) $< +WinApi.Winprocs$(PPUEXT) : $(NSWINDOWSDIR)/WinApi.WinProcs.pp $(WINPROCS_DEPS) + $(COMPILER) $< +WIN31_DEPS = win31.pp $(SYSTEMUNIT)$(PPUEXT) $(OBJPASUNIT)$(PPUEXT) $(WINTYPESUNIT)$(PPUEXT) \ + $(WINTYPES_DEPS_OS) $(WINTYPES_DEPS_CPU) +win31$(PPUEXT) : $(WIN31_DEPS) + $(COMPILER) $< +WinApi.Win31$(PPUEXT) : $(NSWINDOWSDIR)/WinApi.Win31.pp $(WINPROCS_DEPS) + $(COMPILER) $< +ifeq ($(filter -dFPC_USE_LIBC,$(FPCOPT)),) + SYSCTL_DEPS_OS+=$(SYSCALLUNIT)$(PPUEXT) +endif +SYSCTL_DEPS=$(BSDINC)/sysctl.pp $(SYSTEMUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) \ + $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU) +sysctl$(PPUEXT) : $(SYSCTL_DEPS) + $(COMPILER) $(SYSCTL_OPT) $< +BsdApi.SysCtl$(PPUEXT) : $(NSBSDDIR)/BsdApi.SysCtl.pp $(SYSCTL_DEPS) + $(COMPILER) $(SYSCTL_OPT) $< +BSD_DEPS=$(BSDINC)/bsd.pas $(INITCUNIT)$(PPUEXT) $(UNIXUNIT)$(PPUEXT) \ + $(BSD_DEPS_OS) $(BSD_DEPS_CPU) +bsd$(PPUEXT): $(BSD_DEPS) + $(COMPILER) $(BSD_OPT) $< +BsdApi$(PPUEXT): $(NSBSDDIR)/BsdApi.pp $(BSD_DEPS) + $(COMPILER) $(BSD_OPT) $< +DOSCALLS_DEPS = $(OS2DIR)/doscalls.pas $(STRINGSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \ + $(DOSCALLS_DEPS_OS) $(DOSCALLS_DEPS_CPU) +doscalls$(PPUEXT) : $(DOSCALLS_DEPS) + $(COMPILER) $< +OS2Api.doscalls$(PPUEXT) : $(NSOS2DIR)/OS2Api.doscalls.pas $(DOSCALLS_DEPS) + $(COMPILER) -Fi$(OS2DIR) $< +VIOCALLS_DEPS = $(OS2DIR)/viocalls.pas $(SYSTEMUNIT)$(PPUEXT) \ + $(VIOCALLS_DEPS_OS) $(VIOCALLS_DEPS_CPU) +viocalls$(PPUEXT) : $(VIOCALLS_DEPS) + $(COMPILER) $< +OS2Api.viocalls$(PPUEXT) : $(NSOS2DIR)/OS2Api.viocalls.pas $(VIOCALLS_DEPS) + $(COMPILER) -Fi$(OS2DIR) $< +SO32DLL_DEPS = $(OS2DIR)/so32dll.pas $(SYSTEMUNIT)$(PPUEXT) \ + $(SO32DLL_DEPS_OS) $(SO32DLL_DEPS_CPU) +so32dll$(PPUEXT) : $(SO32DLL_DEPS) + $(COMPILER) $< +OS2Api.so32dll$(PPUEXT) : $(NSOS2DIR)/OS2Api.so32dll.pas $(SO32DLL_DEPS) + $(COMPILER) -Fi$(OS2DIR) $< +KBDCALLS_DEPS = $(OS2DIR)/kbdcalls.pas $(SYSTEMUNIT)$(PPUEXT) \ + $(KBDCALLS_DEPS_OS) $(KBDCALLS_DEPS_CPU) +kbdcalls$(PPUEXT) : $(KBDCALLS_DEPS) + $(COMPILER) $< +OS2Api.kbdcalls$(PPUEXT) : $(NSOS2DIR)/OS2Api.kbdcalls.pas $(KBDCALLS_DEPS) + $(COMPILER) -Fi$(OS2DIR) $< +MOUCALLS_DEPS = $(OS2DIR)/moucalls.pas $(SYSTEMUNIT)$(PPUEXT) \ + $(MOUCALLS_DEPS_OS) $(MOUCALLS_DEPS_CPU) +moucalls$(PPUEXT) : $(MOUCALLS_DEPS) + $(COMPILER) $< +OS2Api.moucalls$(PPUEXT) : $(NSOS2DIR)/OS2Api.moucalls.pas $(MOUCALLS_DEPS) + $(COMPILER) -Fi$(OS2DIR) $< +MONCALLS_DEPS = $(OS2DIR)/moncalls.pas $(STRINGSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \ + $(MONCALLS_DEPS_OS) $(MONCALLS_DEPS_CPU) +moncalls$(PPUEXT) : $(MONCALLS_DEPS) + $(COMPILER) $< +OS2Api.moncalls$(PPUEXT) : $(NSOS2DIR)/OS2Api.moncall.pas $(MONCALLS_DEPS) + $(COMPILER) -Fi$(OS2DIR) $< +OS2DEF_DEPS = $(OS2DIR)/os2def.pas $(SYSTEMUNIT)$(PPUEXT) \ + $(OS2DEF_DEPS_OS) $(OS2DEF_DEPS_CPU) +os2def$(PPUEXT) : $(OS2DEF_DEPS) + $(COMPILER) $< +OS2Api.os2def$(PPUEXT) : $(NSOS2DIR)/OS2Api.os2def.pas $(OS2DEF_DEPS) + $(COMPILER) -Fi$(OS2DIR) $< +DOSCALL2_DEPS = $(OS2DIR)/doscall2.pas $(DOSCALLSUNIT)$(PPUEXT) $(OS2DEFUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \ + $(DOSCALL2_DEPS_OS) $(DOSCALL2_DEPS_CPU) +doscall2$(PPUEXT) : $(DOSCALL2_DEPS) + $(COMPILER) $< +OS2Api.doscall2$(PPUEXT) : $(NSOS2DIR)/OS2Api.doscall2.pas $(DOSCALL2_DEPS) + $(COMPILER) -Fi$(OS2DIR) $< +PMWIN_DEPS = $(OS2DIR)/pmwin.pas $(OS2DEFUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \ + $(PMWIN_DEPS_OS) $(PMWIN_DEPS_CPU) +pmwin$(PPUEXT) : $(PMWIN_DEPS) + $(COMPILER) $< +OS2Api.pmwin$(PPUEXT) : $(NSOS2DIR)/OS2Api.pmwin.pas $(PMWIN_DEPS) + $(COMPILER) -Fi$(OS2DIR) $< +PMBITMAP_DEPS = $(OS2DIR)/pmbitmap.pas $(SYSTEMUNIT)$(PPUEXT) \ + $(PMBITMAP_DEPS_OS) $(PMBITMAP_DEPS_CPU) +pmbitmap$(PPUEXT) : $(PMBITMAP_DEPS) + $(COMPILER) $< +OS2Api.pmbitmap$(PPUEXT) : $(NSOS2DIR)/OS2Api.pmbitmap.pas $(PMBITMAP_DEPS) + $(COMPILER) -Fi$(OS2DIR) $< +PMGPI_DEPS = $(OS2DIR)/pmgpi.pas $(PMBITMAPUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \ + $(PMGPI_DEPS_OS) $(PMGPI_DEPS_CPU) +pmgpi$(PPUEXT) : $(PMGPI_DEPS) + $(COMPILER) $< +OS2Api.pmgpi$(PPUEXT) : $(NSOS2DIR)/OS2Api.pmgpi.pas $(PMGPI_DEPS) + $(COMPILER) -Fi$(OS2DIR) $< +PMSTDDLG_DEPS = $(OS2DIR)/pmstddlg.pas $(OS2DEFUNIT)$(PPUEXT) $(DOSCALLSUNIT)$(PPUEXT) \ + $(PMWINUNIT)$(PPUEXT) $(PMGPIUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \ + $(PMSTDDLG_DEPS_OS) $(PMSTDDLG_DEPS_CPU) +pmstddlg$(PPUEXT) : $(PMSTDDLG_DEPS) + $(COMPILER) $< +OS2Api.pmstddlg$(PPUEXT) : $(NSOS2DIR)/OS2Api.pmstddlg.pas $(PMSTDDLG_DEPS) + $(COMPILER) -Fi$(OS2DIR) $< +PMHELP_DEPS = $(OS2DIR)/pmhelp.pas $(OS2DEFUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \ + $(PMHELP_DEPS_OS) $(PMHELP_DEPS_CPU) +pmhelp$(PPUEXT) : $(PMHELP_DEPS) + $(COMPILER) $< +OS2Api.pmhelp$(PPUEXT) : $(NSOS2DIR)/OS2Api.pmhelp.pas $(PMHELP_DEPS) + $(COMPILER) -Fi$(OS2DIR) $< +PMDEV_DEPS = $(OS2DIR)/pmdev.pas $(OS2DEFUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \ + $(PMDEV_DEPS_OS) $(PMDEV_DEPS_CPU) +pmdev$(PPUEXT) : $(PMDEV_DEPS) + $(COMPILER) $< +OS2Api.pmdev$(PPUEXT) : $(NSOS2DIR)/OS2Api.pmdev.pas $(PMDEV_DEPS) + $(COMPILER) -Fi$(OS2DIR) $< +PMSPL_DEPS = $(OS2DIR)/pmspl.pas $(OS2DEFUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \ + $(PMSPL_DEPS_OS) $(PMSPL_DEPS_CPU) +pmspl$(PPUEXT) : $(PMSPL_DEPS) + $(COMPILER) $< +OS2Api.pmspl$(PPUEXT) : $(NSOS2DIR)/OS2Api.pmspl.pas $(PMSPL_DEPS) + $(COMPILER) -Fi$(OS2DIR) $< +PMSHL_DEPS = $(OS2DIR)/pmshl.pas $(OS2DEFUNIT)$(PPUEXT) $(PMWINUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \ + $(PMSHL_DEPS_OS) $(PMSHL_DEPS_CPU) +pmshl$(PPUEXT) : $(PMSHL_DEPS) + $(COMPILER) $< +OS2Api.pmshl$(PPUEXT) : $(NSOS2DIR)/OS2Api.pmshl.pas $(PMSHL_DEPS) + $(COMPILER) -Fi$(OS2DIR) $< +PMWP_DEPS = $(OS2DIR)/pmwp.pas $(OS2DEFUNIT)$(PPUEXT) $(PMWINUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \ + $(PMWP_DEPS_OS) $(PMWP_DEPS_CPU) +pmwp$(PPUEXT) : $(PMWP_DEPS) + $(COMPILER) $< +OS2Api.pmwp$(PPUEXT) : $(NSOS2DIR)/OS2Api.pmwp.pas $(PMWP_DEPS) + $(COMPILER) -Fi$(OS2DIR) $< +PMWSOCK_DEPS = $(OS2DIR)/pmwsock.pas $(OS2DEFUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \ + $(PMWSOCK_DEPS_OS) $(PMWSOCK_DEPS_CPU) +pmwsock$(PPUEXT) : $(PMWSOCK_DEPS) + $(COMPILER) $< +OS2Api.pmwsock$(PPUEXT) : $(NSOS2DIR)/OS2Api.pmwsock.pas $(PMWSOCK_DEPS) + $(COMPILER) -Fi$(OS2DIR) $< +PMBIDI_DEPS = $(OS2DIR)/pmbidi.pas $(OS2DEFUNIT)$(PPUEXT) $(PMWIN)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \ + $(PMBIDI_DEPS_OS) $(PMBIDI_DEPS_CPU) +pmbidi$(PPUEXT) : $(PMBIDI_DEPS) + $(COMPILER) $< +OS2Api.pmbidi$(PPUEXT) : $(NSOS2DIR)/OS2Api.pmbidi.pas $(PMBIDI_DEPS) + $(COMPILER) -Fi$(OS2DIR) $< +EXE_DEPS = $(OS2DIR)/exe.pas $(SYSTEMUNIT)$(PPUEXT) \ + $(EXE_DEPS_OS) $(EXE_DEPS_CPU) +exe$(PPUEXT) : $(EXE_DEPS) + $(COMPILER) $< +OS2Api.exe$(PPUEXT) : $(NSOS2DIR)/OS2Api.exe.pas $(EXE_DEPS) + $(COMPILER) -Fi$(OS2DIR) $< +NEWEXE_DEPS = $(OS2DIR)/newexe.pas $(SYSTEMUNIT)$(PPUEXT) \ + $(NEWEXE_DEPS_OS) $(NEWEXE_DEPS_CPU) +newexe$(PPUEXT) : $(NEWEXE_DEPS) + $(COMPILER) $< +OS2Api.newexe$(PPUEXT) : $(NSOS2DIR)/OS2Api.newexe.pas $(NEWEXE_DEPS) + $(COMPILER) -Fi$(OS2DIR) $< include $(INC)/makefile.inc SYSINCDEPS=$(addprefix $(INC)/,$(SYSINCNAMES)) include $(PROCINC)/makefile.cpu diff --git a/rtl/ps1/system.pp b/rtl/ps1/system.pp index 3784c13f3a..6646d0810a 100644 --- a/rtl/ps1/system.pp +++ b/rtl/ps1/system.pp @@ -1,13 +1,7 @@ unit system; interface -{$define FPC_IS_SYSTEM} {$DEFINE FPCRTL_FILESYSTEM_SINGLE_BYTE_API} -{$define FPC_HAS_FEATURE_DYNLIBS} -{$define FPC_HAS_FEATURE_INITFINAL} -{$define FPC_HAS_FEATURE_ANSISTRINGS} -{define USE_NOTHREADMANAGER} -{$define FPC_HAS_FEATURE_THREADING} {$I systemh.inc} @@ -18,9 +12,9 @@ var implementation -procedure _InitHeap(p: pdword; l: dword); external name 'InitHeap'; -procedure _free(p: pointer); external name 'free'; -function _malloc(l: dword): pointer; external name 'malloc'; +procedure _InitHeap(p: pdword; l: dword); external name 'InitHeap2'; +procedure _free(p: pointer); external name 'free2'; +function _malloc(l: dword): pointer; external name 'malloc2'; const @@ -84,5 +78,4 @@ end; begin InOutRes:= 0; _InitHeap(pdword($800F8000), $00100000); - InitSystemThreads; end. \ No newline at end of file diff --git a/test.pas b/test.pas index 607f645d55..2f6695d523 100644 --- a/test.pas +++ b/test.pas @@ -1,223 +1,21 @@ {$MODE OBJFPC} -uses libstd, libcd, libcomb, libds, libetc, libgpu, libgte; - - -procedure GsInitGraph(x, y, intmode, dith, varmmode: word); stdcall; external; - -const - MODE_NTSC = 0; - MODE_PAL = 1; - - - -const - OTSIZE = 4096; - - vertices : array [0..7] of SVECTOR = ( - (vx: -128; vy: -128; vz: -128; pad: 0 ), - (vx: 128; vy: -128; vz: -128; pad: 0 ), - (vx: 128; vy: -128; vz: 128; pad: 0 ), - (vx: -128; vy: -128; vz: 128; pad: 0 ), - (vx: -128; vy: 128; vz: -128; pad: 0 ), - (vx: 128; vy: 128; vz: -128; pad: 0 ), - (vx: 128; vy: 128; vz: 128; pad: 0 ), - (vx: -128; vy: 128; vz: 128; pad: 0 )); - - faces : array [0..35] of smallint = ( - 0, 3, 2, // top - 0, 2, 1, // top - 4, 0, 1, // front - 4, 1, 5, // front - 7, 4, 5, // bottom - 7, 5, 6, // bottom - 5, 1, 2, // right - 5, 2, 6, // right - 2, 3, 7, // back - 2, 7, 6, // back - 0, 4, 7, // left - 0, 7, 3 // left - ); - -type - - DoubleBuff = packed record - draw : DRAWENV; - disp : DISPENV; - end; - +{$H+} +uses libstd; var - screen : array [0..1] of DoubleBuff; // Struct to hold the display & draw buffers - currbuff : byte; // Holds the current buffer number (0 or 1) - - ot : array[0..1, 0..OTSIZE] of dword; - - i : longint; - ii : longint; - otz : longint; - counter : dword; - - poly : array [0..11] of POLY_G3; - - -procedure setRGB0(var c: DRAWENV; r, g, b: byte); -begin - c.r0:=r; - c.g0:=g; - c.b0:=b; -end; - - -procedure ScreenInit(width, height: dword); -begin - - ResetGraph(0); - InitGeom(); - - SetGraphDebug(0); - - - SetVideoMode(MODE_PAL); - GsInitGraph(width, height, 0, 0, 0); - - - SetDefDispEnv(@screen[0].disp, 0, 0, width, height); - SetDefDispEnv(@screen[1].disp, 0, height, width, height); - - SetDefDrawEnv(@screen[0].draw, 0, height, width, height); - SetDefDrawEnv(@screen[1].draw, 0, 0, width, height); - - screen[0].disp.screen.x:= 0; - screen[0].disp.screen.y:= 0; - screen[1].disp.screen.x:= 0; - screen[1].disp.screen.y:= 0; - - screen[0].disp.screen.h:= 256; - screen[0].disp.screen.w:= 0; - screen[1].disp.screen.h:= 256; - screen[1].disp.screen.w:= 0; - - - screen[0].draw.isbg:= 1; - screen[1].draw.isbg:= 1; - - // Set the background clear color - setRGB0(screen[0].draw, 0, 0, 0); - setRGB0(screen[1].draw, 0, 0, 0); - - - // Initialize and setup the GTE geometry offsets - SetGeomOffset(width div 2, height div 2); - SetGeomScreen(100); - - SetDispMask(1); - - // Set the current initial buffer - currbuff:= 0; - PutDispEnv(@screen[currbuff].disp); - PutDrawEnv(@screen[currbuff].draw); - -end; - - -procedure DisplayFrame; -begin - - // Set the current display & draw buffers - PutDispEnv(@screen[currbuff].disp); - PutDrawEnv(@screen[currbuff].draw); - - DrawOTag(@ot[currbuff, OTSIZE - 1]); - - FntFlush(-1); - - if currbuff = 0 then currbuff:=1 else currbuff:=0; - - // Sync and wait for vertical blank - DrawSync(0); - VSync(0); - -end; - - -var - rotation : SVECTOR; - translation : VECTOR; - transform : MATRIX; - - p : pointer; - flg : pointer; - nclip : longint; - - ch: pchar; - d: dword; - - + s : string; begin + printf('GO'#10);; - ScreenInit(320, 256); + s:= 'Hallo'; + s:= s + '!' ; + if s <> 'Hallo' then begin + printf('cool'#10); + end; - FntLoad(960, 256); - SetDumpFnt(FntOpen(0, 100, 200, 200, 0, 512)); + s:= s + #10 + #0; - rotation.vx:= 0; - rotation.vy:= 0; - rotation.vz:= 0; + printf(pchar(@s[1])); - translation.vx:= 0; - translation.vy:= 0; - translation.vz:= 500; - - counter:= 1; - -// srand(1234); -//randomize; - - - repeat - - ClearOTagR(@ot[currbuff], OTSIZE); - - - - rotation.vx += 6; - rotation.vy += 8; - rotation.vz += 12; - - RotMatrix(@rotation, @transform); - TransMatrix(@transform, @translation); - - SetRotMatrix(@transform); - SetTransMatrix(@transform); - - for i:= 0 to 11 do begin - setPolyG3(@poly[i]); - - poly[i].r0:= 255; poly[i].g0:=0; poly[i].b0:= 0; - poly[i].r1:= 0; poly[i].g1:=255; poly[i].b1:= 0; - poly[i].r2:= 0; poly[i].g2:=0; poly[i].b2:= 255; - { - otz:= 0; - otz:= otz + RotTransPers(@vertices[faces[i * 3 + 0]], @poly[i].x0, @p, @flg); - otz:= otz + RotTransPers(@vertices[faces[i * 3 + 1]], @poly[i].x1, @p, @flg); - otz:= otz + RotTransPers(@vertices[faces[i * 3 + 2]], @poly[i].x2, @p, @flg); - otz:= otz div 3; - } - nclip:= RotAverageNclip3(@vertices[faces[i * 3 + 0]], @vertices[faces[i * 3 + 1]], @vertices[faces[i * 3 + 2]], @poly[i].x0, @poly[i].x1, @poly[i].x2, @p, @otz, @flg); - if nclip <= 0 then continue; - - if (otz > 0) and (otz < OTSIZE) then addPrim(@ot[currbuff, otz], @poly[i]); - end; - - - counter:= counter + 1; - - FntPrint('Hello from FPC %d', counter); - - - DisplayFrame; - - until false; - -end. \ No newline at end of file +end. \ No newline at end of file