From e19103e9a9a7e2269542ffa44601a674a05e8c05 Mon Sep 17 00:00:00 2001
From: florian <florian@freepascal.org>
Date: Sun, 27 Aug 2023 10:48:41 +0200
Subject: [PATCH]   * missing file to build added, as mentioned by Mathew
 Bradford   * Makefile regenerated

---
 rtl/embedded/Makefile     | 2439 +++++++++++++++++++------------------
 rtl/embedded/Makefile.fpc |    2 +-
 2 files changed, 1262 insertions(+), 1179 deletions(-)

diff --git a/rtl/embedded/Makefile b/rtl/embedded/Makefile
index 3bc491b8be..a5beab74d8 100644
--- a/rtl/embedded/Makefile
+++ b/rtl/embedded/Makefile
@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 default: all
-MAKEFILETARGETS=i386-embedded m68k-embedded powerpc-embedded sparc-embedded x86_64-embedded arm-embedded powerpc64-embedded avr-embedded armeb-embedded mipsel-embedded i8086-embedded aarch64-embedded wasm32-embedded riscv32-embedded riscv64-embedded xtensa-embedded z80-embedded
+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 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 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
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari
@@ -102,7 +102,6 @@ endif
 export ECHO
 endif
 override OS_TARGET_DEFAULT=embedded
-override DEFAULT_FPCDIR=../..
 ifndef FPC
 ifdef PP
 FPC=$(PP)
@@ -369,508 +368,6 @@ 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=System.Errors
-ESP32UNIT=System.Esp32
-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
-EXEUNIT=OS2Api.exe
-EXEINFOUNIT=System.Exeinfo
-EXTPASUNIT=extpas
-FE310G000UNIT=EmbeddedApi.fe310g000
-FE310G002UNIT=EmbeddedApi.fe310g002
-FGLUNIT=System.FGL
-FPCMEMDLLUNIT=System.FPCMemDLL
-FPCYLIXUNIT=fpcylix
-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=System.LineInfo
-LINUXUNIT=LinuxApi
-LINUXVCSUNIT=LinuxApi.Vcs
-LM3FURYUNIT=EmbeddedApi.lm3fury
-LM3TEMPESTUNIT=EmbeddedApi.lm3tempest
-LM4F120UNIT=EmbeddedApi.lm4f120
-LNFODWRFUNIT=System.LineInfo.Dwarf
-LNFOGDBUNIT=System.LineInfo.Gdb
-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
-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
-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
-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
-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
-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
-EXEINFOUNIT=System.ExeInfo
-ERRORSUNIT=UnixApi.Errors
-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
-ESP8266UNIT=esp8266
-ESP8266RTOS_30300UNIT=esp8266rtos_30300
-ESP8266RTOS_30400UNIT=esp8266rtos_30400
-ESPIDF_40100UNIT=espidf_40100
-ESPIDF_40200UNIT=espidf_40200
-ESPIDF_40400UNIT=espidf_40400
-EXEUNIT=exe
-EXEINFOUNIT=exeinfo
-EXTPASUNIT=extpas
-FE310G000UNIT=fe310g000
-FE310G002UNIT=fe310g002
-FGLUNIT=fgl
-FPCMEMDLLUNIT=fpcmemdll
-FPCYLIXUNIT=fpcylix
-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
-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
-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
-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
-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
-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
-endif
-ifdef FPC_DOTTEDUNITS
-NS_SYSTEM=System.
-NS_CPUNITS=System.CodePages.
-NSDIR=$(RTL)/namespaced
-NSINC=$(NSDIR)/common
-OPT:=$(OPT) -dFPC_DOTTEDUNITS
-BASEINCLUDE=$(INC) $(PROCINC)
-BASESOURCE=$(INC) $(PROCINC) $($(COMMONUNIT))
-endif
-CPUNITSBASE=$(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)
-CPUNITS=$(addprefix $(NS_CPUNITS),$(CPUNITSBASE))
 RTL=..
 INC=$(RTL)/inc
 COMMON=$(RTL)/common
@@ -1031,14 +528,25 @@ $(error No CPUs enabled for given SUBARCH, pass either a SUBARCH or set CPU_UNIT
 endif
 endif
 ifeq ($(ARCH),riscv32)
+CPU_SPECIFIC_COMMON_UNITS=sysutils math classes fgl macpas typinfo types rtlconsts getopts lineinfo
+ifeq ($(SUBARCH),rv32ec)
+override FPCOPT+=-Cprv32ec
+CPU_UNITS=CH32VxBootstrap
+CPU_UNITS_DEFINED=1
+endif
+ifeq ($(SUBARCH),rv32e)
+override FPCOPT+=-Cprv32e
+CPU_UNITS=CH32VxBootstrap
+CPU_UNITS_DEFINED=1
+endif
 ifeq ($(SUBARCH),rv32imac)
 override FPCOPT+=-Cprv32imac
-CPU_UNITS=$(FE310G000UNIT) $(FE310G002UNIT) $(GD32VF103XXUNIT)
+CPU_UNITS=CH32VxBootstrap $(FE310G000UNIT) $(FE310G002UNIT) $(GD32VF103XXUNIT)
 CPU_UNITS_DEFINED=1
 endif
 ifeq ($(SUBARCH),rv32i)
 override FPCOPT+=-Cprv32i
-CPU_UNITS=
+CPU_UNITS=CH32VxBootstrap
 CPU_UNITS_DEFINED=1
 endif
 ifeq ($(CPU_UNITS_DEFINED),)
@@ -1065,211 +573,1339 @@ ifeq ($(ARCH),wasm32)
 CPU_SPECIFIC_COMMON_UNITS:=$(filter-out $(LINEINFOUNIT), $(CPU_SPECIFIC_COMMON_UNITS))
 endif
 OBJPASDIR=$(RTL)/objpas
+ifeq ($(CPU_OS_TARGET),i386-linux)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
+ifeq ($(CPU_OS_TARGET),i386-go32v2)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
+ifeq ($(CPU_OS_TARGET),i386-win32)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
+ifeq ($(CPU_OS_TARGET),i386-os2)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
+ifeq ($(CPU_OS_TARGET),i386-freebsd)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
+ifeq ($(CPU_OS_TARGET),i386-beos)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
+ifeq ($(CPU_OS_TARGET),i386-haiku)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
+ifeq ($(CPU_OS_TARGET),i386-netbsd)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
+ifeq ($(CPU_OS_TARGET),i386-solaris)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
+ifeq ($(CPU_OS_TARGET),i386-netware)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
+ifeq ($(CPU_OS_TARGET),i386-openbsd)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
+ifeq ($(CPU_OS_TARGET),i386-wdosx)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
+ifeq ($(CPU_OS_TARGET),i386-darwin)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
+ifeq ($(CPU_OS_TARGET),i386-emx)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
+ifeq ($(CPU_OS_TARGET),i386-watcom)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
+ifeq ($(CPU_OS_TARGET),i386-netwlibc)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
+ifeq ($(CPU_OS_TARGET),i386-wince)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
 ifeq ($(CPU_OS_TARGET),i386-embedded)
 override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
 endif
+ifeq ($(CPU_OS_TARGET),i386-symbian)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
+ifeq ($(CPU_OS_TARGET),i386-nativent)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
+ifeq ($(CPU_OS_TARGET),i386-iphonesim)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
+ifeq ($(CPU_OS_TARGET),i386-android)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
+ifeq ($(CPU_OS_TARGET),i386-aros)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
+ifeq ($(CPU_OS_TARGET),m68k-linux)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
+ifeq ($(CPU_OS_TARGET),m68k-netbsd)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
+ifeq ($(CPU_OS_TARGET),m68k-amiga)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
+ifeq ($(CPU_OS_TARGET),m68k-atari)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
+ifeq ($(CPU_OS_TARGET),m68k-palmos)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
+ifeq ($(CPU_OS_TARGET),m68k-macosclassic)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
 ifeq ($(CPU_OS_TARGET),m68k-embedded)
 override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
 endif
+ifeq ($(CPU_OS_TARGET),m68k-sinclairql)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
+ifeq ($(CPU_OS_TARGET),powerpc-linux)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
+ifeq ($(CPU_OS_TARGET),powerpc-netbsd)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
+ifeq ($(CPU_OS_TARGET),powerpc-amiga)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
+ifeq ($(CPU_OS_TARGET),powerpc-macosclassic)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
+ifeq ($(CPU_OS_TARGET),powerpc-darwin)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
+ifeq ($(CPU_OS_TARGET),powerpc-morphos)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
 ifeq ($(CPU_OS_TARGET),powerpc-embedded)
 override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
 endif
+ifeq ($(CPU_OS_TARGET),powerpc-wii)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
+ifeq ($(CPU_OS_TARGET),powerpc-aix)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
+ifeq ($(CPU_OS_TARGET),sparc-linux)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
+ifeq ($(CPU_OS_TARGET),sparc-netbsd)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
+ifeq ($(CPU_OS_TARGET),sparc-solaris)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
 ifeq ($(CPU_OS_TARGET),sparc-embedded)
 override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
 endif
+ifeq ($(CPU_OS_TARGET),x86_64-linux)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
+ifeq ($(CPU_OS_TARGET),x86_64-freebsd)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
+ifeq ($(CPU_OS_TARGET),x86_64-haiku)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
+ifeq ($(CPU_OS_TARGET),x86_64-netbsd)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
+ifeq ($(CPU_OS_TARGET),x86_64-solaris)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
+ifeq ($(CPU_OS_TARGET),x86_64-openbsd)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
+ifeq ($(CPU_OS_TARGET),x86_64-darwin)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
+ifeq ($(CPU_OS_TARGET),x86_64-win64)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
 ifeq ($(CPU_OS_TARGET),x86_64-embedded)
 override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
 endif
+ifeq ($(CPU_OS_TARGET),x86_64-iphonesim)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
+ifeq ($(CPU_OS_TARGET),x86_64-android)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
+ifeq ($(CPU_OS_TARGET),x86_64-aros)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
+ifeq ($(CPU_OS_TARGET),x86_64-dragonfly)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
+ifeq ($(CPU_OS_TARGET),arm-linux)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
+ifeq ($(CPU_OS_TARGET),arm-netbsd)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
+ifeq ($(CPU_OS_TARGET),arm-palmos)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
+ifeq ($(CPU_OS_TARGET),arm-wince)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
+ifeq ($(CPU_OS_TARGET),arm-gba)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
+ifeq ($(CPU_OS_TARGET),arm-nds)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
 ifeq ($(CPU_OS_TARGET),arm-embedded)
 override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
 endif
+ifeq ($(CPU_OS_TARGET),arm-symbian)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
+ifeq ($(CPU_OS_TARGET),arm-android)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
+ifeq ($(CPU_OS_TARGET),arm-aros)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
+ifeq ($(CPU_OS_TARGET),arm-freertos)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
+ifeq ($(CPU_OS_TARGET),arm-ios)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
+ifeq ($(CPU_OS_TARGET),powerpc64-linux)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
+ifeq ($(CPU_OS_TARGET),powerpc64-darwin)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
 ifeq ($(CPU_OS_TARGET),powerpc64-embedded)
 override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
 endif
+ifeq ($(CPU_OS_TARGET),powerpc64-aix)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
 ifeq ($(CPU_OS_TARGET),avr-embedded)
 override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
 endif
+ifeq ($(CPU_OS_TARGET),armeb-linux)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
 ifeq ($(CPU_OS_TARGET),armeb-embedded)
 override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
 endif
+ifeq ($(CPU_OS_TARGET),mips-linux)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
+ifeq ($(CPU_OS_TARGET),mipsel-linux)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
 ifeq ($(CPU_OS_TARGET),mipsel-embedded)
 override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
 endif
+ifeq ($(CPU_OS_TARGET),mipsel-android)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
+ifeq ($(CPU_OS_TARGET),mips64-linux)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
+ifeq ($(CPU_OS_TARGET),mips64el-linux)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
+ifeq ($(CPU_OS_TARGET),jvm-java)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
+ifeq ($(CPU_OS_TARGET),jvm-android)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
 ifeq ($(CPU_OS_TARGET),i8086-embedded)
 override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
 endif
+ifeq ($(CPU_OS_TARGET),i8086-msdos)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
+ifeq ($(CPU_OS_TARGET),i8086-win16)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
+ifeq ($(CPU_OS_TARGET),aarch64-linux)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
+ifeq ($(CPU_OS_TARGET),aarch64-freebsd)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
+ifeq ($(CPU_OS_TARGET),aarch64-darwin)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
+ifeq ($(CPU_OS_TARGET),aarch64-win64)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
 ifeq ($(CPU_OS_TARGET),aarch64-embedded)
 override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
 endif
+ifeq ($(CPU_OS_TARGET),aarch64-iphonesim)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
+ifeq ($(CPU_OS_TARGET),aarch64-android)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
+ifeq ($(CPU_OS_TARGET),aarch64-ios)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
 ifeq ($(CPU_OS_TARGET),wasm32-embedded)
 override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasi)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
+ifeq ($(CPU_OS_TARGET),sparc64-linux)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
+ifeq ($(CPU_OS_TARGET),riscv32-linux)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
 ifeq ($(CPU_OS_TARGET),riscv32-embedded)
 override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
 endif
+ifeq ($(CPU_OS_TARGET),riscv32-freertos)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
+ifeq ($(CPU_OS_TARGET),riscv64-linux)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
 ifeq ($(CPU_OS_TARGET),riscv64-embedded)
 override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
 endif
+ifeq ($(CPU_OS_TARGET),xtensa-linux)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
 ifeq ($(CPU_OS_TARGET),xtensa-embedded)
 override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
 endif
+ifeq ($(CPU_OS_TARGET),xtensa-freertos)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
 ifeq ($(CPU_OS_TARGET),z80-embedded)
 override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
 endif
+ifeq ($(CPU_OS_TARGET),z80-zxspectrum)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
+ifeq ($(CPU_OS_TARGET),z80-msxdos)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
+ifeq ($(CPU_OS_TARGET),z80-amstradcpc)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
+ifeq ($(CPU_OS_TARGET),loongarch64-linux)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 extpas $(HEAPMGRUNIT) $(CONSOLEIOUNIT) $(CPU_SPECIFIC_COMMON_UNITS) $(STRINGSUNIT) $(SORTBASEUNIT) $(DOSUNIT) $(CTYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(SYSCONSTUNIT)
+endif
+ifeq ($(CPU_OS_TARGET),i386-linux)
+override TARGET_LOADERS+=$(LOADERS)
+endif
+ifeq ($(CPU_OS_TARGET),i386-go32v2)
+override TARGET_LOADERS+=$(LOADERS)
+endif
+ifeq ($(CPU_OS_TARGET),i386-win32)
+override TARGET_LOADERS+=$(LOADERS)
+endif
+ifeq ($(CPU_OS_TARGET),i386-os2)
+override TARGET_LOADERS+=$(LOADERS)
+endif
+ifeq ($(CPU_OS_TARGET),i386-freebsd)
+override TARGET_LOADERS+=$(LOADERS)
+endif
+ifeq ($(CPU_OS_TARGET),i386-beos)
+override TARGET_LOADERS+=$(LOADERS)
+endif
+ifeq ($(CPU_OS_TARGET),i386-haiku)
+override TARGET_LOADERS+=$(LOADERS)
+endif
+ifeq ($(CPU_OS_TARGET),i386-netbsd)
+override TARGET_LOADERS+=$(LOADERS)
+endif
+ifeq ($(CPU_OS_TARGET),i386-solaris)
+override TARGET_LOADERS+=$(LOADERS)
+endif
+ifeq ($(CPU_OS_TARGET),i386-netware)
+override TARGET_LOADERS+=$(LOADERS)
+endif
+ifeq ($(CPU_OS_TARGET),i386-openbsd)
+override TARGET_LOADERS+=$(LOADERS)
+endif
+ifeq ($(CPU_OS_TARGET),i386-wdosx)
+override TARGET_LOADERS+=$(LOADERS)
+endif
+ifeq ($(CPU_OS_TARGET),i386-darwin)
+override TARGET_LOADERS+=$(LOADERS)
+endif
+ifeq ($(CPU_OS_TARGET),i386-emx)
+override TARGET_LOADERS+=$(LOADERS)
+endif
+ifeq ($(CPU_OS_TARGET),i386-watcom)
+override TARGET_LOADERS+=$(LOADERS)
+endif
+ifeq ($(CPU_OS_TARGET),i386-netwlibc)
+override TARGET_LOADERS+=$(LOADERS)
+endif
+ifeq ($(CPU_OS_TARGET),i386-wince)
+override TARGET_LOADERS+=$(LOADERS)
+endif
 ifeq ($(CPU_OS_TARGET),i386-embedded)
 override TARGET_LOADERS+=$(LOADERS)
 endif
+ifeq ($(CPU_OS_TARGET),i386-symbian)
+override TARGET_LOADERS+=$(LOADERS)
+endif
+ifeq ($(CPU_OS_TARGET),i386-nativent)
+override TARGET_LOADERS+=$(LOADERS)
+endif
+ifeq ($(CPU_OS_TARGET),i386-iphonesim)
+override TARGET_LOADERS+=$(LOADERS)
+endif
+ifeq ($(CPU_OS_TARGET),i386-android)
+override TARGET_LOADERS+=$(LOADERS)
+endif
+ifeq ($(CPU_OS_TARGET),i386-aros)
+override TARGET_LOADERS+=$(LOADERS)
+endif
+ifeq ($(CPU_OS_TARGET),m68k-linux)
+override TARGET_LOADERS+=$(LOADERS)
+endif
+ifeq ($(CPU_OS_TARGET),m68k-netbsd)
+override TARGET_LOADERS+=$(LOADERS)
+endif
+ifeq ($(CPU_OS_TARGET),m68k-amiga)
+override TARGET_LOADERS+=$(LOADERS)
+endif
+ifeq ($(CPU_OS_TARGET),m68k-atari)
+override TARGET_LOADERS+=$(LOADERS)
+endif
+ifeq ($(CPU_OS_TARGET),m68k-palmos)
+override TARGET_LOADERS+=$(LOADERS)
+endif
+ifeq ($(CPU_OS_TARGET),m68k-macosclassic)
+override TARGET_LOADERS+=$(LOADERS)
+endif
 ifeq ($(CPU_OS_TARGET),m68k-embedded)
 override TARGET_LOADERS+=$(LOADERS)
 endif
+ifeq ($(CPU_OS_TARGET),m68k-sinclairql)
+override TARGET_LOADERS+=$(LOADERS)
+endif
+ifeq ($(CPU_OS_TARGET),powerpc-linux)
+override TARGET_LOADERS+=$(LOADERS)
+endif
+ifeq ($(CPU_OS_TARGET),powerpc-netbsd)
+override TARGET_LOADERS+=$(LOADERS)
+endif
+ifeq ($(CPU_OS_TARGET),powerpc-amiga)
+override TARGET_LOADERS+=$(LOADERS)
+endif
+ifeq ($(CPU_OS_TARGET),powerpc-macosclassic)
+override TARGET_LOADERS+=$(LOADERS)
+endif
+ifeq ($(CPU_OS_TARGET),powerpc-darwin)
+override TARGET_LOADERS+=$(LOADERS)
+endif
+ifeq ($(CPU_OS_TARGET),powerpc-morphos)
+override TARGET_LOADERS+=$(LOADERS)
+endif
 ifeq ($(CPU_OS_TARGET),powerpc-embedded)
 override TARGET_LOADERS+=$(LOADERS)
 endif
+ifeq ($(CPU_OS_TARGET),powerpc-wii)
+override TARGET_LOADERS+=$(LOADERS)
+endif
+ifeq ($(CPU_OS_TARGET),powerpc-aix)
+override TARGET_LOADERS+=$(LOADERS)
+endif
+ifeq ($(CPU_OS_TARGET),sparc-linux)
+override TARGET_LOADERS+=$(LOADERS)
+endif
+ifeq ($(CPU_OS_TARGET),sparc-netbsd)
+override TARGET_LOADERS+=$(LOADERS)
+endif
+ifeq ($(CPU_OS_TARGET),sparc-solaris)
+override TARGET_LOADERS+=$(LOADERS)
+endif
 ifeq ($(CPU_OS_TARGET),sparc-embedded)
 override TARGET_LOADERS+=$(LOADERS)
 endif
+ifeq ($(CPU_OS_TARGET),x86_64-linux)
+override TARGET_LOADERS+=$(LOADERS)
+endif
+ifeq ($(CPU_OS_TARGET),x86_64-freebsd)
+override TARGET_LOADERS+=$(LOADERS)
+endif
+ifeq ($(CPU_OS_TARGET),x86_64-haiku)
+override TARGET_LOADERS+=$(LOADERS)
+endif
+ifeq ($(CPU_OS_TARGET),x86_64-netbsd)
+override TARGET_LOADERS+=$(LOADERS)
+endif
+ifeq ($(CPU_OS_TARGET),x86_64-solaris)
+override TARGET_LOADERS+=$(LOADERS)
+endif
+ifeq ($(CPU_OS_TARGET),x86_64-openbsd)
+override TARGET_LOADERS+=$(LOADERS)
+endif
+ifeq ($(CPU_OS_TARGET),x86_64-darwin)
+override TARGET_LOADERS+=$(LOADERS)
+endif
+ifeq ($(CPU_OS_TARGET),x86_64-win64)
+override TARGET_LOADERS+=$(LOADERS)
+endif
 ifeq ($(CPU_OS_TARGET),x86_64-embedded)
 override TARGET_LOADERS+=$(LOADERS)
 endif
+ifeq ($(CPU_OS_TARGET),x86_64-iphonesim)
+override TARGET_LOADERS+=$(LOADERS)
+endif
+ifeq ($(CPU_OS_TARGET),x86_64-android)
+override TARGET_LOADERS+=$(LOADERS)
+endif
+ifeq ($(CPU_OS_TARGET),x86_64-aros)
+override TARGET_LOADERS+=$(LOADERS)
+endif
+ifeq ($(CPU_OS_TARGET),x86_64-dragonfly)
+override TARGET_LOADERS+=$(LOADERS)
+endif
+ifeq ($(CPU_OS_TARGET),arm-linux)
+override TARGET_LOADERS+=$(LOADERS)
+endif
+ifeq ($(CPU_OS_TARGET),arm-netbsd)
+override TARGET_LOADERS+=$(LOADERS)
+endif
+ifeq ($(CPU_OS_TARGET),arm-palmos)
+override TARGET_LOADERS+=$(LOADERS)
+endif
+ifeq ($(CPU_OS_TARGET),arm-wince)
+override TARGET_LOADERS+=$(LOADERS)
+endif
+ifeq ($(CPU_OS_TARGET),arm-gba)
+override TARGET_LOADERS+=$(LOADERS)
+endif
+ifeq ($(CPU_OS_TARGET),arm-nds)
+override TARGET_LOADERS+=$(LOADERS)
+endif
 ifeq ($(CPU_OS_TARGET),arm-embedded)
 override TARGET_LOADERS+=$(LOADERS)
 endif
+ifeq ($(CPU_OS_TARGET),arm-symbian)
+override TARGET_LOADERS+=$(LOADERS)
+endif
+ifeq ($(CPU_OS_TARGET),arm-android)
+override TARGET_LOADERS+=$(LOADERS)
+endif
+ifeq ($(CPU_OS_TARGET),arm-aros)
+override TARGET_LOADERS+=$(LOADERS)
+endif
+ifeq ($(CPU_OS_TARGET),arm-freertos)
+override TARGET_LOADERS+=$(LOADERS)
+endif
+ifeq ($(CPU_OS_TARGET),arm-ios)
+override TARGET_LOADERS+=$(LOADERS)
+endif
+ifeq ($(CPU_OS_TARGET),powerpc64-linux)
+override TARGET_LOADERS+=$(LOADERS)
+endif
+ifeq ($(CPU_OS_TARGET),powerpc64-darwin)
+override TARGET_LOADERS+=$(LOADERS)
+endif
 ifeq ($(CPU_OS_TARGET),powerpc64-embedded)
 override TARGET_LOADERS+=$(LOADERS)
 endif
+ifeq ($(CPU_OS_TARGET),powerpc64-aix)
+override TARGET_LOADERS+=$(LOADERS)
+endif
 ifeq ($(CPU_OS_TARGET),avr-embedded)
 override TARGET_LOADERS+=$(LOADERS)
 endif
+ifeq ($(CPU_OS_TARGET),armeb-linux)
+override TARGET_LOADERS+=$(LOADERS)
+endif
 ifeq ($(CPU_OS_TARGET),armeb-embedded)
 override TARGET_LOADERS+=$(LOADERS)
 endif
+ifeq ($(CPU_OS_TARGET),mips-linux)
+override TARGET_LOADERS+=$(LOADERS)
+endif
+ifeq ($(CPU_OS_TARGET),mipsel-linux)
+override TARGET_LOADERS+=$(LOADERS)
+endif
 ifeq ($(CPU_OS_TARGET),mipsel-embedded)
 override TARGET_LOADERS+=$(LOADERS)
 endif
+ifeq ($(CPU_OS_TARGET),mipsel-android)
+override TARGET_LOADERS+=$(LOADERS)
+endif
+ifeq ($(CPU_OS_TARGET),mips64-linux)
+override TARGET_LOADERS+=$(LOADERS)
+endif
+ifeq ($(CPU_OS_TARGET),mips64el-linux)
+override TARGET_LOADERS+=$(LOADERS)
+endif
+ifeq ($(CPU_OS_TARGET),jvm-java)
+override TARGET_LOADERS+=$(LOADERS)
+endif
+ifeq ($(CPU_OS_TARGET),jvm-android)
+override TARGET_LOADERS+=$(LOADERS)
+endif
 ifeq ($(CPU_OS_TARGET),i8086-embedded)
 override TARGET_LOADERS+=$(LOADERS)
 endif
+ifeq ($(CPU_OS_TARGET),i8086-msdos)
+override TARGET_LOADERS+=$(LOADERS)
+endif
+ifeq ($(CPU_OS_TARGET),i8086-win16)
+override TARGET_LOADERS+=$(LOADERS)
+endif
+ifeq ($(CPU_OS_TARGET),aarch64-linux)
+override TARGET_LOADERS+=$(LOADERS)
+endif
+ifeq ($(CPU_OS_TARGET),aarch64-freebsd)
+override TARGET_LOADERS+=$(LOADERS)
+endif
+ifeq ($(CPU_OS_TARGET),aarch64-darwin)
+override TARGET_LOADERS+=$(LOADERS)
+endif
+ifeq ($(CPU_OS_TARGET),aarch64-win64)
+override TARGET_LOADERS+=$(LOADERS)
+endif
 ifeq ($(CPU_OS_TARGET),aarch64-embedded)
 override TARGET_LOADERS+=$(LOADERS)
 endif
+ifeq ($(CPU_OS_TARGET),aarch64-iphonesim)
+override TARGET_LOADERS+=$(LOADERS)
+endif
+ifeq ($(CPU_OS_TARGET),aarch64-android)
+override TARGET_LOADERS+=$(LOADERS)
+endif
+ifeq ($(CPU_OS_TARGET),aarch64-ios)
+override TARGET_LOADERS+=$(LOADERS)
+endif
 ifeq ($(CPU_OS_TARGET),wasm32-embedded)
 override TARGET_LOADERS+=$(LOADERS)
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasi)
+override TARGET_LOADERS+=$(LOADERS)
+endif
+ifeq ($(CPU_OS_TARGET),sparc64-linux)
+override TARGET_LOADERS+=$(LOADERS)
+endif
+ifeq ($(CPU_OS_TARGET),riscv32-linux)
+override TARGET_LOADERS+=$(LOADERS)
+endif
 ifeq ($(CPU_OS_TARGET),riscv32-embedded)
 override TARGET_LOADERS+=$(LOADERS)
 endif
+ifeq ($(CPU_OS_TARGET),riscv32-freertos)
+override TARGET_LOADERS+=$(LOADERS)
+endif
+ifeq ($(CPU_OS_TARGET),riscv64-linux)
+override TARGET_LOADERS+=$(LOADERS)
+endif
 ifeq ($(CPU_OS_TARGET),riscv64-embedded)
 override TARGET_LOADERS+=$(LOADERS)
 endif
+ifeq ($(CPU_OS_TARGET),xtensa-linux)
+override TARGET_LOADERS+=$(LOADERS)
+endif
 ifeq ($(CPU_OS_TARGET),xtensa-embedded)
 override TARGET_LOADERS+=$(LOADERS)
 endif
+ifeq ($(CPU_OS_TARGET),xtensa-freertos)
+override TARGET_LOADERS+=$(LOADERS)
+endif
 ifeq ($(CPU_OS_TARGET),z80-embedded)
 override TARGET_LOADERS+=$(LOADERS)
 endif
-override INSTALL_FPCPACKAGE=y y
+ifeq ($(CPU_OS_TARGET),z80-zxspectrum)
+override TARGET_LOADERS+=$(LOADERS)
+endif
+ifeq ($(CPU_OS_TARGET),z80-msxdos)
+override TARGET_LOADERS+=$(LOADERS)
+endif
+ifeq ($(CPU_OS_TARGET),z80-amstradcpc)
+override TARGET_LOADERS+=$(LOADERS)
+endif
+ifeq ($(CPU_OS_TARGET),loongarch64-linux)
+override TARGET_LOADERS+=$(LOADERS)
+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),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
+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) $(ARCH)
+endif
+ifeq ($(CPU_OS_TARGET),i386-go32v2)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
+ifeq ($(CPU_OS_TARGET),i386-win32)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
+ifeq ($(CPU_OS_TARGET),i386-os2)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
+ifeq ($(CPU_OS_TARGET),i386-freebsd)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
+ifeq ($(CPU_OS_TARGET),i386-beos)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
+ifeq ($(CPU_OS_TARGET),i386-haiku)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
+ifeq ($(CPU_OS_TARGET),i386-netbsd)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
+ifeq ($(CPU_OS_TARGET),i386-solaris)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
+ifeq ($(CPU_OS_TARGET),i386-netware)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
+ifeq ($(CPU_OS_TARGET),i386-openbsd)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
+ifeq ($(CPU_OS_TARGET),i386-wdosx)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
+ifeq ($(CPU_OS_TARGET),i386-darwin)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
+ifeq ($(CPU_OS_TARGET),i386-emx)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
+ifeq ($(CPU_OS_TARGET),i386-watcom)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
+ifeq ($(CPU_OS_TARGET),i386-netwlibc)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
+ifeq ($(CPU_OS_TARGET),i386-wince)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
 ifeq ($(CPU_OS_TARGET),i386-embedded)
 override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
 endif
+ifeq ($(CPU_OS_TARGET),i386-symbian)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
+ifeq ($(CPU_OS_TARGET),i386-nativent)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
+ifeq ($(CPU_OS_TARGET),i386-iphonesim)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
+ifeq ($(CPU_OS_TARGET),i386-android)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
+ifeq ($(CPU_OS_TARGET),i386-aros)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
+ifeq ($(CPU_OS_TARGET),m68k-linux)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
+ifeq ($(CPU_OS_TARGET),m68k-netbsd)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
+ifeq ($(CPU_OS_TARGET),m68k-amiga)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
+ifeq ($(CPU_OS_TARGET),m68k-atari)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
+ifeq ($(CPU_OS_TARGET),m68k-palmos)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
+ifeq ($(CPU_OS_TARGET),m68k-macosclassic)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
 ifeq ($(CPU_OS_TARGET),m68k-embedded)
 override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
 endif
+ifeq ($(CPU_OS_TARGET),m68k-sinclairql)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
+ifeq ($(CPU_OS_TARGET),powerpc-linux)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
+ifeq ($(CPU_OS_TARGET),powerpc-netbsd)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
+ifeq ($(CPU_OS_TARGET),powerpc-amiga)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
+ifeq ($(CPU_OS_TARGET),powerpc-macosclassic)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
+ifeq ($(CPU_OS_TARGET),powerpc-darwin)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
+ifeq ($(CPU_OS_TARGET),powerpc-morphos)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
 ifeq ($(CPU_OS_TARGET),powerpc-embedded)
 override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
 endif
+ifeq ($(CPU_OS_TARGET),powerpc-wii)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
+ifeq ($(CPU_OS_TARGET),powerpc-aix)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
+ifeq ($(CPU_OS_TARGET),sparc-linux)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
+ifeq ($(CPU_OS_TARGET),sparc-netbsd)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
+ifeq ($(CPU_OS_TARGET),sparc-solaris)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
 ifeq ($(CPU_OS_TARGET),sparc-embedded)
 override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
 endif
+ifeq ($(CPU_OS_TARGET),x86_64-linux)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
+ifeq ($(CPU_OS_TARGET),x86_64-freebsd)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
+ifeq ($(CPU_OS_TARGET),x86_64-haiku)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
+ifeq ($(CPU_OS_TARGET),x86_64-netbsd)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
+ifeq ($(CPU_OS_TARGET),x86_64-solaris)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
+ifeq ($(CPU_OS_TARGET),x86_64-openbsd)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
+ifeq ($(CPU_OS_TARGET),x86_64-darwin)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
+ifeq ($(CPU_OS_TARGET),x86_64-win64)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
 ifeq ($(CPU_OS_TARGET),x86_64-embedded)
 override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
 endif
+ifeq ($(CPU_OS_TARGET),x86_64-iphonesim)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
+ifeq ($(CPU_OS_TARGET),x86_64-android)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
+ifeq ($(CPU_OS_TARGET),x86_64-aros)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
+ifeq ($(CPU_OS_TARGET),x86_64-dragonfly)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
+ifeq ($(CPU_OS_TARGET),arm-linux)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
+ifeq ($(CPU_OS_TARGET),arm-netbsd)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
+ifeq ($(CPU_OS_TARGET),arm-palmos)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
+ifeq ($(CPU_OS_TARGET),arm-wince)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
+ifeq ($(CPU_OS_TARGET),arm-gba)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
+ifeq ($(CPU_OS_TARGET),arm-nds)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
 ifeq ($(CPU_OS_TARGET),arm-embedded)
 override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
 endif
+ifeq ($(CPU_OS_TARGET),arm-symbian)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
+ifeq ($(CPU_OS_TARGET),arm-android)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
+ifeq ($(CPU_OS_TARGET),arm-aros)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
+ifeq ($(CPU_OS_TARGET),arm-freertos)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
+ifeq ($(CPU_OS_TARGET),arm-ios)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
+ifeq ($(CPU_OS_TARGET),powerpc64-linux)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
+ifeq ($(CPU_OS_TARGET),powerpc64-darwin)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
 ifeq ($(CPU_OS_TARGET),powerpc64-embedded)
 override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
 endif
+ifeq ($(CPU_OS_TARGET),powerpc64-aix)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
 ifeq ($(CPU_OS_TARGET),avr-embedded)
 override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
 endif
+ifeq ($(CPU_OS_TARGET),armeb-linux)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
 ifeq ($(CPU_OS_TARGET),armeb-embedded)
 override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
 endif
+ifeq ($(CPU_OS_TARGET),mips-linux)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
+ifeq ($(CPU_OS_TARGET),mipsel-linux)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
 ifeq ($(CPU_OS_TARGET),mipsel-embedded)
 override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
 endif
+ifeq ($(CPU_OS_TARGET),mipsel-android)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
+ifeq ($(CPU_OS_TARGET),mips64-linux)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
+ifeq ($(CPU_OS_TARGET),mips64el-linux)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
+ifeq ($(CPU_OS_TARGET),jvm-java)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
+ifeq ($(CPU_OS_TARGET),jvm-android)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
 ifeq ($(CPU_OS_TARGET),i8086-embedded)
 override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
 endif
+ifeq ($(CPU_OS_TARGET),i8086-msdos)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
+ifeq ($(CPU_OS_TARGET),i8086-win16)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
+ifeq ($(CPU_OS_TARGET),aarch64-linux)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
+ifeq ($(CPU_OS_TARGET),aarch64-freebsd)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
+ifeq ($(CPU_OS_TARGET),aarch64-darwin)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
+ifeq ($(CPU_OS_TARGET),aarch64-win64)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
 ifeq ($(CPU_OS_TARGET),aarch64-embedded)
 override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
 endif
+ifeq ($(CPU_OS_TARGET),aarch64-iphonesim)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
+ifeq ($(CPU_OS_TARGET),aarch64-android)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
+ifeq ($(CPU_OS_TARGET),aarch64-ios)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
 ifeq ($(CPU_OS_TARGET),wasm32-embedded)
 override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasi)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
+ifeq ($(CPU_OS_TARGET),sparc64-linux)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
+ifeq ($(CPU_OS_TARGET),riscv32-linux)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
 ifeq ($(CPU_OS_TARGET),riscv32-embedded)
 override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
 endif
+ifeq ($(CPU_OS_TARGET),riscv32-freertos)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
+ifeq ($(CPU_OS_TARGET),riscv64-linux)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
 ifeq ($(CPU_OS_TARGET),riscv64-embedded)
 override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
 endif
+ifeq ($(CPU_OS_TARGET),xtensa-linux)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
 ifeq ($(CPU_OS_TARGET),xtensa-embedded)
 override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
 endif
+ifeq ($(CPU_OS_TARGET),xtensa-freertos)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
 ifeq ($(CPU_OS_TARGET),z80-embedded)
 override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
 endif
+ifeq ($(CPU_OS_TARGET),z80-zxspectrum)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
+ifeq ($(CPU_OS_TARGET),z80-msxdos)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
+ifeq ($(CPU_OS_TARGET),z80-amstradcpc)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
+ifeq ($(CPU_OS_TARGET),loongarch64-linux)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
 ifdef REQUIRE_UNITSDIR
 override UNITSDIR+=$(REQUIRE_UNITSDIR)
 endif
@@ -1466,6 +2102,113 @@ 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
@@ -2079,6 +2822,17 @@ 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
@@ -2527,677 +3281,6 @@ 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
-INITCDIR=$(OSDIR)
-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 CLASSESDIR
-CLASSESDIR=$(OSDIR)
-endif
-ifndef NSCLASSESDIR
-NSCLASSESDIR=$(NSDIR)/$(CLASSESDIR)
-endif
-ifndef NSBSDDIR
-NSBSDDIR=$(NSDIR)/bsd
-endif
-ifndef NSWINDOWSDIR
-NSWINDOWSDIR=$(NSDIR)/windows
-endif
-ifdef FPC_DOTTEDUNITS
-MACPAS_OPT:=$(MACPAS_OPT) -dFPC_DOTTEDUNITS
-EXTPAS_OPT:=$(EXTPAS_OPT) -dFPC_DOTTEDUNITS
-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
-endif
-$(SYSTEMUNIT)$(PPUEXT) : $(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_SPU)
-objpas$(PPUEXT): $(OBJPAS_DEPS)
-	$(COMPILER) $(OBJPAS_OPT) -Fi$(OBJPASDIR) $<
-MACPAS_DEPS=$(INC)/macpas.pp \
-	    objpas$(PPUEXT) $(MATHUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
-	    $(MACPAS_DEPS_OS)  $(MACPAS_DEPS_CPU)
-macpas$(PPUEXT) : $(MACPAS_DEPS)
-	$(COMPILER) $(MACPAS_OPT) $<
-ISO7185_DEPS= $(INC)/$(ISO7185UNIT).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) objpas$(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) objpas$(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) objpas$(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 \
-	     $(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 \
-	     objpas$(PPUEXT) $(RTLCONSTSUNIT)$(PPUEXT) $(SYSUTILSUNIT)$(PPUEXT) \
-	     $(DYNLIBS_DEPS_OS) $(DYNLIBS_DEPS_CPU)
-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) objpas$(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) $<
-LINUX_DEPS=$(OSDIR)/linux.pp \
-	   $(BASEUNIXUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) $(SYSCALLUNIT)$(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=fpcylix.pp \
-	     $(CTHREADSUNIT)$(PPUEXT) $(CWSTRINGUNIT)$(PPUEXT) $(DYNLIBSUNIT)$(PPUEXT) \
-	     objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
-	     $(FPCYLIX_DEPS_OS)  $(FPCYLIX_DEPS_CPU)
-fpcylix$(PPUEXT) : $(FPCYLIX_DEPS)
-	$(COMPILER) $(FPCYLIX_OPT) $<
-TERMIO_DEPS=$(OSDIR)/termio.pp $(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) $<
-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) \
-		   $(SYSCALLUNIT)$(PPUEXT) $(BASEUNIXUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) \
-		   $(UNIXUTILUNIT)$(PPUEXT)  $(INITCUNIT)$(PPUEXT)
-SYSUTILS_DEPS=$(SYSUTILSDIR)/sysutils.pp $(wildcard $(OBJPASDIR)/$(SYSUTILSUNIT)/*.inc) \
-	      $(SYSTEMUNIT)$(PPUEXT) objpas$(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 $(wildcard $(OBJPASDIR)/$(CLASSESUNIT)/*.inc) \
-	     $(SYSTEMUNIT)$(PPUEXT) objpas$(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 \
-	     objpas$(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 \
-	       $(SYSUTILSUNIT)$(PPUEXT) objpas$(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 \
-	   objpas$(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 \
-	  objpas$(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 \
-	   objpas$(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 \
-	      objpas$(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 \
-	      objpas$(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 \
-	      objpas$(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) objpas$(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) $<
-X86_DEPS = $(UNIXINC)/x86.pp \
-	  $(BASEUNIXUNIT)$(PPUEXT) $(SYSCALLUNIT)$(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) objpas$(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) objpas$(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 \
-	  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
-ifeq ($(AMIINC),)
-  RTLDEFSINCDIR = $(OSDIR)
-else
-  RTLDEFSINCDIR=$(AMIINC)
-endif
-FPWIDESTRING_DEPS=$(OBJPASDIR)/fpwidestring.pp $(RTLDEFSINCDIR)/rtldefs.inc \
-		  $(SYSTEMUNIT)$(PPUEXT) objpas$(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 objpas$(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) $<
-UNIXTYPE_DEPS=$(UNIXINC)/unixtype.pp \
-	      $(SYSTEMUNIT)$(PPUEXT) $(OSDIR)/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 \
-	      $(SYSTEMUNIT)$(PPUEXT) objpas$(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) $<
-CWSTRING_DEPS=$(UNIXINC)/cwstring.pp \
-	      $(SYSTEMUNIT)$(PPUEXT) objpas$(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) $<
-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) objpas$(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) objpas$(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) $<
-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/embedded/Makefile.fpc b/rtl/embedded/Makefile.fpc
index 5296733c02..bb14f5fbb5 100644
--- a/rtl/embedded/Makefile.fpc
+++ b/rtl/embedded/Makefile.fpc
@@ -236,7 +236,7 @@ CPU_UNITS_DEFINED=1
 endif
 ifeq ($(SUBARCH),rv32imac)
 override FPCOPT+=-Cprv32imac
-CPU_UNITS=$(FE310G000UNIT) $(FE310G002UNIT) $(GD32VF103XXUNIT)
+CPU_UNITS=CH32VxBootstrap $(FE310G000UNIT) $(FE310G002UNIT) $(GD32VF103XXUNIT)
 CPU_UNITS_DEFINED=1
 endif
 ifeq ($(SUBARCH),rv32i)