Browse Source

Regenerate Makefile's

Pierre Muller 2 years ago
parent
commit
e1651ccdab

+ 70 - 55
rtl/aix/Makefile

@@ -461,17 +461,17 @@ ESPIDF_40400UNIT=System.Espidf_40400
 EXEUNIT=OS2Api.exe
 EXEUNIT=OS2Api.exe
 EXEINFOUNIT=System.Exeinfo
 EXEINFOUNIT=System.Exeinfo
 EXTPASUNIT=extpas
 EXTPASUNIT=extpas
-FE310G000UNIT=EmbeddedApi.Fe310g000
-FE310G002UNIT=EmbeddedApi.Fe310g002
+FE310G000UNIT=EmbeddedApi.fe310g000
+FE310G002UNIT=EmbeddedApi.fe310g002
 FGLUNIT=System.FGL
 FGLUNIT=System.FGL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCYLIXUNIT=fpcylix
 FPCYLIXUNIT=fpcylix
 FPWIDESTRINGUNIT=System.FPWideString
 FPWIDESTRINGUNIT=System.FPWideString
 FREEBSDUNIT=FreeBSDApi.FreeBSD
 FREEBSDUNIT=FreeBSDApi.FreeBSD
-GD32VF103XXUNIT=EmbeddedApi.Gd32vf103xx
+GD32VF103XXUNIT=EmbeddedApi.gd32vf103xx
 GETOPTSUNIT=System.GetOpts
 GETOPTSUNIT=System.GetOpts
 GO32UNIT=DOSApi.GO32
 GO32UNIT=DOSApi.GO32
-GPIOUNIT=EmbeddedApi.Gpio
+GPIOUNIT=EmbeddedApi.gpio
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPTRCUNIT=heaptrc
 HEAPTRCUNIT=heaptrc
 INITCUNIT=System.InitC
 INITCUNIT=System.InitC
@@ -483,40 +483,40 @@ LIBCUNIT=NetwareLibCApi.Libc
 LINEINFOUNIT=System.LineInfo
 LINEINFOUNIT=System.LineInfo
 LINUXUNIT=LinuxApi
 LINUXUNIT=LinuxApi
 LINUXVCSUNIT=LinuxApi.Vcs
 LINUXVCSUNIT=LinuxApi.Vcs
-LM3FURYUNIT=EmbeddedApi.Lm3fury
-LM3TEMPESTUNIT=EmbeddedApi.Lm3tempest
-LM4F120UNIT=EmbeddedApi.Lm4f120
+LM3FURYUNIT=EmbeddedApi.lm3fury
+LM3TEMPESTUNIT=EmbeddedApi.lm3tempest
+LM4F120UNIT=EmbeddedApi.lm4f120
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFOGDBUNIT=System.LineInfo.Gdb
 LNFOGDBUNIT=System.LineInfo.Gdb
-LPC11XXUNIT=EmbeddedApi.Lpc11xx
-LPC122XUNIT=EmbeddedApi.Lpc122x
-LPC13XXUNIT=EmbeddedApi.Lpc13xx
-LPC1768UNIT=EmbeddedApi.Lpc1768
-LPC21X4UNIT=EmbeddedApi.Lpc21x4
-LPC8XXUNIT=EmbeddedApi.Lpc8xx
+LPC11XXUNIT=EmbeddedApi.lpc11xx
+LPC122XUNIT=EmbeddedApi.lpc122x
+LPC13XXUNIT=EmbeddedApi.lpc13xx
+LPC1768UNIT=EmbeddedApi.lpc1768
+LPC21X4UNIT=EmbeddedApi.lpc21x4
+LPC8XXUNIT=EmbeddedApi.lpc8xx
 LSTRINGSUNIT=System.LStrings
 LSTRINGSUNIT=System.LStrings
 MACOSUNIT=MacOSApi.MacOS
 MACOSUNIT=MacOSApi.MacOS
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACUTILSUNIT=MacOSApi.MacUtils
 MACUTILSUNIT=MacOSApi.MacUtils
-MAILBOXUNIT=EmbeddedApi.Mailbox
+MAILBOXUNIT=EmbeddedApi.mailbox
 MATHUNIT=System.Math
 MATHUNIT=System.Math
 MESSAGESUNIT=WinApi.Messages
 MESSAGESUNIT=WinApi.Messages
-MK20D5UNIT=EmbeddedApi.Mk20d5
-MK20D7UNIT=EmbeddedApi.Mk20d7
-MK22F51212UNIT=EmbeddedApi.Mk22f51212
-MK64F12UNIT=EmbeddedApi.Mk64f12
-MMIOUNIT=EmbeddedApi.Mmio
+MK20D5UNIT=EmbeddedApi.mk20d5
+MK20D7UNIT=EmbeddedApi.mk20d7
+MK22F51212UNIT=EmbeddedApi.mk22f51212
+MK64F12UNIT=EmbeddedApi.mk64f12
+MMIOUNIT=EmbeddedApi.mmio
 MMXUNIT=System.CPU.MMX
 MMXUNIT=System.CPU.MMX
 MONCALLSUNIT=OS2Api.moncalls
 MONCALLSUNIT=OS2Api.moncalls
 MOUCALLSUNIT=OS2Api.moucalls
 MOUCALLSUNIT=OS2Api.moucalls
 MSMOUSEUNIT=DOSApi.MSMouse
 MSMOUSEUNIT=DOSApi.MSMouse
-MULTIBOOTUNIT=EmbeddedApi.Multiboot
+MULTIBOOTUNIT=EmbeddedApi.multiboot
 NDKUNIT=NTApi.NDK
 NDKUNIT=NTApi.NDK
 NDKUTILSUNIT=NTApi.NDKUtils
 NDKUTILSUNIT=NTApi.NDKUtils
 NETWAREUNIT=NetwareApi.NetWare
 NETWAREUNIT=NetwareApi.NetWare
 NEWEXEUNIT=OS2Api.newexe
 NEWEXEUNIT=OS2Api.newexe
-NRF51UNIT=EmbeddedApi.Nrf51
-NRF52UNIT=EmbeddedApi.Nrf52
+NRF51UNIT=EmbeddedApi.nrf51
+NRF52UNIT=EmbeddedApi.nrf52
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWNITUNIT=NetWareApi.Nwnit
 NWNITUNIT=NetWareApi.Nwnit
 NWPREUNIT=NetWareApi.Nwpre
 NWPREUNIT=NetWareApi.Nwpre
@@ -542,13 +542,13 @@ PMWSOCKUNIT=OS2Api.pmwsock
 PORTSUNIT=System.Ports
 PORTSUNIT=System.Ports
 POSIXUNIT=QNXApi.Posix
 POSIXUNIT=QNXApi.Posix
 PROFILEUNIT=DOSApi.Profile
 PROFILEUNIT=DOSApi.Profile
-RASPI2UNIT=EmbeddedApi.Raspi2
-RASPI3UNIT=EmbeddedApi.Raspi3
-RASPIUARTUNIT=EmbeddedApi.Raspiuart
+RASPI2UNIT=EmbeddedApi.raspi2
+RASPI3UNIT=EmbeddedApi.raspi3
+RASPIUARTUNIT=EmbeddedApi.raspiuart
 RTLCONSTSUNIT=System.RtlConsts
 RTLCONSTSUNIT=System.RtlConsts
-SAM3X8EUNIT=EmbeddedApi.Sam3x8e
-SAMD51P19AUNIT=EmbeddedApi.Samd51p19a
-SC32442BUNIT=EmbeddedApi .Sc32442b
+SAM3X8EUNIT=EmbeddedApi.sam3x8e
+SAMD51P19AUNIT=EmbeddedApi.samd51p19a
+SC32442BUNIT=EmbeddedApi .sc32442b
 SFPU128UNIT=System.SoftFpu128
 SFPU128UNIT=System.SoftFpu128
 SFPUX80UNIT=System.SoftFpuX80
 SFPUX80UNIT=System.SoftFpuX80
 SHAREMEMUNIT=WinApi.ShareMem
 SHAREMEMUNIT=WinApi.ShareMem
@@ -556,25 +556,25 @@ SIGNALSUNIT=WinApi.Signals
 SO32DLLUNIT=OS2Api.so32dll
 SO32DLLUNIT=OS2Api.so32dll
 SOFTFPUUNIT=System.SoftFPU
 SOFTFPUUNIT=System.SoftFPU
 SORTBASEUNIT=System.SortBase
 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
+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
 STRINGSUNIT=System.Strings
 SYMBIANUNIT=SymbianApi.Symbian
 SYMBIANUNIT=SymbianApi.Symbian
 SYSALLUNIT=PalmApi.Sysall
 SYSALLUNIT=PalmApi.Sysall
@@ -610,7 +610,7 @@ WINPROCSUNIT=WinApi.WinProcs
 WINSYSUTUNIT=WinApi.WinSysUt
 WINSYSUTUNIT=WinApi.WinSysUt
 WINTYPESUNIT=WinApi.WinTypes
 WINTYPESUNIT=WinApi.WinTypes
 X86UNIT=System.X86
 X86UNIT=System.X86
-XMC4500UNIT=EmbeddedApi.Xmc4500
+XMC4500UNIT=EmbeddedApi.xmc4500
 EXEINFOUNIT=System.ExeInfo
 EXEINFOUNIT=System.ExeInfo
 ERRORSUNIT=UnixApi.Errors
 ERRORSUNIT=UnixApi.Errors
 else
 else
@@ -2275,23 +2275,23 @@ SOFTFPU_DEPS=$(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
@@ -2662,10 +2662,13 @@ BLOCKRTL_DEPS=$(INC)/blockrtl.pp \
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 	$(COMPILER) $(BLOCKRTL_OPT) $<
 	$(COMPILER) $(BLOCKRTL_OPT) $<
+ifndef WININCDIR
+  WININCDIR = $(WINDIR)/wininc
+endif
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 windows$(PPUEXT): $(WINDOWS_DEPS)
 windows$(PPUEXT): $(WINDOWS_DEPS)
-	$(COMPILER) $(WINDOWS_OPT) $<
+	$(COMPILER) -Fi$(WININC) $(WINDOWS_OPT) $<
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
@@ -2674,6 +2677,18 @@ windirs$(PPUEXT): $(WINDIRS_DEPS)
 	$(COMPILER) $(WINDIRS_OPT) $<
 	$(COMPILER) $(WINDIRS_OPT) $<
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDIRS_OPT) $<
 	$(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=$(BSDINC)/sysctl.pp $(SYSTEMUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) \
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)

+ 70 - 55
rtl/amiga/Makefile

@@ -462,17 +462,17 @@ ESPIDF_40400UNIT=System.Espidf_40400
 EXEUNIT=OS2Api.exe
 EXEUNIT=OS2Api.exe
 EXEINFOUNIT=System.Exeinfo
 EXEINFOUNIT=System.Exeinfo
 EXTPASUNIT=extpas
 EXTPASUNIT=extpas
-FE310G000UNIT=EmbeddedApi.Fe310g000
-FE310G002UNIT=EmbeddedApi.Fe310g002
+FE310G000UNIT=EmbeddedApi.fe310g000
+FE310G002UNIT=EmbeddedApi.fe310g002
 FGLUNIT=System.FGL
 FGLUNIT=System.FGL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCYLIXUNIT=fpcylix
 FPCYLIXUNIT=fpcylix
 FPWIDESTRINGUNIT=System.FPWideString
 FPWIDESTRINGUNIT=System.FPWideString
 FREEBSDUNIT=FreeBSDApi.FreeBSD
 FREEBSDUNIT=FreeBSDApi.FreeBSD
-GD32VF103XXUNIT=EmbeddedApi.Gd32vf103xx
+GD32VF103XXUNIT=EmbeddedApi.gd32vf103xx
 GETOPTSUNIT=System.GetOpts
 GETOPTSUNIT=System.GetOpts
 GO32UNIT=DOSApi.GO32
 GO32UNIT=DOSApi.GO32
-GPIOUNIT=EmbeddedApi.Gpio
+GPIOUNIT=EmbeddedApi.gpio
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPTRCUNIT=heaptrc
 HEAPTRCUNIT=heaptrc
 INITCUNIT=System.InitC
 INITCUNIT=System.InitC
@@ -484,40 +484,40 @@ LIBCUNIT=NetwareLibCApi.Libc
 LINEINFOUNIT=System.LineInfo
 LINEINFOUNIT=System.LineInfo
 LINUXUNIT=LinuxApi
 LINUXUNIT=LinuxApi
 LINUXVCSUNIT=LinuxApi.Vcs
 LINUXVCSUNIT=LinuxApi.Vcs
-LM3FURYUNIT=EmbeddedApi.Lm3fury
-LM3TEMPESTUNIT=EmbeddedApi.Lm3tempest
-LM4F120UNIT=EmbeddedApi.Lm4f120
+LM3FURYUNIT=EmbeddedApi.lm3fury
+LM3TEMPESTUNIT=EmbeddedApi.lm3tempest
+LM4F120UNIT=EmbeddedApi.lm4f120
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFOGDBUNIT=System.LineInfo.Gdb
 LNFOGDBUNIT=System.LineInfo.Gdb
-LPC11XXUNIT=EmbeddedApi.Lpc11xx
-LPC122XUNIT=EmbeddedApi.Lpc122x
-LPC13XXUNIT=EmbeddedApi.Lpc13xx
-LPC1768UNIT=EmbeddedApi.Lpc1768
-LPC21X4UNIT=EmbeddedApi.Lpc21x4
-LPC8XXUNIT=EmbeddedApi.Lpc8xx
+LPC11XXUNIT=EmbeddedApi.lpc11xx
+LPC122XUNIT=EmbeddedApi.lpc122x
+LPC13XXUNIT=EmbeddedApi.lpc13xx
+LPC1768UNIT=EmbeddedApi.lpc1768
+LPC21X4UNIT=EmbeddedApi.lpc21x4
+LPC8XXUNIT=EmbeddedApi.lpc8xx
 LSTRINGSUNIT=System.LStrings
 LSTRINGSUNIT=System.LStrings
 MACOSUNIT=MacOSApi.MacOS
 MACOSUNIT=MacOSApi.MacOS
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACUTILSUNIT=MacOSApi.MacUtils
 MACUTILSUNIT=MacOSApi.MacUtils
-MAILBOXUNIT=EmbeddedApi.Mailbox
+MAILBOXUNIT=EmbeddedApi.mailbox
 MATHUNIT=System.Math
 MATHUNIT=System.Math
 MESSAGESUNIT=WinApi.Messages
 MESSAGESUNIT=WinApi.Messages
-MK20D5UNIT=EmbeddedApi.Mk20d5
-MK20D7UNIT=EmbeddedApi.Mk20d7
-MK22F51212UNIT=EmbeddedApi.Mk22f51212
-MK64F12UNIT=EmbeddedApi.Mk64f12
-MMIOUNIT=EmbeddedApi.Mmio
+MK20D5UNIT=EmbeddedApi.mk20d5
+MK20D7UNIT=EmbeddedApi.mk20d7
+MK22F51212UNIT=EmbeddedApi.mk22f51212
+MK64F12UNIT=EmbeddedApi.mk64f12
+MMIOUNIT=EmbeddedApi.mmio
 MMXUNIT=System.CPU.MMX
 MMXUNIT=System.CPU.MMX
 MONCALLSUNIT=OS2Api.moncalls
 MONCALLSUNIT=OS2Api.moncalls
 MOUCALLSUNIT=OS2Api.moucalls
 MOUCALLSUNIT=OS2Api.moucalls
 MSMOUSEUNIT=DOSApi.MSMouse
 MSMOUSEUNIT=DOSApi.MSMouse
-MULTIBOOTUNIT=EmbeddedApi.Multiboot
+MULTIBOOTUNIT=EmbeddedApi.multiboot
 NDKUNIT=NTApi.NDK
 NDKUNIT=NTApi.NDK
 NDKUTILSUNIT=NTApi.NDKUtils
 NDKUTILSUNIT=NTApi.NDKUtils
 NETWAREUNIT=NetwareApi.NetWare
 NETWAREUNIT=NetwareApi.NetWare
 NEWEXEUNIT=OS2Api.newexe
 NEWEXEUNIT=OS2Api.newexe
-NRF51UNIT=EmbeddedApi.Nrf51
-NRF52UNIT=EmbeddedApi.Nrf52
+NRF51UNIT=EmbeddedApi.nrf51
+NRF52UNIT=EmbeddedApi.nrf52
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWNITUNIT=NetWareApi.Nwnit
 NWNITUNIT=NetWareApi.Nwnit
 NWPREUNIT=NetWareApi.Nwpre
 NWPREUNIT=NetWareApi.Nwpre
@@ -543,13 +543,13 @@ PMWSOCKUNIT=OS2Api.pmwsock
 PORTSUNIT=System.Ports
 PORTSUNIT=System.Ports
 POSIXUNIT=QNXApi.Posix
 POSIXUNIT=QNXApi.Posix
 PROFILEUNIT=DOSApi.Profile
 PROFILEUNIT=DOSApi.Profile
-RASPI2UNIT=EmbeddedApi.Raspi2
-RASPI3UNIT=EmbeddedApi.Raspi3
-RASPIUARTUNIT=EmbeddedApi.Raspiuart
+RASPI2UNIT=EmbeddedApi.raspi2
+RASPI3UNIT=EmbeddedApi.raspi3
+RASPIUARTUNIT=EmbeddedApi.raspiuart
 RTLCONSTSUNIT=System.RtlConsts
 RTLCONSTSUNIT=System.RtlConsts
-SAM3X8EUNIT=EmbeddedApi.Sam3x8e
-SAMD51P19AUNIT=EmbeddedApi.Samd51p19a
-SC32442BUNIT=EmbeddedApi .Sc32442b
+SAM3X8EUNIT=EmbeddedApi.sam3x8e
+SAMD51P19AUNIT=EmbeddedApi.samd51p19a
+SC32442BUNIT=EmbeddedApi .sc32442b
 SFPU128UNIT=System.SoftFpu128
 SFPU128UNIT=System.SoftFpu128
 SFPUX80UNIT=System.SoftFpuX80
 SFPUX80UNIT=System.SoftFpuX80
 SHAREMEMUNIT=WinApi.ShareMem
 SHAREMEMUNIT=WinApi.ShareMem
@@ -557,25 +557,25 @@ SIGNALSUNIT=WinApi.Signals
 SO32DLLUNIT=OS2Api.so32dll
 SO32DLLUNIT=OS2Api.so32dll
 SOFTFPUUNIT=System.SoftFPU
 SOFTFPUUNIT=System.SoftFPU
 SORTBASEUNIT=System.SortBase
 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
+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
 STRINGSUNIT=System.Strings
 SYMBIANUNIT=SymbianApi.Symbian
 SYMBIANUNIT=SymbianApi.Symbian
 SYSALLUNIT=PalmApi.Sysall
 SYSALLUNIT=PalmApi.Sysall
@@ -611,7 +611,7 @@ WINPROCSUNIT=WinApi.WinProcs
 WINSYSUTUNIT=WinApi.WinSysUt
 WINSYSUTUNIT=WinApi.WinSysUt
 WINTYPESUNIT=WinApi.WinTypes
 WINTYPESUNIT=WinApi.WinTypes
 X86UNIT=System.X86
 X86UNIT=System.X86
-XMC4500UNIT=EmbeddedApi.Xmc4500
+XMC4500UNIT=EmbeddedApi.xmc4500
 EXEINFOUNIT=System.ExeInfo
 EXEINFOUNIT=System.ExeInfo
 ERRORSUNIT=UnixApi.Errors
 ERRORSUNIT=UnixApi.Errors
 else
 else
@@ -2307,23 +2307,23 @@ SOFTFPU_DEPS=$(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
@@ -2694,10 +2694,13 @@ BLOCKRTL_DEPS=$(INC)/blockrtl.pp \
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 	$(COMPILER) $(BLOCKRTL_OPT) $<
 	$(COMPILER) $(BLOCKRTL_OPT) $<
+ifndef WININCDIR
+  WININCDIR = $(WINDIR)/wininc
+endif
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 windows$(PPUEXT): $(WINDOWS_DEPS)
 windows$(PPUEXT): $(WINDOWS_DEPS)
-	$(COMPILER) $(WINDOWS_OPT) $<
+	$(COMPILER) -Fi$(WININC) $(WINDOWS_OPT) $<
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
@@ -2706,6 +2709,18 @@ windirs$(PPUEXT): $(WINDIRS_DEPS)
 	$(COMPILER) $(WINDIRS_OPT) $<
 	$(COMPILER) $(WINDIRS_OPT) $<
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDIRS_OPT) $<
 	$(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=$(BSDINC)/sysctl.pp $(SYSTEMUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) \
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)

+ 70 - 55
rtl/android/Makefile

@@ -461,17 +461,17 @@ ESPIDF_40400UNIT=System.Espidf_40400
 EXEUNIT=OS2Api.exe
 EXEUNIT=OS2Api.exe
 EXEINFOUNIT=System.Exeinfo
 EXEINFOUNIT=System.Exeinfo
 EXTPASUNIT=extpas
 EXTPASUNIT=extpas
-FE310G000UNIT=EmbeddedApi.Fe310g000
-FE310G002UNIT=EmbeddedApi.Fe310g002
+FE310G000UNIT=EmbeddedApi.fe310g000
+FE310G002UNIT=EmbeddedApi.fe310g002
 FGLUNIT=System.FGL
 FGLUNIT=System.FGL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCYLIXUNIT=fpcylix
 FPCYLIXUNIT=fpcylix
 FPWIDESTRINGUNIT=System.FPWideString
 FPWIDESTRINGUNIT=System.FPWideString
 FREEBSDUNIT=FreeBSDApi.FreeBSD
 FREEBSDUNIT=FreeBSDApi.FreeBSD
-GD32VF103XXUNIT=EmbeddedApi.Gd32vf103xx
+GD32VF103XXUNIT=EmbeddedApi.gd32vf103xx
 GETOPTSUNIT=System.GetOpts
 GETOPTSUNIT=System.GetOpts
 GO32UNIT=DOSApi.GO32
 GO32UNIT=DOSApi.GO32
-GPIOUNIT=EmbeddedApi.Gpio
+GPIOUNIT=EmbeddedApi.gpio
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPTRCUNIT=heaptrc
 HEAPTRCUNIT=heaptrc
 INITCUNIT=System.InitC
 INITCUNIT=System.InitC
@@ -483,40 +483,40 @@ LIBCUNIT=NetwareLibCApi.Libc
 LINEINFOUNIT=System.LineInfo
 LINEINFOUNIT=System.LineInfo
 LINUXUNIT=LinuxApi
 LINUXUNIT=LinuxApi
 LINUXVCSUNIT=LinuxApi.Vcs
 LINUXVCSUNIT=LinuxApi.Vcs
-LM3FURYUNIT=EmbeddedApi.Lm3fury
-LM3TEMPESTUNIT=EmbeddedApi.Lm3tempest
-LM4F120UNIT=EmbeddedApi.Lm4f120
+LM3FURYUNIT=EmbeddedApi.lm3fury
+LM3TEMPESTUNIT=EmbeddedApi.lm3tempest
+LM4F120UNIT=EmbeddedApi.lm4f120
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFOGDBUNIT=System.LineInfo.Gdb
 LNFOGDBUNIT=System.LineInfo.Gdb
-LPC11XXUNIT=EmbeddedApi.Lpc11xx
-LPC122XUNIT=EmbeddedApi.Lpc122x
-LPC13XXUNIT=EmbeddedApi.Lpc13xx
-LPC1768UNIT=EmbeddedApi.Lpc1768
-LPC21X4UNIT=EmbeddedApi.Lpc21x4
-LPC8XXUNIT=EmbeddedApi.Lpc8xx
+LPC11XXUNIT=EmbeddedApi.lpc11xx
+LPC122XUNIT=EmbeddedApi.lpc122x
+LPC13XXUNIT=EmbeddedApi.lpc13xx
+LPC1768UNIT=EmbeddedApi.lpc1768
+LPC21X4UNIT=EmbeddedApi.lpc21x4
+LPC8XXUNIT=EmbeddedApi.lpc8xx
 LSTRINGSUNIT=System.LStrings
 LSTRINGSUNIT=System.LStrings
 MACOSUNIT=MacOSApi.MacOS
 MACOSUNIT=MacOSApi.MacOS
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACUTILSUNIT=MacOSApi.MacUtils
 MACUTILSUNIT=MacOSApi.MacUtils
-MAILBOXUNIT=EmbeddedApi.Mailbox
+MAILBOXUNIT=EmbeddedApi.mailbox
 MATHUNIT=System.Math
 MATHUNIT=System.Math
 MESSAGESUNIT=WinApi.Messages
 MESSAGESUNIT=WinApi.Messages
-MK20D5UNIT=EmbeddedApi.Mk20d5
-MK20D7UNIT=EmbeddedApi.Mk20d7
-MK22F51212UNIT=EmbeddedApi.Mk22f51212
-MK64F12UNIT=EmbeddedApi.Mk64f12
-MMIOUNIT=EmbeddedApi.Mmio
+MK20D5UNIT=EmbeddedApi.mk20d5
+MK20D7UNIT=EmbeddedApi.mk20d7
+MK22F51212UNIT=EmbeddedApi.mk22f51212
+MK64F12UNIT=EmbeddedApi.mk64f12
+MMIOUNIT=EmbeddedApi.mmio
 MMXUNIT=System.CPU.MMX
 MMXUNIT=System.CPU.MMX
 MONCALLSUNIT=OS2Api.moncalls
 MONCALLSUNIT=OS2Api.moncalls
 MOUCALLSUNIT=OS2Api.moucalls
 MOUCALLSUNIT=OS2Api.moucalls
 MSMOUSEUNIT=DOSApi.MSMouse
 MSMOUSEUNIT=DOSApi.MSMouse
-MULTIBOOTUNIT=EmbeddedApi.Multiboot
+MULTIBOOTUNIT=EmbeddedApi.multiboot
 NDKUNIT=NTApi.NDK
 NDKUNIT=NTApi.NDK
 NDKUTILSUNIT=NTApi.NDKUtils
 NDKUTILSUNIT=NTApi.NDKUtils
 NETWAREUNIT=NetwareApi.NetWare
 NETWAREUNIT=NetwareApi.NetWare
 NEWEXEUNIT=OS2Api.newexe
 NEWEXEUNIT=OS2Api.newexe
-NRF51UNIT=EmbeddedApi.Nrf51
-NRF52UNIT=EmbeddedApi.Nrf52
+NRF51UNIT=EmbeddedApi.nrf51
+NRF52UNIT=EmbeddedApi.nrf52
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWNITUNIT=NetWareApi.Nwnit
 NWNITUNIT=NetWareApi.Nwnit
 NWPREUNIT=NetWareApi.Nwpre
 NWPREUNIT=NetWareApi.Nwpre
@@ -542,13 +542,13 @@ PMWSOCKUNIT=OS2Api.pmwsock
 PORTSUNIT=System.Ports
 PORTSUNIT=System.Ports
 POSIXUNIT=QNXApi.Posix
 POSIXUNIT=QNXApi.Posix
 PROFILEUNIT=DOSApi.Profile
 PROFILEUNIT=DOSApi.Profile
-RASPI2UNIT=EmbeddedApi.Raspi2
-RASPI3UNIT=EmbeddedApi.Raspi3
-RASPIUARTUNIT=EmbeddedApi.Raspiuart
+RASPI2UNIT=EmbeddedApi.raspi2
+RASPI3UNIT=EmbeddedApi.raspi3
+RASPIUARTUNIT=EmbeddedApi.raspiuart
 RTLCONSTSUNIT=System.RtlConsts
 RTLCONSTSUNIT=System.RtlConsts
-SAM3X8EUNIT=EmbeddedApi.Sam3x8e
-SAMD51P19AUNIT=EmbeddedApi.Samd51p19a
-SC32442BUNIT=EmbeddedApi .Sc32442b
+SAM3X8EUNIT=EmbeddedApi.sam3x8e
+SAMD51P19AUNIT=EmbeddedApi.samd51p19a
+SC32442BUNIT=EmbeddedApi .sc32442b
 SFPU128UNIT=System.SoftFpu128
 SFPU128UNIT=System.SoftFpu128
 SFPUX80UNIT=System.SoftFpuX80
 SFPUX80UNIT=System.SoftFpuX80
 SHAREMEMUNIT=WinApi.ShareMem
 SHAREMEMUNIT=WinApi.ShareMem
@@ -556,25 +556,25 @@ SIGNALSUNIT=WinApi.Signals
 SO32DLLUNIT=OS2Api.so32dll
 SO32DLLUNIT=OS2Api.so32dll
 SOFTFPUUNIT=System.SoftFPU
 SOFTFPUUNIT=System.SoftFPU
 SORTBASEUNIT=System.SortBase
 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
+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
 STRINGSUNIT=System.Strings
 SYMBIANUNIT=SymbianApi.Symbian
 SYMBIANUNIT=SymbianApi.Symbian
 SYSALLUNIT=PalmApi.Sysall
 SYSALLUNIT=PalmApi.Sysall
@@ -610,7 +610,7 @@ WINPROCSUNIT=WinApi.WinProcs
 WINSYSUTUNIT=WinApi.WinSysUt
 WINSYSUTUNIT=WinApi.WinSysUt
 WINTYPESUNIT=WinApi.WinTypes
 WINTYPESUNIT=WinApi.WinTypes
 X86UNIT=System.X86
 X86UNIT=System.X86
-XMC4500UNIT=EmbeddedApi.Xmc4500
+XMC4500UNIT=EmbeddedApi.xmc4500
 EXEINFOUNIT=System.ExeInfo
 EXEINFOUNIT=System.ExeInfo
 ERRORSUNIT=UnixApi.Errors
 ERRORSUNIT=UnixApi.Errors
 else
 else
@@ -2414,23 +2414,23 @@ SOFTFPU_DEPS=$(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
@@ -2801,10 +2801,13 @@ BLOCKRTL_DEPS=$(INC)/blockrtl.pp \
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 	$(COMPILER) $(BLOCKRTL_OPT) $<
 	$(COMPILER) $(BLOCKRTL_OPT) $<
+ifndef WININCDIR
+  WININCDIR = $(WINDIR)/wininc
+endif
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 windows$(PPUEXT): $(WINDOWS_DEPS)
 windows$(PPUEXT): $(WINDOWS_DEPS)
-	$(COMPILER) $(WINDOWS_OPT) $<
+	$(COMPILER) -Fi$(WININC) $(WINDOWS_OPT) $<
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
@@ -2813,6 +2816,18 @@ windirs$(PPUEXT): $(WINDIRS_DEPS)
 	$(COMPILER) $(WINDIRS_OPT) $<
 	$(COMPILER) $(WINDIRS_OPT) $<
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDIRS_OPT) $<
 	$(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=$(BSDINC)/sysctl.pp $(SYSTEMUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) \
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)

+ 70 - 55
rtl/aros/Makefile

@@ -462,17 +462,17 @@ ESPIDF_40400UNIT=System.Espidf_40400
 EXEUNIT=OS2Api.exe
 EXEUNIT=OS2Api.exe
 EXEINFOUNIT=System.Exeinfo
 EXEINFOUNIT=System.Exeinfo
 EXTPASUNIT=extpas
 EXTPASUNIT=extpas
-FE310G000UNIT=EmbeddedApi.Fe310g000
-FE310G002UNIT=EmbeddedApi.Fe310g002
+FE310G000UNIT=EmbeddedApi.fe310g000
+FE310G002UNIT=EmbeddedApi.fe310g002
 FGLUNIT=System.FGL
 FGLUNIT=System.FGL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCYLIXUNIT=fpcylix
 FPCYLIXUNIT=fpcylix
 FPWIDESTRINGUNIT=System.FPWideString
 FPWIDESTRINGUNIT=System.FPWideString
 FREEBSDUNIT=FreeBSDApi.FreeBSD
 FREEBSDUNIT=FreeBSDApi.FreeBSD
-GD32VF103XXUNIT=EmbeddedApi.Gd32vf103xx
+GD32VF103XXUNIT=EmbeddedApi.gd32vf103xx
 GETOPTSUNIT=System.GetOpts
 GETOPTSUNIT=System.GetOpts
 GO32UNIT=DOSApi.GO32
 GO32UNIT=DOSApi.GO32
-GPIOUNIT=EmbeddedApi.Gpio
+GPIOUNIT=EmbeddedApi.gpio
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPTRCUNIT=heaptrc
 HEAPTRCUNIT=heaptrc
 INITCUNIT=System.InitC
 INITCUNIT=System.InitC
@@ -484,40 +484,40 @@ LIBCUNIT=NetwareLibCApi.Libc
 LINEINFOUNIT=System.LineInfo
 LINEINFOUNIT=System.LineInfo
 LINUXUNIT=LinuxApi
 LINUXUNIT=LinuxApi
 LINUXVCSUNIT=LinuxApi.Vcs
 LINUXVCSUNIT=LinuxApi.Vcs
-LM3FURYUNIT=EmbeddedApi.Lm3fury
-LM3TEMPESTUNIT=EmbeddedApi.Lm3tempest
-LM4F120UNIT=EmbeddedApi.Lm4f120
+LM3FURYUNIT=EmbeddedApi.lm3fury
+LM3TEMPESTUNIT=EmbeddedApi.lm3tempest
+LM4F120UNIT=EmbeddedApi.lm4f120
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFOGDBUNIT=System.LineInfo.Gdb
 LNFOGDBUNIT=System.LineInfo.Gdb
-LPC11XXUNIT=EmbeddedApi.Lpc11xx
-LPC122XUNIT=EmbeddedApi.Lpc122x
-LPC13XXUNIT=EmbeddedApi.Lpc13xx
-LPC1768UNIT=EmbeddedApi.Lpc1768
-LPC21X4UNIT=EmbeddedApi.Lpc21x4
-LPC8XXUNIT=EmbeddedApi.Lpc8xx
+LPC11XXUNIT=EmbeddedApi.lpc11xx
+LPC122XUNIT=EmbeddedApi.lpc122x
+LPC13XXUNIT=EmbeddedApi.lpc13xx
+LPC1768UNIT=EmbeddedApi.lpc1768
+LPC21X4UNIT=EmbeddedApi.lpc21x4
+LPC8XXUNIT=EmbeddedApi.lpc8xx
 LSTRINGSUNIT=System.LStrings
 LSTRINGSUNIT=System.LStrings
 MACOSUNIT=MacOSApi.MacOS
 MACOSUNIT=MacOSApi.MacOS
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACUTILSUNIT=MacOSApi.MacUtils
 MACUTILSUNIT=MacOSApi.MacUtils
-MAILBOXUNIT=EmbeddedApi.Mailbox
+MAILBOXUNIT=EmbeddedApi.mailbox
 MATHUNIT=System.Math
 MATHUNIT=System.Math
 MESSAGESUNIT=WinApi.Messages
 MESSAGESUNIT=WinApi.Messages
-MK20D5UNIT=EmbeddedApi.Mk20d5
-MK20D7UNIT=EmbeddedApi.Mk20d7
-MK22F51212UNIT=EmbeddedApi.Mk22f51212
-MK64F12UNIT=EmbeddedApi.Mk64f12
-MMIOUNIT=EmbeddedApi.Mmio
+MK20D5UNIT=EmbeddedApi.mk20d5
+MK20D7UNIT=EmbeddedApi.mk20d7
+MK22F51212UNIT=EmbeddedApi.mk22f51212
+MK64F12UNIT=EmbeddedApi.mk64f12
+MMIOUNIT=EmbeddedApi.mmio
 MMXUNIT=System.CPU.MMX
 MMXUNIT=System.CPU.MMX
 MONCALLSUNIT=OS2Api.moncalls
 MONCALLSUNIT=OS2Api.moncalls
 MOUCALLSUNIT=OS2Api.moucalls
 MOUCALLSUNIT=OS2Api.moucalls
 MSMOUSEUNIT=DOSApi.MSMouse
 MSMOUSEUNIT=DOSApi.MSMouse
-MULTIBOOTUNIT=EmbeddedApi.Multiboot
+MULTIBOOTUNIT=EmbeddedApi.multiboot
 NDKUNIT=NTApi.NDK
 NDKUNIT=NTApi.NDK
 NDKUTILSUNIT=NTApi.NDKUtils
 NDKUTILSUNIT=NTApi.NDKUtils
 NETWAREUNIT=NetwareApi.NetWare
 NETWAREUNIT=NetwareApi.NetWare
 NEWEXEUNIT=OS2Api.newexe
 NEWEXEUNIT=OS2Api.newexe
-NRF51UNIT=EmbeddedApi.Nrf51
-NRF52UNIT=EmbeddedApi.Nrf52
+NRF51UNIT=EmbeddedApi.nrf51
+NRF52UNIT=EmbeddedApi.nrf52
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWNITUNIT=NetWareApi.Nwnit
 NWNITUNIT=NetWareApi.Nwnit
 NWPREUNIT=NetWareApi.Nwpre
 NWPREUNIT=NetWareApi.Nwpre
@@ -543,13 +543,13 @@ PMWSOCKUNIT=OS2Api.pmwsock
 PORTSUNIT=System.Ports
 PORTSUNIT=System.Ports
 POSIXUNIT=QNXApi.Posix
 POSIXUNIT=QNXApi.Posix
 PROFILEUNIT=DOSApi.Profile
 PROFILEUNIT=DOSApi.Profile
-RASPI2UNIT=EmbeddedApi.Raspi2
-RASPI3UNIT=EmbeddedApi.Raspi3
-RASPIUARTUNIT=EmbeddedApi.Raspiuart
+RASPI2UNIT=EmbeddedApi.raspi2
+RASPI3UNIT=EmbeddedApi.raspi3
+RASPIUARTUNIT=EmbeddedApi.raspiuart
 RTLCONSTSUNIT=System.RtlConsts
 RTLCONSTSUNIT=System.RtlConsts
-SAM3X8EUNIT=EmbeddedApi.Sam3x8e
-SAMD51P19AUNIT=EmbeddedApi.Samd51p19a
-SC32442BUNIT=EmbeddedApi .Sc32442b
+SAM3X8EUNIT=EmbeddedApi.sam3x8e
+SAMD51P19AUNIT=EmbeddedApi.samd51p19a
+SC32442BUNIT=EmbeddedApi .sc32442b
 SFPU128UNIT=System.SoftFpu128
 SFPU128UNIT=System.SoftFpu128
 SFPUX80UNIT=System.SoftFpuX80
 SFPUX80UNIT=System.SoftFpuX80
 SHAREMEMUNIT=WinApi.ShareMem
 SHAREMEMUNIT=WinApi.ShareMem
@@ -557,25 +557,25 @@ SIGNALSUNIT=WinApi.Signals
 SO32DLLUNIT=OS2Api.so32dll
 SO32DLLUNIT=OS2Api.so32dll
 SOFTFPUUNIT=System.SoftFPU
 SOFTFPUUNIT=System.SoftFPU
 SORTBASEUNIT=System.SortBase
 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
+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
 STRINGSUNIT=System.Strings
 SYMBIANUNIT=SymbianApi.Symbian
 SYMBIANUNIT=SymbianApi.Symbian
 SYSALLUNIT=PalmApi.Sysall
 SYSALLUNIT=PalmApi.Sysall
@@ -611,7 +611,7 @@ WINPROCSUNIT=WinApi.WinProcs
 WINSYSUTUNIT=WinApi.WinSysUt
 WINSYSUTUNIT=WinApi.WinSysUt
 WINTYPESUNIT=WinApi.WinTypes
 WINTYPESUNIT=WinApi.WinTypes
 X86UNIT=System.X86
 X86UNIT=System.X86
-XMC4500UNIT=EmbeddedApi.Xmc4500
+XMC4500UNIT=EmbeddedApi.xmc4500
 EXEINFOUNIT=System.ExeInfo
 EXEINFOUNIT=System.ExeInfo
 ERRORSUNIT=UnixApi.Errors
 ERRORSUNIT=UnixApi.Errors
 else
 else
@@ -2322,23 +2322,23 @@ SOFTFPU_DEPS=$(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
@@ -2709,10 +2709,13 @@ BLOCKRTL_DEPS=$(INC)/blockrtl.pp \
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 	$(COMPILER) $(BLOCKRTL_OPT) $<
 	$(COMPILER) $(BLOCKRTL_OPT) $<
+ifndef WININCDIR
+  WININCDIR = $(WINDIR)/wininc
+endif
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 windows$(PPUEXT): $(WINDOWS_DEPS)
 windows$(PPUEXT): $(WINDOWS_DEPS)
-	$(COMPILER) $(WINDOWS_OPT) $<
+	$(COMPILER) -Fi$(WININC) $(WINDOWS_OPT) $<
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
@@ -2721,6 +2724,18 @@ windirs$(PPUEXT): $(WINDIRS_DEPS)
 	$(COMPILER) $(WINDIRS_OPT) $<
 	$(COMPILER) $(WINDIRS_OPT) $<
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDIRS_OPT) $<
 	$(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=$(BSDINC)/sysctl.pp $(SYSTEMUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) \
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)

+ 70 - 55
rtl/atari/Makefile

@@ -462,17 +462,17 @@ ESPIDF_40400UNIT=System.Espidf_40400
 EXEUNIT=OS2Api.exe
 EXEUNIT=OS2Api.exe
 EXEINFOUNIT=System.Exeinfo
 EXEINFOUNIT=System.Exeinfo
 EXTPASUNIT=extpas
 EXTPASUNIT=extpas
-FE310G000UNIT=EmbeddedApi.Fe310g000
-FE310G002UNIT=EmbeddedApi.Fe310g002
+FE310G000UNIT=EmbeddedApi.fe310g000
+FE310G002UNIT=EmbeddedApi.fe310g002
 FGLUNIT=System.FGL
 FGLUNIT=System.FGL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCYLIXUNIT=fpcylix
 FPCYLIXUNIT=fpcylix
 FPWIDESTRINGUNIT=System.FPWideString
 FPWIDESTRINGUNIT=System.FPWideString
 FREEBSDUNIT=FreeBSDApi.FreeBSD
 FREEBSDUNIT=FreeBSDApi.FreeBSD
-GD32VF103XXUNIT=EmbeddedApi.Gd32vf103xx
+GD32VF103XXUNIT=EmbeddedApi.gd32vf103xx
 GETOPTSUNIT=System.GetOpts
 GETOPTSUNIT=System.GetOpts
 GO32UNIT=DOSApi.GO32
 GO32UNIT=DOSApi.GO32
-GPIOUNIT=EmbeddedApi.Gpio
+GPIOUNIT=EmbeddedApi.gpio
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPTRCUNIT=heaptrc
 HEAPTRCUNIT=heaptrc
 INITCUNIT=System.InitC
 INITCUNIT=System.InitC
@@ -484,40 +484,40 @@ LIBCUNIT=NetwareLibCApi.Libc
 LINEINFOUNIT=System.LineInfo
 LINEINFOUNIT=System.LineInfo
 LINUXUNIT=LinuxApi
 LINUXUNIT=LinuxApi
 LINUXVCSUNIT=LinuxApi.Vcs
 LINUXVCSUNIT=LinuxApi.Vcs
-LM3FURYUNIT=EmbeddedApi.Lm3fury
-LM3TEMPESTUNIT=EmbeddedApi.Lm3tempest
-LM4F120UNIT=EmbeddedApi.Lm4f120
+LM3FURYUNIT=EmbeddedApi.lm3fury
+LM3TEMPESTUNIT=EmbeddedApi.lm3tempest
+LM4F120UNIT=EmbeddedApi.lm4f120
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFOGDBUNIT=System.LineInfo.Gdb
 LNFOGDBUNIT=System.LineInfo.Gdb
-LPC11XXUNIT=EmbeddedApi.Lpc11xx
-LPC122XUNIT=EmbeddedApi.Lpc122x
-LPC13XXUNIT=EmbeddedApi.Lpc13xx
-LPC1768UNIT=EmbeddedApi.Lpc1768
-LPC21X4UNIT=EmbeddedApi.Lpc21x4
-LPC8XXUNIT=EmbeddedApi.Lpc8xx
+LPC11XXUNIT=EmbeddedApi.lpc11xx
+LPC122XUNIT=EmbeddedApi.lpc122x
+LPC13XXUNIT=EmbeddedApi.lpc13xx
+LPC1768UNIT=EmbeddedApi.lpc1768
+LPC21X4UNIT=EmbeddedApi.lpc21x4
+LPC8XXUNIT=EmbeddedApi.lpc8xx
 LSTRINGSUNIT=System.LStrings
 LSTRINGSUNIT=System.LStrings
 MACOSUNIT=MacOSApi.MacOS
 MACOSUNIT=MacOSApi.MacOS
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACUTILSUNIT=MacOSApi.MacUtils
 MACUTILSUNIT=MacOSApi.MacUtils
-MAILBOXUNIT=EmbeddedApi.Mailbox
+MAILBOXUNIT=EmbeddedApi.mailbox
 MATHUNIT=System.Math
 MATHUNIT=System.Math
 MESSAGESUNIT=WinApi.Messages
 MESSAGESUNIT=WinApi.Messages
-MK20D5UNIT=EmbeddedApi.Mk20d5
-MK20D7UNIT=EmbeddedApi.Mk20d7
-MK22F51212UNIT=EmbeddedApi.Mk22f51212
-MK64F12UNIT=EmbeddedApi.Mk64f12
-MMIOUNIT=EmbeddedApi.Mmio
+MK20D5UNIT=EmbeddedApi.mk20d5
+MK20D7UNIT=EmbeddedApi.mk20d7
+MK22F51212UNIT=EmbeddedApi.mk22f51212
+MK64F12UNIT=EmbeddedApi.mk64f12
+MMIOUNIT=EmbeddedApi.mmio
 MMXUNIT=System.CPU.MMX
 MMXUNIT=System.CPU.MMX
 MONCALLSUNIT=OS2Api.moncalls
 MONCALLSUNIT=OS2Api.moncalls
 MOUCALLSUNIT=OS2Api.moucalls
 MOUCALLSUNIT=OS2Api.moucalls
 MSMOUSEUNIT=DOSApi.MSMouse
 MSMOUSEUNIT=DOSApi.MSMouse
-MULTIBOOTUNIT=EmbeddedApi.Multiboot
+MULTIBOOTUNIT=EmbeddedApi.multiboot
 NDKUNIT=NTApi.NDK
 NDKUNIT=NTApi.NDK
 NDKUTILSUNIT=NTApi.NDKUtils
 NDKUTILSUNIT=NTApi.NDKUtils
 NETWAREUNIT=NetwareApi.NetWare
 NETWAREUNIT=NetwareApi.NetWare
 NEWEXEUNIT=OS2Api.newexe
 NEWEXEUNIT=OS2Api.newexe
-NRF51UNIT=EmbeddedApi.Nrf51
-NRF52UNIT=EmbeddedApi.Nrf52
+NRF51UNIT=EmbeddedApi.nrf51
+NRF52UNIT=EmbeddedApi.nrf52
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWNITUNIT=NetWareApi.Nwnit
 NWNITUNIT=NetWareApi.Nwnit
 NWPREUNIT=NetWareApi.Nwpre
 NWPREUNIT=NetWareApi.Nwpre
@@ -543,13 +543,13 @@ PMWSOCKUNIT=OS2Api.pmwsock
 PORTSUNIT=System.Ports
 PORTSUNIT=System.Ports
 POSIXUNIT=QNXApi.Posix
 POSIXUNIT=QNXApi.Posix
 PROFILEUNIT=DOSApi.Profile
 PROFILEUNIT=DOSApi.Profile
-RASPI2UNIT=EmbeddedApi.Raspi2
-RASPI3UNIT=EmbeddedApi.Raspi3
-RASPIUARTUNIT=EmbeddedApi.Raspiuart
+RASPI2UNIT=EmbeddedApi.raspi2
+RASPI3UNIT=EmbeddedApi.raspi3
+RASPIUARTUNIT=EmbeddedApi.raspiuart
 RTLCONSTSUNIT=System.RtlConsts
 RTLCONSTSUNIT=System.RtlConsts
-SAM3X8EUNIT=EmbeddedApi.Sam3x8e
-SAMD51P19AUNIT=EmbeddedApi.Samd51p19a
-SC32442BUNIT=EmbeddedApi .Sc32442b
+SAM3X8EUNIT=EmbeddedApi.sam3x8e
+SAMD51P19AUNIT=EmbeddedApi.samd51p19a
+SC32442BUNIT=EmbeddedApi .sc32442b
 SFPU128UNIT=System.SoftFpu128
 SFPU128UNIT=System.SoftFpu128
 SFPUX80UNIT=System.SoftFpuX80
 SFPUX80UNIT=System.SoftFpuX80
 SHAREMEMUNIT=WinApi.ShareMem
 SHAREMEMUNIT=WinApi.ShareMem
@@ -557,25 +557,25 @@ SIGNALSUNIT=WinApi.Signals
 SO32DLLUNIT=OS2Api.so32dll
 SO32DLLUNIT=OS2Api.so32dll
 SOFTFPUUNIT=System.SoftFPU
 SOFTFPUUNIT=System.SoftFPU
 SORTBASEUNIT=System.SortBase
 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
+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
 STRINGSUNIT=System.Strings
 SYMBIANUNIT=SymbianApi.Symbian
 SYMBIANUNIT=SymbianApi.Symbian
 SYSALLUNIT=PalmApi.Sysall
 SYSALLUNIT=PalmApi.Sysall
@@ -611,7 +611,7 @@ WINPROCSUNIT=WinApi.WinProcs
 WINSYSUTUNIT=WinApi.WinSysUt
 WINSYSUTUNIT=WinApi.WinSysUt
 WINTYPESUNIT=WinApi.WinTypes
 WINTYPESUNIT=WinApi.WinTypes
 X86UNIT=System.X86
 X86UNIT=System.X86
-XMC4500UNIT=EmbeddedApi.Xmc4500
+XMC4500UNIT=EmbeddedApi.xmc4500
 EXEINFOUNIT=System.ExeInfo
 EXEINFOUNIT=System.ExeInfo
 ERRORSUNIT=UnixApi.Errors
 ERRORSUNIT=UnixApi.Errors
 else
 else
@@ -2277,23 +2277,23 @@ SOFTFPU_DEPS=$(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
@@ -2664,10 +2664,13 @@ BLOCKRTL_DEPS=$(INC)/blockrtl.pp \
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 	$(COMPILER) $(BLOCKRTL_OPT) $<
 	$(COMPILER) $(BLOCKRTL_OPT) $<
+ifndef WININCDIR
+  WININCDIR = $(WINDIR)/wininc
+endif
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 windows$(PPUEXT): $(WINDOWS_DEPS)
 windows$(PPUEXT): $(WINDOWS_DEPS)
-	$(COMPILER) $(WINDOWS_OPT) $<
+	$(COMPILER) -Fi$(WININC) $(WINDOWS_OPT) $<
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
@@ -2676,6 +2679,18 @@ windirs$(PPUEXT): $(WINDIRS_DEPS)
 	$(COMPILER) $(WINDIRS_OPT) $<
 	$(COMPILER) $(WINDIRS_OPT) $<
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDIRS_OPT) $<
 	$(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=$(BSDINC)/sysctl.pp $(SYSTEMUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) \
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)

+ 70 - 55
rtl/beos/Makefile

@@ -462,17 +462,17 @@ ESPIDF_40400UNIT=System.Espidf_40400
 EXEUNIT=OS2Api.exe
 EXEUNIT=OS2Api.exe
 EXEINFOUNIT=System.Exeinfo
 EXEINFOUNIT=System.Exeinfo
 EXTPASUNIT=extpas
 EXTPASUNIT=extpas
-FE310G000UNIT=EmbeddedApi.Fe310g000
-FE310G002UNIT=EmbeddedApi.Fe310g002
+FE310G000UNIT=EmbeddedApi.fe310g000
+FE310G002UNIT=EmbeddedApi.fe310g002
 FGLUNIT=System.FGL
 FGLUNIT=System.FGL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCYLIXUNIT=fpcylix
 FPCYLIXUNIT=fpcylix
 FPWIDESTRINGUNIT=System.FPWideString
 FPWIDESTRINGUNIT=System.FPWideString
 FREEBSDUNIT=FreeBSDApi.FreeBSD
 FREEBSDUNIT=FreeBSDApi.FreeBSD
-GD32VF103XXUNIT=EmbeddedApi.Gd32vf103xx
+GD32VF103XXUNIT=EmbeddedApi.gd32vf103xx
 GETOPTSUNIT=System.GetOpts
 GETOPTSUNIT=System.GetOpts
 GO32UNIT=DOSApi.GO32
 GO32UNIT=DOSApi.GO32
-GPIOUNIT=EmbeddedApi.Gpio
+GPIOUNIT=EmbeddedApi.gpio
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPTRCUNIT=heaptrc
 HEAPTRCUNIT=heaptrc
 INITCUNIT=System.InitC
 INITCUNIT=System.InitC
@@ -484,40 +484,40 @@ LIBCUNIT=NetwareLibCApi.Libc
 LINEINFOUNIT=System.LineInfo
 LINEINFOUNIT=System.LineInfo
 LINUXUNIT=LinuxApi
 LINUXUNIT=LinuxApi
 LINUXVCSUNIT=LinuxApi.Vcs
 LINUXVCSUNIT=LinuxApi.Vcs
-LM3FURYUNIT=EmbeddedApi.Lm3fury
-LM3TEMPESTUNIT=EmbeddedApi.Lm3tempest
-LM4F120UNIT=EmbeddedApi.Lm4f120
+LM3FURYUNIT=EmbeddedApi.lm3fury
+LM3TEMPESTUNIT=EmbeddedApi.lm3tempest
+LM4F120UNIT=EmbeddedApi.lm4f120
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFOGDBUNIT=System.LineInfo.Gdb
 LNFOGDBUNIT=System.LineInfo.Gdb
-LPC11XXUNIT=EmbeddedApi.Lpc11xx
-LPC122XUNIT=EmbeddedApi.Lpc122x
-LPC13XXUNIT=EmbeddedApi.Lpc13xx
-LPC1768UNIT=EmbeddedApi.Lpc1768
-LPC21X4UNIT=EmbeddedApi.Lpc21x4
-LPC8XXUNIT=EmbeddedApi.Lpc8xx
+LPC11XXUNIT=EmbeddedApi.lpc11xx
+LPC122XUNIT=EmbeddedApi.lpc122x
+LPC13XXUNIT=EmbeddedApi.lpc13xx
+LPC1768UNIT=EmbeddedApi.lpc1768
+LPC21X4UNIT=EmbeddedApi.lpc21x4
+LPC8XXUNIT=EmbeddedApi.lpc8xx
 LSTRINGSUNIT=System.LStrings
 LSTRINGSUNIT=System.LStrings
 MACOSUNIT=MacOSApi.MacOS
 MACOSUNIT=MacOSApi.MacOS
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACUTILSUNIT=MacOSApi.MacUtils
 MACUTILSUNIT=MacOSApi.MacUtils
-MAILBOXUNIT=EmbeddedApi.Mailbox
+MAILBOXUNIT=EmbeddedApi.mailbox
 MATHUNIT=System.Math
 MATHUNIT=System.Math
 MESSAGESUNIT=WinApi.Messages
 MESSAGESUNIT=WinApi.Messages
-MK20D5UNIT=EmbeddedApi.Mk20d5
-MK20D7UNIT=EmbeddedApi.Mk20d7
-MK22F51212UNIT=EmbeddedApi.Mk22f51212
-MK64F12UNIT=EmbeddedApi.Mk64f12
-MMIOUNIT=EmbeddedApi.Mmio
+MK20D5UNIT=EmbeddedApi.mk20d5
+MK20D7UNIT=EmbeddedApi.mk20d7
+MK22F51212UNIT=EmbeddedApi.mk22f51212
+MK64F12UNIT=EmbeddedApi.mk64f12
+MMIOUNIT=EmbeddedApi.mmio
 MMXUNIT=System.CPU.MMX
 MMXUNIT=System.CPU.MMX
 MONCALLSUNIT=OS2Api.moncalls
 MONCALLSUNIT=OS2Api.moncalls
 MOUCALLSUNIT=OS2Api.moucalls
 MOUCALLSUNIT=OS2Api.moucalls
 MSMOUSEUNIT=DOSApi.MSMouse
 MSMOUSEUNIT=DOSApi.MSMouse
-MULTIBOOTUNIT=EmbeddedApi.Multiboot
+MULTIBOOTUNIT=EmbeddedApi.multiboot
 NDKUNIT=NTApi.NDK
 NDKUNIT=NTApi.NDK
 NDKUTILSUNIT=NTApi.NDKUtils
 NDKUTILSUNIT=NTApi.NDKUtils
 NETWAREUNIT=NetwareApi.NetWare
 NETWAREUNIT=NetwareApi.NetWare
 NEWEXEUNIT=OS2Api.newexe
 NEWEXEUNIT=OS2Api.newexe
-NRF51UNIT=EmbeddedApi.Nrf51
-NRF52UNIT=EmbeddedApi.Nrf52
+NRF51UNIT=EmbeddedApi.nrf51
+NRF52UNIT=EmbeddedApi.nrf52
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWNITUNIT=NetWareApi.Nwnit
 NWNITUNIT=NetWareApi.Nwnit
 NWPREUNIT=NetWareApi.Nwpre
 NWPREUNIT=NetWareApi.Nwpre
@@ -543,13 +543,13 @@ PMWSOCKUNIT=OS2Api.pmwsock
 PORTSUNIT=System.Ports
 PORTSUNIT=System.Ports
 POSIXUNIT=QNXApi.Posix
 POSIXUNIT=QNXApi.Posix
 PROFILEUNIT=DOSApi.Profile
 PROFILEUNIT=DOSApi.Profile
-RASPI2UNIT=EmbeddedApi.Raspi2
-RASPI3UNIT=EmbeddedApi.Raspi3
-RASPIUARTUNIT=EmbeddedApi.Raspiuart
+RASPI2UNIT=EmbeddedApi.raspi2
+RASPI3UNIT=EmbeddedApi.raspi3
+RASPIUARTUNIT=EmbeddedApi.raspiuart
 RTLCONSTSUNIT=System.RtlConsts
 RTLCONSTSUNIT=System.RtlConsts
-SAM3X8EUNIT=EmbeddedApi.Sam3x8e
-SAMD51P19AUNIT=EmbeddedApi.Samd51p19a
-SC32442BUNIT=EmbeddedApi .Sc32442b
+SAM3X8EUNIT=EmbeddedApi.sam3x8e
+SAMD51P19AUNIT=EmbeddedApi.samd51p19a
+SC32442BUNIT=EmbeddedApi .sc32442b
 SFPU128UNIT=System.SoftFpu128
 SFPU128UNIT=System.SoftFpu128
 SFPUX80UNIT=System.SoftFpuX80
 SFPUX80UNIT=System.SoftFpuX80
 SHAREMEMUNIT=WinApi.ShareMem
 SHAREMEMUNIT=WinApi.ShareMem
@@ -557,25 +557,25 @@ SIGNALSUNIT=WinApi.Signals
 SO32DLLUNIT=OS2Api.so32dll
 SO32DLLUNIT=OS2Api.so32dll
 SOFTFPUUNIT=System.SoftFPU
 SOFTFPUUNIT=System.SoftFPU
 SORTBASEUNIT=System.SortBase
 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
+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
 STRINGSUNIT=System.Strings
 SYMBIANUNIT=SymbianApi.Symbian
 SYMBIANUNIT=SymbianApi.Symbian
 SYSALLUNIT=PalmApi.Sysall
 SYSALLUNIT=PalmApi.Sysall
@@ -611,7 +611,7 @@ WINPROCSUNIT=WinApi.WinProcs
 WINSYSUTUNIT=WinApi.WinSysUt
 WINSYSUTUNIT=WinApi.WinSysUt
 WINTYPESUNIT=WinApi.WinTypes
 WINTYPESUNIT=WinApi.WinTypes
 X86UNIT=System.X86
 X86UNIT=System.X86
-XMC4500UNIT=EmbeddedApi.Xmc4500
+XMC4500UNIT=EmbeddedApi.xmc4500
 EXEINFOUNIT=System.ExeInfo
 EXEINFOUNIT=System.ExeInfo
 ERRORSUNIT=UnixApi.Errors
 ERRORSUNIT=UnixApi.Errors
 else
 else
@@ -2285,23 +2285,23 @@ SOFTFPU_DEPS=$(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
@@ -2672,10 +2672,13 @@ BLOCKRTL_DEPS=$(INC)/blockrtl.pp \
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 	$(COMPILER) $(BLOCKRTL_OPT) $<
 	$(COMPILER) $(BLOCKRTL_OPT) $<
+ifndef WININCDIR
+  WININCDIR = $(WINDIR)/wininc
+endif
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 windows$(PPUEXT): $(WINDOWS_DEPS)
 windows$(PPUEXT): $(WINDOWS_DEPS)
-	$(COMPILER) $(WINDOWS_OPT) $<
+	$(COMPILER) -Fi$(WININC) $(WINDOWS_OPT) $<
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
@@ -2684,6 +2687,18 @@ windirs$(PPUEXT): $(WINDIRS_DEPS)
 	$(COMPILER) $(WINDIRS_OPT) $<
 	$(COMPILER) $(WINDIRS_OPT) $<
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDIRS_OPT) $<
 	$(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=$(BSDINC)/sysctl.pp $(SYSTEMUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) \
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)

+ 70 - 55
rtl/darwin/Makefile

@@ -461,17 +461,17 @@ ESPIDF_40400UNIT=System.Espidf_40400
 EXEUNIT=OS2Api.exe
 EXEUNIT=OS2Api.exe
 EXEINFOUNIT=System.Exeinfo
 EXEINFOUNIT=System.Exeinfo
 EXTPASUNIT=extpas
 EXTPASUNIT=extpas
-FE310G000UNIT=EmbeddedApi.Fe310g000
-FE310G002UNIT=EmbeddedApi.Fe310g002
+FE310G000UNIT=EmbeddedApi.fe310g000
+FE310G002UNIT=EmbeddedApi.fe310g002
 FGLUNIT=System.FGL
 FGLUNIT=System.FGL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCYLIXUNIT=fpcylix
 FPCYLIXUNIT=fpcylix
 FPWIDESTRINGUNIT=System.FPWideString
 FPWIDESTRINGUNIT=System.FPWideString
 FREEBSDUNIT=FreeBSDApi.FreeBSD
 FREEBSDUNIT=FreeBSDApi.FreeBSD
-GD32VF103XXUNIT=EmbeddedApi.Gd32vf103xx
+GD32VF103XXUNIT=EmbeddedApi.gd32vf103xx
 GETOPTSUNIT=System.GetOpts
 GETOPTSUNIT=System.GetOpts
 GO32UNIT=DOSApi.GO32
 GO32UNIT=DOSApi.GO32
-GPIOUNIT=EmbeddedApi.Gpio
+GPIOUNIT=EmbeddedApi.gpio
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPTRCUNIT=heaptrc
 HEAPTRCUNIT=heaptrc
 INITCUNIT=System.InitC
 INITCUNIT=System.InitC
@@ -483,40 +483,40 @@ LIBCUNIT=NetwareLibCApi.Libc
 LINEINFOUNIT=System.LineInfo
 LINEINFOUNIT=System.LineInfo
 LINUXUNIT=LinuxApi
 LINUXUNIT=LinuxApi
 LINUXVCSUNIT=LinuxApi.Vcs
 LINUXVCSUNIT=LinuxApi.Vcs
-LM3FURYUNIT=EmbeddedApi.Lm3fury
-LM3TEMPESTUNIT=EmbeddedApi.Lm3tempest
-LM4F120UNIT=EmbeddedApi.Lm4f120
+LM3FURYUNIT=EmbeddedApi.lm3fury
+LM3TEMPESTUNIT=EmbeddedApi.lm3tempest
+LM4F120UNIT=EmbeddedApi.lm4f120
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFOGDBUNIT=System.LineInfo.Gdb
 LNFOGDBUNIT=System.LineInfo.Gdb
-LPC11XXUNIT=EmbeddedApi.Lpc11xx
-LPC122XUNIT=EmbeddedApi.Lpc122x
-LPC13XXUNIT=EmbeddedApi.Lpc13xx
-LPC1768UNIT=EmbeddedApi.Lpc1768
-LPC21X4UNIT=EmbeddedApi.Lpc21x4
-LPC8XXUNIT=EmbeddedApi.Lpc8xx
+LPC11XXUNIT=EmbeddedApi.lpc11xx
+LPC122XUNIT=EmbeddedApi.lpc122x
+LPC13XXUNIT=EmbeddedApi.lpc13xx
+LPC1768UNIT=EmbeddedApi.lpc1768
+LPC21X4UNIT=EmbeddedApi.lpc21x4
+LPC8XXUNIT=EmbeddedApi.lpc8xx
 LSTRINGSUNIT=System.LStrings
 LSTRINGSUNIT=System.LStrings
 MACOSUNIT=MacOSApi.MacOS
 MACOSUNIT=MacOSApi.MacOS
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACUTILSUNIT=MacOSApi.MacUtils
 MACUTILSUNIT=MacOSApi.MacUtils
-MAILBOXUNIT=EmbeddedApi.Mailbox
+MAILBOXUNIT=EmbeddedApi.mailbox
 MATHUNIT=System.Math
 MATHUNIT=System.Math
 MESSAGESUNIT=WinApi.Messages
 MESSAGESUNIT=WinApi.Messages
-MK20D5UNIT=EmbeddedApi.Mk20d5
-MK20D7UNIT=EmbeddedApi.Mk20d7
-MK22F51212UNIT=EmbeddedApi.Mk22f51212
-MK64F12UNIT=EmbeddedApi.Mk64f12
-MMIOUNIT=EmbeddedApi.Mmio
+MK20D5UNIT=EmbeddedApi.mk20d5
+MK20D7UNIT=EmbeddedApi.mk20d7
+MK22F51212UNIT=EmbeddedApi.mk22f51212
+MK64F12UNIT=EmbeddedApi.mk64f12
+MMIOUNIT=EmbeddedApi.mmio
 MMXUNIT=System.CPU.MMX
 MMXUNIT=System.CPU.MMX
 MONCALLSUNIT=OS2Api.moncalls
 MONCALLSUNIT=OS2Api.moncalls
 MOUCALLSUNIT=OS2Api.moucalls
 MOUCALLSUNIT=OS2Api.moucalls
 MSMOUSEUNIT=DOSApi.MSMouse
 MSMOUSEUNIT=DOSApi.MSMouse
-MULTIBOOTUNIT=EmbeddedApi.Multiboot
+MULTIBOOTUNIT=EmbeddedApi.multiboot
 NDKUNIT=NTApi.NDK
 NDKUNIT=NTApi.NDK
 NDKUTILSUNIT=NTApi.NDKUtils
 NDKUTILSUNIT=NTApi.NDKUtils
 NETWAREUNIT=NetwareApi.NetWare
 NETWAREUNIT=NetwareApi.NetWare
 NEWEXEUNIT=OS2Api.newexe
 NEWEXEUNIT=OS2Api.newexe
-NRF51UNIT=EmbeddedApi.Nrf51
-NRF52UNIT=EmbeddedApi.Nrf52
+NRF51UNIT=EmbeddedApi.nrf51
+NRF52UNIT=EmbeddedApi.nrf52
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWNITUNIT=NetWareApi.Nwnit
 NWNITUNIT=NetWareApi.Nwnit
 NWPREUNIT=NetWareApi.Nwpre
 NWPREUNIT=NetWareApi.Nwpre
@@ -542,13 +542,13 @@ PMWSOCKUNIT=OS2Api.pmwsock
 PORTSUNIT=System.Ports
 PORTSUNIT=System.Ports
 POSIXUNIT=QNXApi.Posix
 POSIXUNIT=QNXApi.Posix
 PROFILEUNIT=DOSApi.Profile
 PROFILEUNIT=DOSApi.Profile
-RASPI2UNIT=EmbeddedApi.Raspi2
-RASPI3UNIT=EmbeddedApi.Raspi3
-RASPIUARTUNIT=EmbeddedApi.Raspiuart
+RASPI2UNIT=EmbeddedApi.raspi2
+RASPI3UNIT=EmbeddedApi.raspi3
+RASPIUARTUNIT=EmbeddedApi.raspiuart
 RTLCONSTSUNIT=System.RtlConsts
 RTLCONSTSUNIT=System.RtlConsts
-SAM3X8EUNIT=EmbeddedApi.Sam3x8e
-SAMD51P19AUNIT=EmbeddedApi.Samd51p19a
-SC32442BUNIT=EmbeddedApi .Sc32442b
+SAM3X8EUNIT=EmbeddedApi.sam3x8e
+SAMD51P19AUNIT=EmbeddedApi.samd51p19a
+SC32442BUNIT=EmbeddedApi .sc32442b
 SFPU128UNIT=System.SoftFpu128
 SFPU128UNIT=System.SoftFpu128
 SFPUX80UNIT=System.SoftFpuX80
 SFPUX80UNIT=System.SoftFpuX80
 SHAREMEMUNIT=WinApi.ShareMem
 SHAREMEMUNIT=WinApi.ShareMem
@@ -556,25 +556,25 @@ SIGNALSUNIT=WinApi.Signals
 SO32DLLUNIT=OS2Api.so32dll
 SO32DLLUNIT=OS2Api.so32dll
 SOFTFPUUNIT=System.SoftFPU
 SOFTFPUUNIT=System.SoftFPU
 SORTBASEUNIT=System.SortBase
 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
+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
 STRINGSUNIT=System.Strings
 SYMBIANUNIT=SymbianApi.Symbian
 SYMBIANUNIT=SymbianApi.Symbian
 SYSALLUNIT=PalmApi.Sysall
 SYSALLUNIT=PalmApi.Sysall
@@ -610,7 +610,7 @@ WINPROCSUNIT=WinApi.WinProcs
 WINSYSUTUNIT=WinApi.WinSysUt
 WINSYSUTUNIT=WinApi.WinSysUt
 WINTYPESUNIT=WinApi.WinTypes
 WINTYPESUNIT=WinApi.WinTypes
 X86UNIT=System.X86
 X86UNIT=System.X86
-XMC4500UNIT=EmbeddedApi.Xmc4500
+XMC4500UNIT=EmbeddedApi.xmc4500
 EXEINFOUNIT=System.ExeInfo
 EXEINFOUNIT=System.ExeInfo
 ERRORSUNIT=UnixApi.Errors
 ERRORSUNIT=UnixApi.Errors
 else
 else
@@ -2403,23 +2403,23 @@ SOFTFPU_DEPS=$(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
@@ -2790,10 +2790,13 @@ BLOCKRTL_DEPS=$(INC)/blockrtl.pp \
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 	$(COMPILER) $(BLOCKRTL_OPT) $<
 	$(COMPILER) $(BLOCKRTL_OPT) $<
+ifndef WININCDIR
+  WININCDIR = $(WINDIR)/wininc
+endif
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 windows$(PPUEXT): $(WINDOWS_DEPS)
 windows$(PPUEXT): $(WINDOWS_DEPS)
-	$(COMPILER) $(WINDOWS_OPT) $<
+	$(COMPILER) -Fi$(WININC) $(WINDOWS_OPT) $<
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
@@ -2802,6 +2805,18 @@ windirs$(PPUEXT): $(WINDIRS_DEPS)
 	$(COMPILER) $(WINDIRS_OPT) $<
 	$(COMPILER) $(WINDIRS_OPT) $<
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDIRS_OPT) $<
 	$(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=$(BSDINC)/sysctl.pp $(SYSTEMUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) \
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)

+ 70 - 55
rtl/dragonfly/Makefile

@@ -461,17 +461,17 @@ ESPIDF_40400UNIT=System.Espidf_40400
 EXEUNIT=OS2Api.exe
 EXEUNIT=OS2Api.exe
 EXEINFOUNIT=System.Exeinfo
 EXEINFOUNIT=System.Exeinfo
 EXTPASUNIT=extpas
 EXTPASUNIT=extpas
-FE310G000UNIT=EmbeddedApi.Fe310g000
-FE310G002UNIT=EmbeddedApi.Fe310g002
+FE310G000UNIT=EmbeddedApi.fe310g000
+FE310G002UNIT=EmbeddedApi.fe310g002
 FGLUNIT=System.FGL
 FGLUNIT=System.FGL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCYLIXUNIT=fpcylix
 FPCYLIXUNIT=fpcylix
 FPWIDESTRINGUNIT=System.FPWideString
 FPWIDESTRINGUNIT=System.FPWideString
 FREEBSDUNIT=FreeBSDApi.FreeBSD
 FREEBSDUNIT=FreeBSDApi.FreeBSD
-GD32VF103XXUNIT=EmbeddedApi.Gd32vf103xx
+GD32VF103XXUNIT=EmbeddedApi.gd32vf103xx
 GETOPTSUNIT=System.GetOpts
 GETOPTSUNIT=System.GetOpts
 GO32UNIT=DOSApi.GO32
 GO32UNIT=DOSApi.GO32
-GPIOUNIT=EmbeddedApi.Gpio
+GPIOUNIT=EmbeddedApi.gpio
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPTRCUNIT=heaptrc
 HEAPTRCUNIT=heaptrc
 INITCUNIT=System.InitC
 INITCUNIT=System.InitC
@@ -483,40 +483,40 @@ LIBCUNIT=NetwareLibCApi.Libc
 LINEINFOUNIT=System.LineInfo
 LINEINFOUNIT=System.LineInfo
 LINUXUNIT=LinuxApi
 LINUXUNIT=LinuxApi
 LINUXVCSUNIT=LinuxApi.Vcs
 LINUXVCSUNIT=LinuxApi.Vcs
-LM3FURYUNIT=EmbeddedApi.Lm3fury
-LM3TEMPESTUNIT=EmbeddedApi.Lm3tempest
-LM4F120UNIT=EmbeddedApi.Lm4f120
+LM3FURYUNIT=EmbeddedApi.lm3fury
+LM3TEMPESTUNIT=EmbeddedApi.lm3tempest
+LM4F120UNIT=EmbeddedApi.lm4f120
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFOGDBUNIT=System.LineInfo.Gdb
 LNFOGDBUNIT=System.LineInfo.Gdb
-LPC11XXUNIT=EmbeddedApi.Lpc11xx
-LPC122XUNIT=EmbeddedApi.Lpc122x
-LPC13XXUNIT=EmbeddedApi.Lpc13xx
-LPC1768UNIT=EmbeddedApi.Lpc1768
-LPC21X4UNIT=EmbeddedApi.Lpc21x4
-LPC8XXUNIT=EmbeddedApi.Lpc8xx
+LPC11XXUNIT=EmbeddedApi.lpc11xx
+LPC122XUNIT=EmbeddedApi.lpc122x
+LPC13XXUNIT=EmbeddedApi.lpc13xx
+LPC1768UNIT=EmbeddedApi.lpc1768
+LPC21X4UNIT=EmbeddedApi.lpc21x4
+LPC8XXUNIT=EmbeddedApi.lpc8xx
 LSTRINGSUNIT=System.LStrings
 LSTRINGSUNIT=System.LStrings
 MACOSUNIT=MacOSApi.MacOS
 MACOSUNIT=MacOSApi.MacOS
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACUTILSUNIT=MacOSApi.MacUtils
 MACUTILSUNIT=MacOSApi.MacUtils
-MAILBOXUNIT=EmbeddedApi.Mailbox
+MAILBOXUNIT=EmbeddedApi.mailbox
 MATHUNIT=System.Math
 MATHUNIT=System.Math
 MESSAGESUNIT=WinApi.Messages
 MESSAGESUNIT=WinApi.Messages
-MK20D5UNIT=EmbeddedApi.Mk20d5
-MK20D7UNIT=EmbeddedApi.Mk20d7
-MK22F51212UNIT=EmbeddedApi.Mk22f51212
-MK64F12UNIT=EmbeddedApi.Mk64f12
-MMIOUNIT=EmbeddedApi.Mmio
+MK20D5UNIT=EmbeddedApi.mk20d5
+MK20D7UNIT=EmbeddedApi.mk20d7
+MK22F51212UNIT=EmbeddedApi.mk22f51212
+MK64F12UNIT=EmbeddedApi.mk64f12
+MMIOUNIT=EmbeddedApi.mmio
 MMXUNIT=System.CPU.MMX
 MMXUNIT=System.CPU.MMX
 MONCALLSUNIT=OS2Api.moncalls
 MONCALLSUNIT=OS2Api.moncalls
 MOUCALLSUNIT=OS2Api.moucalls
 MOUCALLSUNIT=OS2Api.moucalls
 MSMOUSEUNIT=DOSApi.MSMouse
 MSMOUSEUNIT=DOSApi.MSMouse
-MULTIBOOTUNIT=EmbeddedApi.Multiboot
+MULTIBOOTUNIT=EmbeddedApi.multiboot
 NDKUNIT=NTApi.NDK
 NDKUNIT=NTApi.NDK
 NDKUTILSUNIT=NTApi.NDKUtils
 NDKUTILSUNIT=NTApi.NDKUtils
 NETWAREUNIT=NetwareApi.NetWare
 NETWAREUNIT=NetwareApi.NetWare
 NEWEXEUNIT=OS2Api.newexe
 NEWEXEUNIT=OS2Api.newexe
-NRF51UNIT=EmbeddedApi.Nrf51
-NRF52UNIT=EmbeddedApi.Nrf52
+NRF51UNIT=EmbeddedApi.nrf51
+NRF52UNIT=EmbeddedApi.nrf52
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWNITUNIT=NetWareApi.Nwnit
 NWNITUNIT=NetWareApi.Nwnit
 NWPREUNIT=NetWareApi.Nwpre
 NWPREUNIT=NetWareApi.Nwpre
@@ -542,13 +542,13 @@ PMWSOCKUNIT=OS2Api.pmwsock
 PORTSUNIT=System.Ports
 PORTSUNIT=System.Ports
 POSIXUNIT=QNXApi.Posix
 POSIXUNIT=QNXApi.Posix
 PROFILEUNIT=DOSApi.Profile
 PROFILEUNIT=DOSApi.Profile
-RASPI2UNIT=EmbeddedApi.Raspi2
-RASPI3UNIT=EmbeddedApi.Raspi3
-RASPIUARTUNIT=EmbeddedApi.Raspiuart
+RASPI2UNIT=EmbeddedApi.raspi2
+RASPI3UNIT=EmbeddedApi.raspi3
+RASPIUARTUNIT=EmbeddedApi.raspiuart
 RTLCONSTSUNIT=System.RtlConsts
 RTLCONSTSUNIT=System.RtlConsts
-SAM3X8EUNIT=EmbeddedApi.Sam3x8e
-SAMD51P19AUNIT=EmbeddedApi.Samd51p19a
-SC32442BUNIT=EmbeddedApi .Sc32442b
+SAM3X8EUNIT=EmbeddedApi.sam3x8e
+SAMD51P19AUNIT=EmbeddedApi.samd51p19a
+SC32442BUNIT=EmbeddedApi .sc32442b
 SFPU128UNIT=System.SoftFpu128
 SFPU128UNIT=System.SoftFpu128
 SFPUX80UNIT=System.SoftFpuX80
 SFPUX80UNIT=System.SoftFpuX80
 SHAREMEMUNIT=WinApi.ShareMem
 SHAREMEMUNIT=WinApi.ShareMem
@@ -556,25 +556,25 @@ SIGNALSUNIT=WinApi.Signals
 SO32DLLUNIT=OS2Api.so32dll
 SO32DLLUNIT=OS2Api.so32dll
 SOFTFPUUNIT=System.SoftFPU
 SOFTFPUUNIT=System.SoftFPU
 SORTBASEUNIT=System.SortBase
 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
+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
 STRINGSUNIT=System.Strings
 SYMBIANUNIT=SymbianApi.Symbian
 SYMBIANUNIT=SymbianApi.Symbian
 SYSALLUNIT=PalmApi.Sysall
 SYSALLUNIT=PalmApi.Sysall
@@ -610,7 +610,7 @@ WINPROCSUNIT=WinApi.WinProcs
 WINSYSUTUNIT=WinApi.WinSysUt
 WINSYSUTUNIT=WinApi.WinSysUt
 WINTYPESUNIT=WinApi.WinTypes
 WINTYPESUNIT=WinApi.WinTypes
 X86UNIT=System.X86
 X86UNIT=System.X86
-XMC4500UNIT=EmbeddedApi.Xmc4500
+XMC4500UNIT=EmbeddedApi.xmc4500
 EXEINFOUNIT=System.ExeInfo
 EXEINFOUNIT=System.ExeInfo
 ERRORSUNIT=UnixApi.Errors
 ERRORSUNIT=UnixApi.Errors
 else
 else
@@ -2284,23 +2284,23 @@ SOFTFPU_DEPS=$(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
@@ -2671,10 +2671,13 @@ BLOCKRTL_DEPS=$(INC)/blockrtl.pp \
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 	$(COMPILER) $(BLOCKRTL_OPT) $<
 	$(COMPILER) $(BLOCKRTL_OPT) $<
+ifndef WININCDIR
+  WININCDIR = $(WINDIR)/wininc
+endif
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 windows$(PPUEXT): $(WINDOWS_DEPS)
 windows$(PPUEXT): $(WINDOWS_DEPS)
-	$(COMPILER) $(WINDOWS_OPT) $<
+	$(COMPILER) -Fi$(WININC) $(WINDOWS_OPT) $<
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
@@ -2683,6 +2686,18 @@ windirs$(PPUEXT): $(WINDIRS_DEPS)
 	$(COMPILER) $(WINDIRS_OPT) $<
 	$(COMPILER) $(WINDIRS_OPT) $<
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDIRS_OPT) $<
 	$(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=$(BSDINC)/sysctl.pp $(SYSTEMUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) \
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)

+ 89 - 68
rtl/embedded/Makefile

@@ -461,17 +461,17 @@ ESPIDF_40400UNIT=System.Espidf_40400
 EXEUNIT=OS2Api.exe
 EXEUNIT=OS2Api.exe
 EXEINFOUNIT=System.Exeinfo
 EXEINFOUNIT=System.Exeinfo
 EXTPASUNIT=extpas
 EXTPASUNIT=extpas
-FE310G000UNIT=EmbeddedApi.Fe310g000
-FE310G002UNIT=EmbeddedApi.Fe310g002
+FE310G000UNIT=EmbeddedApi.fe310g000
+FE310G002UNIT=EmbeddedApi.fe310g002
 FGLUNIT=System.FGL
 FGLUNIT=System.FGL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCYLIXUNIT=fpcylix
 FPCYLIXUNIT=fpcylix
 FPWIDESTRINGUNIT=System.FPWideString
 FPWIDESTRINGUNIT=System.FPWideString
 FREEBSDUNIT=FreeBSDApi.FreeBSD
 FREEBSDUNIT=FreeBSDApi.FreeBSD
-GD32VF103XXUNIT=EmbeddedApi.Gd32vf103xx
+GD32VF103XXUNIT=EmbeddedApi.gd32vf103xx
 GETOPTSUNIT=System.GetOpts
 GETOPTSUNIT=System.GetOpts
 GO32UNIT=DOSApi.GO32
 GO32UNIT=DOSApi.GO32
-GPIOUNIT=EmbeddedApi.Gpio
+GPIOUNIT=EmbeddedApi.gpio
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPTRCUNIT=heaptrc
 HEAPTRCUNIT=heaptrc
 INITCUNIT=System.InitC
 INITCUNIT=System.InitC
@@ -483,40 +483,40 @@ LIBCUNIT=NetwareLibCApi.Libc
 LINEINFOUNIT=System.LineInfo
 LINEINFOUNIT=System.LineInfo
 LINUXUNIT=LinuxApi
 LINUXUNIT=LinuxApi
 LINUXVCSUNIT=LinuxApi.Vcs
 LINUXVCSUNIT=LinuxApi.Vcs
-LM3FURYUNIT=EmbeddedApi.Lm3fury
-LM3TEMPESTUNIT=EmbeddedApi.Lm3tempest
-LM4F120UNIT=EmbeddedApi.Lm4f120
+LM3FURYUNIT=EmbeddedApi.lm3fury
+LM3TEMPESTUNIT=EmbeddedApi.lm3tempest
+LM4F120UNIT=EmbeddedApi.lm4f120
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFOGDBUNIT=System.LineInfo.Gdb
 LNFOGDBUNIT=System.LineInfo.Gdb
-LPC11XXUNIT=EmbeddedApi.Lpc11xx
-LPC122XUNIT=EmbeddedApi.Lpc122x
-LPC13XXUNIT=EmbeddedApi.Lpc13xx
-LPC1768UNIT=EmbeddedApi.Lpc1768
-LPC21X4UNIT=EmbeddedApi.Lpc21x4
-LPC8XXUNIT=EmbeddedApi.Lpc8xx
+LPC11XXUNIT=EmbeddedApi.lpc11xx
+LPC122XUNIT=EmbeddedApi.lpc122x
+LPC13XXUNIT=EmbeddedApi.lpc13xx
+LPC1768UNIT=EmbeddedApi.lpc1768
+LPC21X4UNIT=EmbeddedApi.lpc21x4
+LPC8XXUNIT=EmbeddedApi.lpc8xx
 LSTRINGSUNIT=System.LStrings
 LSTRINGSUNIT=System.LStrings
 MACOSUNIT=MacOSApi.MacOS
 MACOSUNIT=MacOSApi.MacOS
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACUTILSUNIT=MacOSApi.MacUtils
 MACUTILSUNIT=MacOSApi.MacUtils
-MAILBOXUNIT=EmbeddedApi.Mailbox
+MAILBOXUNIT=EmbeddedApi.mailbox
 MATHUNIT=System.Math
 MATHUNIT=System.Math
 MESSAGESUNIT=WinApi.Messages
 MESSAGESUNIT=WinApi.Messages
-MK20D5UNIT=EmbeddedApi.Mk20d5
-MK20D7UNIT=EmbeddedApi.Mk20d7
-MK22F51212UNIT=EmbeddedApi.Mk22f51212
-MK64F12UNIT=EmbeddedApi.Mk64f12
-MMIOUNIT=EmbeddedApi.Mmio
+MK20D5UNIT=EmbeddedApi.mk20d5
+MK20D7UNIT=EmbeddedApi.mk20d7
+MK22F51212UNIT=EmbeddedApi.mk22f51212
+MK64F12UNIT=EmbeddedApi.mk64f12
+MMIOUNIT=EmbeddedApi.mmio
 MMXUNIT=System.CPU.MMX
 MMXUNIT=System.CPU.MMX
 MONCALLSUNIT=OS2Api.moncalls
 MONCALLSUNIT=OS2Api.moncalls
 MOUCALLSUNIT=OS2Api.moucalls
 MOUCALLSUNIT=OS2Api.moucalls
 MSMOUSEUNIT=DOSApi.MSMouse
 MSMOUSEUNIT=DOSApi.MSMouse
-MULTIBOOTUNIT=EmbeddedApi.Multiboot
+MULTIBOOTUNIT=EmbeddedApi.multiboot
 NDKUNIT=NTApi.NDK
 NDKUNIT=NTApi.NDK
 NDKUTILSUNIT=NTApi.NDKUtils
 NDKUTILSUNIT=NTApi.NDKUtils
 NETWAREUNIT=NetwareApi.NetWare
 NETWAREUNIT=NetwareApi.NetWare
 NEWEXEUNIT=OS2Api.newexe
 NEWEXEUNIT=OS2Api.newexe
-NRF51UNIT=EmbeddedApi.Nrf51
-NRF52UNIT=EmbeddedApi.Nrf52
+NRF51UNIT=EmbeddedApi.nrf51
+NRF52UNIT=EmbeddedApi.nrf52
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWNITUNIT=NetWareApi.Nwnit
 NWNITUNIT=NetWareApi.Nwnit
 NWPREUNIT=NetWareApi.Nwpre
 NWPREUNIT=NetWareApi.Nwpre
@@ -542,13 +542,13 @@ PMWSOCKUNIT=OS2Api.pmwsock
 PORTSUNIT=System.Ports
 PORTSUNIT=System.Ports
 POSIXUNIT=QNXApi.Posix
 POSIXUNIT=QNXApi.Posix
 PROFILEUNIT=DOSApi.Profile
 PROFILEUNIT=DOSApi.Profile
-RASPI2UNIT=EmbeddedApi.Raspi2
-RASPI3UNIT=EmbeddedApi.Raspi3
-RASPIUARTUNIT=EmbeddedApi.Raspiuart
+RASPI2UNIT=EmbeddedApi.raspi2
+RASPI3UNIT=EmbeddedApi.raspi3
+RASPIUARTUNIT=EmbeddedApi.raspiuart
 RTLCONSTSUNIT=System.RtlConsts
 RTLCONSTSUNIT=System.RtlConsts
-SAM3X8EUNIT=EmbeddedApi.Sam3x8e
-SAMD51P19AUNIT=EmbeddedApi.Samd51p19a
-SC32442BUNIT=EmbeddedApi .Sc32442b
+SAM3X8EUNIT=EmbeddedApi.sam3x8e
+SAMD51P19AUNIT=EmbeddedApi.samd51p19a
+SC32442BUNIT=EmbeddedApi .sc32442b
 SFPU128UNIT=System.SoftFpu128
 SFPU128UNIT=System.SoftFpu128
 SFPUX80UNIT=System.SoftFpuX80
 SFPUX80UNIT=System.SoftFpuX80
 SHAREMEMUNIT=WinApi.ShareMem
 SHAREMEMUNIT=WinApi.ShareMem
@@ -556,25 +556,25 @@ SIGNALSUNIT=WinApi.Signals
 SO32DLLUNIT=OS2Api.so32dll
 SO32DLLUNIT=OS2Api.so32dll
 SOFTFPUUNIT=System.SoftFPU
 SOFTFPUUNIT=System.SoftFPU
 SORTBASEUNIT=System.SortBase
 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
+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
 STRINGSUNIT=System.Strings
 SYMBIANUNIT=SymbianApi.Symbian
 SYMBIANUNIT=SymbianApi.Symbian
 SYSALLUNIT=PalmApi.Sysall
 SYSALLUNIT=PalmApi.Sysall
@@ -610,7 +610,7 @@ WINPROCSUNIT=WinApi.WinProcs
 WINSYSUTUNIT=WinApi.WinSysUt
 WINSYSUTUNIT=WinApi.WinSysUt
 WINTYPESUNIT=WinApi.WinTypes
 WINTYPESUNIT=WinApi.WinTypes
 X86UNIT=System.X86
 X86UNIT=System.X86
-XMC4500UNIT=EmbeddedApi.Xmc4500
+XMC4500UNIT=EmbeddedApi.xmc4500
 EXEINFOUNIT=System.ExeInfo
 EXEINFOUNIT=System.ExeInfo
 ERRORSUNIT=UnixApi.Errors
 ERRORSUNIT=UnixApi.Errors
 else
 else
@@ -897,7 +897,7 @@ CPU_SPECIFIC_COMMON_UNITS=$(SYSUTILSUNIT) $(MATHUNIT) $(CLASSESUNIT) \
 SYSUTILS_DEPS_OS=$(HEAPMGRUNIT)$(PPUEXT)
 SYSUTILS_DEPS_OS=$(HEAPMGRUNIT)$(PPUEXT)
 DOSDIR=.
 DOSDIR=.
 ifeq ($(ARCH),aarch64)
 ifeq ($(ARCH),aarch64)
-CPU_UNITS=raspi3 mmio mailbox raspiuart gpio
+CPU_UNITS=$(RASPI3UNIT) $(MMIOUNIT) $(MAILBOXUNIT) $(RASPIUARTUNIT) $(GPIOUNIT)
 CPU_UNITS_DEFINED=1
 CPU_UNITS_DEFINED=1
 endif
 endif
 ifeq ($(ARCH),arm)
 ifeq ($(ARCH),arm)
@@ -1001,7 +1001,7 @@ $(error No CPUs enabled for given SUBARCH, pass either a SUBARCH or set CPU_UNIT
 endif
 endif
 endif
 endif
 ifeq ($(ARCH),i386)
 ifeq ($(ARCH),i386)
-CPU_UNITS=multiboot
+CPU_UNITS=$(MULTIBOOTUNIT)
 CPU_UNITS_DEFINED=1
 CPU_UNITS_DEFINED=1
 ifeq ($(CPU_UNITS_DEFINED),)
 ifeq ($(CPU_UNITS_DEFINED),)
 $(error No CPUs enabled for given SUBARCH, pass either a SUBARCH or set CPU_UNITS_DEFINED=1 if you know what you are doing)
 $(error No CPUs enabled for given SUBARCH, pass either a SUBARCH or set CPU_UNITS_DEFINED=1 if you know what you are doing)
@@ -2636,23 +2636,23 @@ SOFTFPU_DEPS=$(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
@@ -3023,10 +3023,13 @@ BLOCKRTL_DEPS=$(INC)/blockrtl.pp \
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 	$(COMPILER) $(BLOCKRTL_OPT) $<
 	$(COMPILER) $(BLOCKRTL_OPT) $<
+ifndef WININCDIR
+  WININCDIR = $(WINDIR)/wininc
+endif
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 windows$(PPUEXT): $(WINDOWS_DEPS)
 windows$(PPUEXT): $(WINDOWS_DEPS)
-	$(COMPILER) $(WINDOWS_OPT) $<
+	$(COMPILER) -Fi$(WININC) $(WINDOWS_OPT) $<
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
@@ -3035,6 +3038,18 @@ windirs$(PPUEXT): $(WINDIRS_DEPS)
 	$(COMPILER) $(WINDIRS_OPT) $<
 	$(COMPILER) $(WINDIRS_OPT) $<
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDIRS_OPT) $<
 	$(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=$(BSDINC)/sysctl.pp $(SYSTEMUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) \
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)
@@ -3186,13 +3201,13 @@ CONSOLEIO_DEPS= consoleio.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	$(CONSOLEIO_DEPS_OS) $(CONSOLEIO_DEPS_CPU)
 	$(CONSOLEIO_DEPS_OS) $(CONSOLEIO_DEPS_CPU)
 consoleio$(PPUEXT) : $(CONSOLEIO_DEPS)
 consoleio$(PPUEXT) : $(CONSOLEIO_DEPS)
 	$(COMPILER) $(CONSOLEIO_OPT) $<
 	$(COMPILER) $(CONSOLEIO_OPT) $<
-EmbeddedApi.ConsoleIO$(PPUEXT) : $(NSDIR)/embedded/EmbeddedApi.ConsoleIO.pp $(CONSOLEIO_DEPS)
+EmbeddedApi.ConsoleIO$(PPUEXT) : $(NSOSDIR)/EmbeddedApi.ConsoleIO.pp $(CONSOLEIO_DEPS)
 	$(COMPILER) $(CONSOLEIO_OPT) -Fi. $<
 	$(COMPILER) $(CONSOLEIO_OPT) -Fi. $<
 HEAPMGR_DEPS= heapmgr.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 HEAPMGR_DEPS= heapmgr.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	$(HEAPMGR_DEPS_OS) $(HEAPMGR_DEPS_CPU)
 	$(HEAPMGR_DEPS_OS) $(HEAPMGR_DEPS_CPU)
 heapmgr$(PPUEXT) : $(HEAPMGR_DEPS)
 heapmgr$(PPUEXT) : $(HEAPMGR_DEPS)
 	$(COMPILER) $(HEAPMGR_OPT) $<
 	$(COMPILER) $(HEAPMGR_OPT) $<
-EmbeddedApi.HeapMGR$(PPUEXT) : $(NSDIR)/embedded/EmbeddedApi.HeapMGR.pp $(HEAPMGR_DEPS)
+EmbeddedApi.HeapMGR$(PPUEXT) : $(NSOSDIR)/EmbeddedApi.HeapMGR.pp $(HEAPMGR_DEPS)
 	$(COMPILER) $(HEAPMGR_OPT) -Fi. $<
 	$(COMPILER) $(HEAPMGR_OPT) -Fi. $<
 define CPU_UNITS_RULE
 define CPU_UNITS_RULE
 ifeq ($(ARCH),avr)
 ifeq ($(ARCH),avr)
@@ -3203,46 +3218,52 @@ endif
 endef
 endef
 $(foreach unit,$(CPU_UNITS),$(eval $(call CPU_UNITS_RULE,$(unit))))
 $(foreach unit,$(CPU_UNITS),$(eval $(call CPU_UNITS_RULE,$(unit))))
 $(addsuffix $(PPUEXT),$(CPU_UNITS)):
 $(addsuffix $(PPUEXT),$(CPU_UNITS)):
-	$(COMPILER) -g $<
+       $(COMPILER) -g $<
 intrinsics$(PPUEXT): $(PROCINC)/intrinsics.pp $(SYSTEMUNIT)$(PPUEXT)
 intrinsics$(PPUEXT): $(PROCINC)/intrinsics.pp $(SYSTEMUNIT)$(PPUEXT)
 	$(COMPILER) $<
 	$(COMPILER) $<
 avrsim$(PPUEXT): $(ARCH)/avrsim.pp $(HEAPMGRUNIT)$(PPUEXT) $(CONSOLEIOUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
 avrsim$(PPUEXT): $(ARCH)/avrsim.pp $(HEAPMGRUNIT)$(PPUEXT) $(CONSOLEIOUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
 	$(COMPILER) $(ARCH)/avrsim.pp
 	$(COMPILER) $(ARCH)/avrsim.pp
+MULTIBOOT_DEPS = $(ARCH)/multiboot.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
+	$(MULTIBOOT_DEPS_OS) $(MULTIBOOT_DEPS_CPU)
+multiboot$(PPUEXT) : $(MULTIBOOT_DEPS)
+	$(COMPILER) $(MULTIBOOT_OPT) $<
+EmbeddedApi.multiboot$(PPUEXT) : $(NSOSDIR)/$(ARCH)/EmbeddedApi.multiboot.pp $(MULTIBOOT_DEPS)
+	$(COMPILER) $(MULTIBOOT_OPT) -Fi. -Fi$(ARCH) $<
 RASPI2_DEPS = $(ARCH)/raspi2.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 RASPI2_DEPS = $(ARCH)/raspi2.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	$(RASPI2_DEPS_OS) $(RASPI2_DEPS_CPU)
 	$(RASPI2_DEPS_OS) $(RASPI2_DEPS_CPU)
 raspi2$(PPUEXT) : $(RASPI2_DEPS)
 raspi2$(PPUEXT) : $(RASPI2_DEPS)
 	$(COMPILER) $(RASPI2_OPT) $<
 	$(COMPILER) $(RASPI2_OPT) $<
-EmbeddedApi.Raspi2$(PPUEXT) : $(NSDIR)/embedded/$(ARCH)/EmbeddedApi.Raspi2.pp $(RASPI2_DEPS)
+EmbeddedApi.Raspi2$(PPUEXT) : $(NSOSDIR)/$(ARCH)/EmbeddedApi.Raspi2.pp $(RASPI2_DEPS)
 	$(COMPILER) $(RASPI2_OPT) -Fi. -Fi$(ARCH) $<
 	$(COMPILER) $(RASPI2_OPT) -Fi. -Fi$(ARCH) $<
-GPIO_DEPS = $(ARCH)/xxx.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
+GPIO_DEPS = $(ARCH)/gpio.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	$(GPIO_DEPS_OS) $(GPIO_DEPS_CPU)
 	$(GPIO_DEPS_OS) $(GPIO_DEPS_CPU)
-xxx$(PPUEXT) : $(GPIO_DEPS)
+gpio$(PPUEXT) : $(GPIO_DEPS)
 	$(COMPILER) $(GPIO_OPT) $<
 	$(COMPILER) $(GPIO_OPT) $<
-EmbeddedApi.gpio$(PPUEXT) : $(NSDIR)/embedded/$(ARCH)/EmbeddedApi.gpio.pp $(GPIO_DEPS)
+EmbeddedApi.gpio$(PPUEXT) : $(NSOSDIR)/$(ARCH)/EmbeddedApi.gpio.pp $(GPIO_DEPS)
 	$(COMPILER) $(GPIO_OPT) -Fi. -Fi$(ARCH) $<
 	$(COMPILER) $(GPIO_OPT) -Fi. -Fi$(ARCH) $<
 MMIO_DEPS = $(ARCH)/mmio.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 MMIO_DEPS = $(ARCH)/mmio.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	$(MMIO_DEPS_OS) $(MMIO_DEPS_CPU)
 	$(MMIO_DEPS_OS) $(MMIO_DEPS_CPU)
 mmio$(PPUEXT) : $(MMIO_DEPS)
 mmio$(PPUEXT) : $(MMIO_DEPS)
 	$(COMPILER) $(MMIO_OPT) $<
 	$(COMPILER) $(MMIO_OPT) $<
-EmbeddedApi.Mmio$(PPUEXT) : $(NSDIR)/embedded/$(ARCH)/EmbeddedApi.Mmio.pp $(MMIO_DEPS)
+EmbeddedApi.mmio$(PPUEXT) : $(NSOSDIR)/$(ARCH)/EmbeddedApi.mmio.pp $(MMIO_DEPS)
 	$(COMPILER) $(MMIO_OPT) -Fi. -Fi$(ARCH) $<
 	$(COMPILER) $(MMIO_OPT) -Fi. -Fi$(ARCH) $<
 MAILBOX_DEPS = $(ARCH)/mailbox.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) $(MMIOUNIT)$(PPUEXT) \
 MAILBOX_DEPS = $(ARCH)/mailbox.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) $(MMIOUNIT)$(PPUEXT) \
 	$(MAILBOX_DEPS_OS) $(MAILBOX_DEPS_CPU)
 	$(MAILBOX_DEPS_OS) $(MAILBOX_DEPS_CPU)
 mailbox$(PPUEXT) : $(MAILBOX_DEPS)
 mailbox$(PPUEXT) : $(MAILBOX_DEPS)
 	$(COMPILER) $(MAILBOX_OPT) $<
 	$(COMPILER) $(MAILBOX_OPT) $<
-EmbeddedApi.mailbox$(PPUEXT) : $(NSDIR)/embedded/EmbeddedApi.mailbox.pp $(MAILBOX_DEPS)
+EmbeddedApi.mailbox$(PPUEXT) : $(NSOSDIR)/$(ARCH)/EmbeddedApi.mailbox.pp $(MAILBOX_DEPS)
 	$(COMPILER) $(MAILBOX_OPT) -Fi. -Fi$(ARCH) $<
 	$(COMPILER) $(MAILBOX_OPT) -Fi. -Fi$(ARCH) $<
 RASPIUART_DEPS = $(ARCH)/raspiuart.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 RASPIUART_DEPS = $(ARCH)/raspiuart.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	$(MAILBOXUNIT)$(PPUEXT) $(GPIOUNIT)$(PPUEXT) $(MMIOUNIT)$(PPUEXT) \
 	$(MAILBOXUNIT)$(PPUEXT) $(GPIOUNIT)$(PPUEXT) $(MMIOUNIT)$(PPUEXT) \
 	$(RASPIUART_DEPS_OS) $(RASPIUART_DEPS_CPU)
 	$(RASPIUART_DEPS_OS) $(RASPIUART_DEPS_CPU)
 raspiuart$(PPUEXT) : $(RASPIUART_DEPS)
 raspiuart$(PPUEXT) : $(RASPIUART_DEPS)
 	$(COMPILER) $(RASPIUART_OPT) $<
 	$(COMPILER) $(RASPIUART_OPT) $<
-EmbeddedApi.raspiuart$(PPUEXT) : $(NSDIR)/embedded/$(ARCH)/EmbeddedApi.raspiuart.pp $(RASPIUART_DEPS)
+EmbeddedApi.raspiuart$(PPUEXT) : $(NSOSDIR)/$(ARCH)/EmbeddedApi.raspiuart.pp $(RASPIUART_DEPS)
 	$(COMPILER) $(RASPIUART_OPT) -Fi. -Fi$(ARCH) $<
 	$(COMPILER) $(RASPIUART_OPT) -Fi. -Fi$(ARCH) $<
 RASPI3_DEPS = $(ARCH)/raspi3.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 RASPI3_DEPS = $(ARCH)/raspi3.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	$(MAILBOXUNIT)$(PPUEXT) $(GPIOUNIT)$(PPUEXT) $(MMIOUNIT)$(PPUEXT) $(RASPIUARTUNIT)$(PPUEXT)  \
 	$(MAILBOXUNIT)$(PPUEXT) $(GPIOUNIT)$(PPUEXT) $(MMIOUNIT)$(PPUEXT) $(RASPIUARTUNIT)$(PPUEXT)  \
 	$(RASPI3_DEPS_OS) $(RASPI3_DEPS_CPU)
 	$(RASPI3_DEPS_OS) $(RASPI3_DEPS_CPU)
 raspi3$(PPUEXT) : $(RASPI3_DEPS)
 raspi3$(PPUEXT) : $(RASPI3_DEPS)
 	$(COMPILER) $(RASPI3_OPT) $<
 	$(COMPILER) $(RASPI3_OPT) $<
-EmbeddedApi.raspi3$(PPUEXT) : $(NSDIR)/embedded/i$(ARCH)/EmbeddedApi.raspi3.pp $(RASPI3_DEPS)
+EmbeddedApi.raspi3$(PPUEXT) : $(NSOSDIR)/$(ARCH)/EmbeddedApi.raspi3.pp $(RASPI3_DEPS)
 	$(COMPILER) $(RASPI3_OPT) -Fi. -Fi$(ARCH) $<
 	$(COMPILER) $(RASPI3_OPT) -Fi. -Fi$(ARCH) $<

+ 70 - 55
rtl/emx/Makefile

@@ -462,17 +462,17 @@ ESPIDF_40400UNIT=System.Espidf_40400
 EXEUNIT=OS2Api.exe
 EXEUNIT=OS2Api.exe
 EXEINFOUNIT=System.Exeinfo
 EXEINFOUNIT=System.Exeinfo
 EXTPASUNIT=extpas
 EXTPASUNIT=extpas
-FE310G000UNIT=EmbeddedApi.Fe310g000
-FE310G002UNIT=EmbeddedApi.Fe310g002
+FE310G000UNIT=EmbeddedApi.fe310g000
+FE310G002UNIT=EmbeddedApi.fe310g002
 FGLUNIT=System.FGL
 FGLUNIT=System.FGL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCYLIXUNIT=fpcylix
 FPCYLIXUNIT=fpcylix
 FPWIDESTRINGUNIT=System.FPWideString
 FPWIDESTRINGUNIT=System.FPWideString
 FREEBSDUNIT=FreeBSDApi.FreeBSD
 FREEBSDUNIT=FreeBSDApi.FreeBSD
-GD32VF103XXUNIT=EmbeddedApi.Gd32vf103xx
+GD32VF103XXUNIT=EmbeddedApi.gd32vf103xx
 GETOPTSUNIT=System.GetOpts
 GETOPTSUNIT=System.GetOpts
 GO32UNIT=DOSApi.GO32
 GO32UNIT=DOSApi.GO32
-GPIOUNIT=EmbeddedApi.Gpio
+GPIOUNIT=EmbeddedApi.gpio
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPTRCUNIT=heaptrc
 HEAPTRCUNIT=heaptrc
 INITCUNIT=System.InitC
 INITCUNIT=System.InitC
@@ -484,40 +484,40 @@ LIBCUNIT=NetwareLibCApi.Libc
 LINEINFOUNIT=System.LineInfo
 LINEINFOUNIT=System.LineInfo
 LINUXUNIT=LinuxApi
 LINUXUNIT=LinuxApi
 LINUXVCSUNIT=LinuxApi.Vcs
 LINUXVCSUNIT=LinuxApi.Vcs
-LM3FURYUNIT=EmbeddedApi.Lm3fury
-LM3TEMPESTUNIT=EmbeddedApi.Lm3tempest
-LM4F120UNIT=EmbeddedApi.Lm4f120
+LM3FURYUNIT=EmbeddedApi.lm3fury
+LM3TEMPESTUNIT=EmbeddedApi.lm3tempest
+LM4F120UNIT=EmbeddedApi.lm4f120
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFOGDBUNIT=System.LineInfo.Gdb
 LNFOGDBUNIT=System.LineInfo.Gdb
-LPC11XXUNIT=EmbeddedApi.Lpc11xx
-LPC122XUNIT=EmbeddedApi.Lpc122x
-LPC13XXUNIT=EmbeddedApi.Lpc13xx
-LPC1768UNIT=EmbeddedApi.Lpc1768
-LPC21X4UNIT=EmbeddedApi.Lpc21x4
-LPC8XXUNIT=EmbeddedApi.Lpc8xx
+LPC11XXUNIT=EmbeddedApi.lpc11xx
+LPC122XUNIT=EmbeddedApi.lpc122x
+LPC13XXUNIT=EmbeddedApi.lpc13xx
+LPC1768UNIT=EmbeddedApi.lpc1768
+LPC21X4UNIT=EmbeddedApi.lpc21x4
+LPC8XXUNIT=EmbeddedApi.lpc8xx
 LSTRINGSUNIT=System.LStrings
 LSTRINGSUNIT=System.LStrings
 MACOSUNIT=MacOSApi.MacOS
 MACOSUNIT=MacOSApi.MacOS
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACUTILSUNIT=MacOSApi.MacUtils
 MACUTILSUNIT=MacOSApi.MacUtils
-MAILBOXUNIT=EmbeddedApi.Mailbox
+MAILBOXUNIT=EmbeddedApi.mailbox
 MATHUNIT=System.Math
 MATHUNIT=System.Math
 MESSAGESUNIT=WinApi.Messages
 MESSAGESUNIT=WinApi.Messages
-MK20D5UNIT=EmbeddedApi.Mk20d5
-MK20D7UNIT=EmbeddedApi.Mk20d7
-MK22F51212UNIT=EmbeddedApi.Mk22f51212
-MK64F12UNIT=EmbeddedApi.Mk64f12
-MMIOUNIT=EmbeddedApi.Mmio
+MK20D5UNIT=EmbeddedApi.mk20d5
+MK20D7UNIT=EmbeddedApi.mk20d7
+MK22F51212UNIT=EmbeddedApi.mk22f51212
+MK64F12UNIT=EmbeddedApi.mk64f12
+MMIOUNIT=EmbeddedApi.mmio
 MMXUNIT=System.CPU.MMX
 MMXUNIT=System.CPU.MMX
 MONCALLSUNIT=OS2Api.moncalls
 MONCALLSUNIT=OS2Api.moncalls
 MOUCALLSUNIT=OS2Api.moucalls
 MOUCALLSUNIT=OS2Api.moucalls
 MSMOUSEUNIT=DOSApi.MSMouse
 MSMOUSEUNIT=DOSApi.MSMouse
-MULTIBOOTUNIT=EmbeddedApi.Multiboot
+MULTIBOOTUNIT=EmbeddedApi.multiboot
 NDKUNIT=NTApi.NDK
 NDKUNIT=NTApi.NDK
 NDKUTILSUNIT=NTApi.NDKUtils
 NDKUTILSUNIT=NTApi.NDKUtils
 NETWAREUNIT=NetwareApi.NetWare
 NETWAREUNIT=NetwareApi.NetWare
 NEWEXEUNIT=OS2Api.newexe
 NEWEXEUNIT=OS2Api.newexe
-NRF51UNIT=EmbeddedApi.Nrf51
-NRF52UNIT=EmbeddedApi.Nrf52
+NRF51UNIT=EmbeddedApi.nrf51
+NRF52UNIT=EmbeddedApi.nrf52
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWNITUNIT=NetWareApi.Nwnit
 NWNITUNIT=NetWareApi.Nwnit
 NWPREUNIT=NetWareApi.Nwpre
 NWPREUNIT=NetWareApi.Nwpre
@@ -543,13 +543,13 @@ PMWSOCKUNIT=OS2Api.pmwsock
 PORTSUNIT=System.Ports
 PORTSUNIT=System.Ports
 POSIXUNIT=QNXApi.Posix
 POSIXUNIT=QNXApi.Posix
 PROFILEUNIT=DOSApi.Profile
 PROFILEUNIT=DOSApi.Profile
-RASPI2UNIT=EmbeddedApi.Raspi2
-RASPI3UNIT=EmbeddedApi.Raspi3
-RASPIUARTUNIT=EmbeddedApi.Raspiuart
+RASPI2UNIT=EmbeddedApi.raspi2
+RASPI3UNIT=EmbeddedApi.raspi3
+RASPIUARTUNIT=EmbeddedApi.raspiuart
 RTLCONSTSUNIT=System.RtlConsts
 RTLCONSTSUNIT=System.RtlConsts
-SAM3X8EUNIT=EmbeddedApi.Sam3x8e
-SAMD51P19AUNIT=EmbeddedApi.Samd51p19a
-SC32442BUNIT=EmbeddedApi .Sc32442b
+SAM3X8EUNIT=EmbeddedApi.sam3x8e
+SAMD51P19AUNIT=EmbeddedApi.samd51p19a
+SC32442BUNIT=EmbeddedApi .sc32442b
 SFPU128UNIT=System.SoftFpu128
 SFPU128UNIT=System.SoftFpu128
 SFPUX80UNIT=System.SoftFpuX80
 SFPUX80UNIT=System.SoftFpuX80
 SHAREMEMUNIT=WinApi.ShareMem
 SHAREMEMUNIT=WinApi.ShareMem
@@ -557,25 +557,25 @@ SIGNALSUNIT=WinApi.Signals
 SO32DLLUNIT=OS2Api.so32dll
 SO32DLLUNIT=OS2Api.so32dll
 SOFTFPUUNIT=System.SoftFPU
 SOFTFPUUNIT=System.SoftFPU
 SORTBASEUNIT=System.SortBase
 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
+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
 STRINGSUNIT=System.Strings
 SYMBIANUNIT=SymbianApi.Symbian
 SYMBIANUNIT=SymbianApi.Symbian
 SYSALLUNIT=PalmApi.Sysall
 SYSALLUNIT=PalmApi.Sysall
@@ -611,7 +611,7 @@ WINPROCSUNIT=WinApi.WinProcs
 WINSYSUTUNIT=WinApi.WinSysUt
 WINSYSUTUNIT=WinApi.WinSysUt
 WINTYPESUNIT=WinApi.WinTypes
 WINTYPESUNIT=WinApi.WinTypes
 X86UNIT=System.X86
 X86UNIT=System.X86
-XMC4500UNIT=EmbeddedApi.Xmc4500
+XMC4500UNIT=EmbeddedApi.xmc4500
 EXEINFOUNIT=System.ExeInfo
 EXEINFOUNIT=System.ExeInfo
 ERRORSUNIT=UnixApi.Errors
 ERRORSUNIT=UnixApi.Errors
 else
 else
@@ -2287,23 +2287,23 @@ SOFTFPU_DEPS=$(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
@@ -2674,10 +2674,13 @@ BLOCKRTL_DEPS=$(INC)/blockrtl.pp \
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 	$(COMPILER) $(BLOCKRTL_OPT) $<
 	$(COMPILER) $(BLOCKRTL_OPT) $<
+ifndef WININCDIR
+  WININCDIR = $(WINDIR)/wininc
+endif
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 windows$(PPUEXT): $(WINDOWS_DEPS)
 windows$(PPUEXT): $(WINDOWS_DEPS)
-	$(COMPILER) $(WINDOWS_OPT) $<
+	$(COMPILER) -Fi$(WININC) $(WINDOWS_OPT) $<
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
@@ -2686,6 +2689,18 @@ windirs$(PPUEXT): $(WINDIRS_DEPS)
 	$(COMPILER) $(WINDIRS_OPT) $<
 	$(COMPILER) $(WINDIRS_OPT) $<
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDIRS_OPT) $<
 	$(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=$(BSDINC)/sysctl.pp $(SYSTEMUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) \
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)

+ 70 - 55
rtl/freebsd/Makefile

@@ -461,17 +461,17 @@ ESPIDF_40400UNIT=System.Espidf_40400
 EXEUNIT=OS2Api.exe
 EXEUNIT=OS2Api.exe
 EXEINFOUNIT=System.Exeinfo
 EXEINFOUNIT=System.Exeinfo
 EXTPASUNIT=extpas
 EXTPASUNIT=extpas
-FE310G000UNIT=EmbeddedApi.Fe310g000
-FE310G002UNIT=EmbeddedApi.Fe310g002
+FE310G000UNIT=EmbeddedApi.fe310g000
+FE310G002UNIT=EmbeddedApi.fe310g002
 FGLUNIT=System.FGL
 FGLUNIT=System.FGL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCYLIXUNIT=fpcylix
 FPCYLIXUNIT=fpcylix
 FPWIDESTRINGUNIT=System.FPWideString
 FPWIDESTRINGUNIT=System.FPWideString
 FREEBSDUNIT=FreeBSDApi.FreeBSD
 FREEBSDUNIT=FreeBSDApi.FreeBSD
-GD32VF103XXUNIT=EmbeddedApi.Gd32vf103xx
+GD32VF103XXUNIT=EmbeddedApi.gd32vf103xx
 GETOPTSUNIT=System.GetOpts
 GETOPTSUNIT=System.GetOpts
 GO32UNIT=DOSApi.GO32
 GO32UNIT=DOSApi.GO32
-GPIOUNIT=EmbeddedApi.Gpio
+GPIOUNIT=EmbeddedApi.gpio
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPTRCUNIT=heaptrc
 HEAPTRCUNIT=heaptrc
 INITCUNIT=System.InitC
 INITCUNIT=System.InitC
@@ -483,40 +483,40 @@ LIBCUNIT=NetwareLibCApi.Libc
 LINEINFOUNIT=System.LineInfo
 LINEINFOUNIT=System.LineInfo
 LINUXUNIT=LinuxApi
 LINUXUNIT=LinuxApi
 LINUXVCSUNIT=LinuxApi.Vcs
 LINUXVCSUNIT=LinuxApi.Vcs
-LM3FURYUNIT=EmbeddedApi.Lm3fury
-LM3TEMPESTUNIT=EmbeddedApi.Lm3tempest
-LM4F120UNIT=EmbeddedApi.Lm4f120
+LM3FURYUNIT=EmbeddedApi.lm3fury
+LM3TEMPESTUNIT=EmbeddedApi.lm3tempest
+LM4F120UNIT=EmbeddedApi.lm4f120
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFOGDBUNIT=System.LineInfo.Gdb
 LNFOGDBUNIT=System.LineInfo.Gdb
-LPC11XXUNIT=EmbeddedApi.Lpc11xx
-LPC122XUNIT=EmbeddedApi.Lpc122x
-LPC13XXUNIT=EmbeddedApi.Lpc13xx
-LPC1768UNIT=EmbeddedApi.Lpc1768
-LPC21X4UNIT=EmbeddedApi.Lpc21x4
-LPC8XXUNIT=EmbeddedApi.Lpc8xx
+LPC11XXUNIT=EmbeddedApi.lpc11xx
+LPC122XUNIT=EmbeddedApi.lpc122x
+LPC13XXUNIT=EmbeddedApi.lpc13xx
+LPC1768UNIT=EmbeddedApi.lpc1768
+LPC21X4UNIT=EmbeddedApi.lpc21x4
+LPC8XXUNIT=EmbeddedApi.lpc8xx
 LSTRINGSUNIT=System.LStrings
 LSTRINGSUNIT=System.LStrings
 MACOSUNIT=MacOSApi.MacOS
 MACOSUNIT=MacOSApi.MacOS
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACUTILSUNIT=MacOSApi.MacUtils
 MACUTILSUNIT=MacOSApi.MacUtils
-MAILBOXUNIT=EmbeddedApi.Mailbox
+MAILBOXUNIT=EmbeddedApi.mailbox
 MATHUNIT=System.Math
 MATHUNIT=System.Math
 MESSAGESUNIT=WinApi.Messages
 MESSAGESUNIT=WinApi.Messages
-MK20D5UNIT=EmbeddedApi.Mk20d5
-MK20D7UNIT=EmbeddedApi.Mk20d7
-MK22F51212UNIT=EmbeddedApi.Mk22f51212
-MK64F12UNIT=EmbeddedApi.Mk64f12
-MMIOUNIT=EmbeddedApi.Mmio
+MK20D5UNIT=EmbeddedApi.mk20d5
+MK20D7UNIT=EmbeddedApi.mk20d7
+MK22F51212UNIT=EmbeddedApi.mk22f51212
+MK64F12UNIT=EmbeddedApi.mk64f12
+MMIOUNIT=EmbeddedApi.mmio
 MMXUNIT=System.CPU.MMX
 MMXUNIT=System.CPU.MMX
 MONCALLSUNIT=OS2Api.moncalls
 MONCALLSUNIT=OS2Api.moncalls
 MOUCALLSUNIT=OS2Api.moucalls
 MOUCALLSUNIT=OS2Api.moucalls
 MSMOUSEUNIT=DOSApi.MSMouse
 MSMOUSEUNIT=DOSApi.MSMouse
-MULTIBOOTUNIT=EmbeddedApi.Multiboot
+MULTIBOOTUNIT=EmbeddedApi.multiboot
 NDKUNIT=NTApi.NDK
 NDKUNIT=NTApi.NDK
 NDKUTILSUNIT=NTApi.NDKUtils
 NDKUTILSUNIT=NTApi.NDKUtils
 NETWAREUNIT=NetwareApi.NetWare
 NETWAREUNIT=NetwareApi.NetWare
 NEWEXEUNIT=OS2Api.newexe
 NEWEXEUNIT=OS2Api.newexe
-NRF51UNIT=EmbeddedApi.Nrf51
-NRF52UNIT=EmbeddedApi.Nrf52
+NRF51UNIT=EmbeddedApi.nrf51
+NRF52UNIT=EmbeddedApi.nrf52
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWNITUNIT=NetWareApi.Nwnit
 NWNITUNIT=NetWareApi.Nwnit
 NWPREUNIT=NetWareApi.Nwpre
 NWPREUNIT=NetWareApi.Nwpre
@@ -542,13 +542,13 @@ PMWSOCKUNIT=OS2Api.pmwsock
 PORTSUNIT=System.Ports
 PORTSUNIT=System.Ports
 POSIXUNIT=QNXApi.Posix
 POSIXUNIT=QNXApi.Posix
 PROFILEUNIT=DOSApi.Profile
 PROFILEUNIT=DOSApi.Profile
-RASPI2UNIT=EmbeddedApi.Raspi2
-RASPI3UNIT=EmbeddedApi.Raspi3
-RASPIUARTUNIT=EmbeddedApi.Raspiuart
+RASPI2UNIT=EmbeddedApi.raspi2
+RASPI3UNIT=EmbeddedApi.raspi3
+RASPIUARTUNIT=EmbeddedApi.raspiuart
 RTLCONSTSUNIT=System.RtlConsts
 RTLCONSTSUNIT=System.RtlConsts
-SAM3X8EUNIT=EmbeddedApi.Sam3x8e
-SAMD51P19AUNIT=EmbeddedApi.Samd51p19a
-SC32442BUNIT=EmbeddedApi .Sc32442b
+SAM3X8EUNIT=EmbeddedApi.sam3x8e
+SAMD51P19AUNIT=EmbeddedApi.samd51p19a
+SC32442BUNIT=EmbeddedApi .sc32442b
 SFPU128UNIT=System.SoftFpu128
 SFPU128UNIT=System.SoftFpu128
 SFPUX80UNIT=System.SoftFpuX80
 SFPUX80UNIT=System.SoftFpuX80
 SHAREMEMUNIT=WinApi.ShareMem
 SHAREMEMUNIT=WinApi.ShareMem
@@ -556,25 +556,25 @@ SIGNALSUNIT=WinApi.Signals
 SO32DLLUNIT=OS2Api.so32dll
 SO32DLLUNIT=OS2Api.so32dll
 SOFTFPUUNIT=System.SoftFPU
 SOFTFPUUNIT=System.SoftFPU
 SORTBASEUNIT=System.SortBase
 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
+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
 STRINGSUNIT=System.Strings
 SYMBIANUNIT=SymbianApi.Symbian
 SYMBIANUNIT=SymbianApi.Symbian
 SYSALLUNIT=PalmApi.Sysall
 SYSALLUNIT=PalmApi.Sysall
@@ -610,7 +610,7 @@ WINPROCSUNIT=WinApi.WinProcs
 WINSYSUTUNIT=WinApi.WinSysUt
 WINSYSUTUNIT=WinApi.WinSysUt
 WINTYPESUNIT=WinApi.WinTypes
 WINTYPESUNIT=WinApi.WinTypes
 X86UNIT=System.X86
 X86UNIT=System.X86
-XMC4500UNIT=EmbeddedApi.Xmc4500
+XMC4500UNIT=EmbeddedApi.xmc4500
 EXEINFOUNIT=System.ExeInfo
 EXEINFOUNIT=System.ExeInfo
 ERRORSUNIT=UnixApi.Errors
 ERRORSUNIT=UnixApi.Errors
 else
 else
@@ -2325,23 +2325,23 @@ SOFTFPU_DEPS=$(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
@@ -2712,10 +2712,13 @@ BLOCKRTL_DEPS=$(INC)/blockrtl.pp \
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 	$(COMPILER) $(BLOCKRTL_OPT) $<
 	$(COMPILER) $(BLOCKRTL_OPT) $<
+ifndef WININCDIR
+  WININCDIR = $(WINDIR)/wininc
+endif
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 windows$(PPUEXT): $(WINDOWS_DEPS)
 windows$(PPUEXT): $(WINDOWS_DEPS)
-	$(COMPILER) $(WINDOWS_OPT) $<
+	$(COMPILER) -Fi$(WININC) $(WINDOWS_OPT) $<
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
@@ -2724,6 +2727,18 @@ windirs$(PPUEXT): $(WINDIRS_DEPS)
 	$(COMPILER) $(WINDIRS_OPT) $<
 	$(COMPILER) $(WINDIRS_OPT) $<
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDIRS_OPT) $<
 	$(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=$(BSDINC)/sysctl.pp $(SYSTEMUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) \
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)

+ 70 - 55
rtl/freertos/Makefile

@@ -461,17 +461,17 @@ ESPIDF_40400UNIT=System.Espidf_40400
 EXEUNIT=OS2Api.exe
 EXEUNIT=OS2Api.exe
 EXEINFOUNIT=System.Exeinfo
 EXEINFOUNIT=System.Exeinfo
 EXTPASUNIT=extpas
 EXTPASUNIT=extpas
-FE310G000UNIT=EmbeddedApi.Fe310g000
-FE310G002UNIT=EmbeddedApi.Fe310g002
+FE310G000UNIT=EmbeddedApi.fe310g000
+FE310G002UNIT=EmbeddedApi.fe310g002
 FGLUNIT=System.FGL
 FGLUNIT=System.FGL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCYLIXUNIT=fpcylix
 FPCYLIXUNIT=fpcylix
 FPWIDESTRINGUNIT=System.FPWideString
 FPWIDESTRINGUNIT=System.FPWideString
 FREEBSDUNIT=FreeBSDApi.FreeBSD
 FREEBSDUNIT=FreeBSDApi.FreeBSD
-GD32VF103XXUNIT=EmbeddedApi.Gd32vf103xx
+GD32VF103XXUNIT=EmbeddedApi.gd32vf103xx
 GETOPTSUNIT=System.GetOpts
 GETOPTSUNIT=System.GetOpts
 GO32UNIT=DOSApi.GO32
 GO32UNIT=DOSApi.GO32
-GPIOUNIT=EmbeddedApi.Gpio
+GPIOUNIT=EmbeddedApi.gpio
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPTRCUNIT=heaptrc
 HEAPTRCUNIT=heaptrc
 INITCUNIT=System.InitC
 INITCUNIT=System.InitC
@@ -483,40 +483,40 @@ LIBCUNIT=NetwareLibCApi.Libc
 LINEINFOUNIT=System.LineInfo
 LINEINFOUNIT=System.LineInfo
 LINUXUNIT=LinuxApi
 LINUXUNIT=LinuxApi
 LINUXVCSUNIT=LinuxApi.Vcs
 LINUXVCSUNIT=LinuxApi.Vcs
-LM3FURYUNIT=EmbeddedApi.Lm3fury
-LM3TEMPESTUNIT=EmbeddedApi.Lm3tempest
-LM4F120UNIT=EmbeddedApi.Lm4f120
+LM3FURYUNIT=EmbeddedApi.lm3fury
+LM3TEMPESTUNIT=EmbeddedApi.lm3tempest
+LM4F120UNIT=EmbeddedApi.lm4f120
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFOGDBUNIT=System.LineInfo.Gdb
 LNFOGDBUNIT=System.LineInfo.Gdb
-LPC11XXUNIT=EmbeddedApi.Lpc11xx
-LPC122XUNIT=EmbeddedApi.Lpc122x
-LPC13XXUNIT=EmbeddedApi.Lpc13xx
-LPC1768UNIT=EmbeddedApi.Lpc1768
-LPC21X4UNIT=EmbeddedApi.Lpc21x4
-LPC8XXUNIT=EmbeddedApi.Lpc8xx
+LPC11XXUNIT=EmbeddedApi.lpc11xx
+LPC122XUNIT=EmbeddedApi.lpc122x
+LPC13XXUNIT=EmbeddedApi.lpc13xx
+LPC1768UNIT=EmbeddedApi.lpc1768
+LPC21X4UNIT=EmbeddedApi.lpc21x4
+LPC8XXUNIT=EmbeddedApi.lpc8xx
 LSTRINGSUNIT=System.LStrings
 LSTRINGSUNIT=System.LStrings
 MACOSUNIT=MacOSApi.MacOS
 MACOSUNIT=MacOSApi.MacOS
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACUTILSUNIT=MacOSApi.MacUtils
 MACUTILSUNIT=MacOSApi.MacUtils
-MAILBOXUNIT=EmbeddedApi.Mailbox
+MAILBOXUNIT=EmbeddedApi.mailbox
 MATHUNIT=System.Math
 MATHUNIT=System.Math
 MESSAGESUNIT=WinApi.Messages
 MESSAGESUNIT=WinApi.Messages
-MK20D5UNIT=EmbeddedApi.Mk20d5
-MK20D7UNIT=EmbeddedApi.Mk20d7
-MK22F51212UNIT=EmbeddedApi.Mk22f51212
-MK64F12UNIT=EmbeddedApi.Mk64f12
-MMIOUNIT=EmbeddedApi.Mmio
+MK20D5UNIT=EmbeddedApi.mk20d5
+MK20D7UNIT=EmbeddedApi.mk20d7
+MK22F51212UNIT=EmbeddedApi.mk22f51212
+MK64F12UNIT=EmbeddedApi.mk64f12
+MMIOUNIT=EmbeddedApi.mmio
 MMXUNIT=System.CPU.MMX
 MMXUNIT=System.CPU.MMX
 MONCALLSUNIT=OS2Api.moncalls
 MONCALLSUNIT=OS2Api.moncalls
 MOUCALLSUNIT=OS2Api.moucalls
 MOUCALLSUNIT=OS2Api.moucalls
 MSMOUSEUNIT=DOSApi.MSMouse
 MSMOUSEUNIT=DOSApi.MSMouse
-MULTIBOOTUNIT=EmbeddedApi.Multiboot
+MULTIBOOTUNIT=EmbeddedApi.multiboot
 NDKUNIT=NTApi.NDK
 NDKUNIT=NTApi.NDK
 NDKUTILSUNIT=NTApi.NDKUtils
 NDKUTILSUNIT=NTApi.NDKUtils
 NETWAREUNIT=NetwareApi.NetWare
 NETWAREUNIT=NetwareApi.NetWare
 NEWEXEUNIT=OS2Api.newexe
 NEWEXEUNIT=OS2Api.newexe
-NRF51UNIT=EmbeddedApi.Nrf51
-NRF52UNIT=EmbeddedApi.Nrf52
+NRF51UNIT=EmbeddedApi.nrf51
+NRF52UNIT=EmbeddedApi.nrf52
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWNITUNIT=NetWareApi.Nwnit
 NWNITUNIT=NetWareApi.Nwnit
 NWPREUNIT=NetWareApi.Nwpre
 NWPREUNIT=NetWareApi.Nwpre
@@ -542,13 +542,13 @@ PMWSOCKUNIT=OS2Api.pmwsock
 PORTSUNIT=System.Ports
 PORTSUNIT=System.Ports
 POSIXUNIT=QNXApi.Posix
 POSIXUNIT=QNXApi.Posix
 PROFILEUNIT=DOSApi.Profile
 PROFILEUNIT=DOSApi.Profile
-RASPI2UNIT=EmbeddedApi.Raspi2
-RASPI3UNIT=EmbeddedApi.Raspi3
-RASPIUARTUNIT=EmbeddedApi.Raspiuart
+RASPI2UNIT=EmbeddedApi.raspi2
+RASPI3UNIT=EmbeddedApi.raspi3
+RASPIUARTUNIT=EmbeddedApi.raspiuart
 RTLCONSTSUNIT=System.RtlConsts
 RTLCONSTSUNIT=System.RtlConsts
-SAM3X8EUNIT=EmbeddedApi.Sam3x8e
-SAMD51P19AUNIT=EmbeddedApi.Samd51p19a
-SC32442BUNIT=EmbeddedApi .Sc32442b
+SAM3X8EUNIT=EmbeddedApi.sam3x8e
+SAMD51P19AUNIT=EmbeddedApi.samd51p19a
+SC32442BUNIT=EmbeddedApi .sc32442b
 SFPU128UNIT=System.SoftFpu128
 SFPU128UNIT=System.SoftFpu128
 SFPUX80UNIT=System.SoftFpuX80
 SFPUX80UNIT=System.SoftFpuX80
 SHAREMEMUNIT=WinApi.ShareMem
 SHAREMEMUNIT=WinApi.ShareMem
@@ -556,25 +556,25 @@ SIGNALSUNIT=WinApi.Signals
 SO32DLLUNIT=OS2Api.so32dll
 SO32DLLUNIT=OS2Api.so32dll
 SOFTFPUUNIT=System.SoftFPU
 SOFTFPUUNIT=System.SoftFPU
 SORTBASEUNIT=System.SortBase
 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
+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
 STRINGSUNIT=System.Strings
 SYMBIANUNIT=SymbianApi.Symbian
 SYMBIANUNIT=SymbianApi.Symbian
 SYSALLUNIT=PalmApi.Sysall
 SYSALLUNIT=PalmApi.Sysall
@@ -610,7 +610,7 @@ WINPROCSUNIT=WinApi.WinProcs
 WINSYSUTUNIT=WinApi.WinSysUt
 WINSYSUTUNIT=WinApi.WinSysUt
 WINTYPESUNIT=WinApi.WinTypes
 WINTYPESUNIT=WinApi.WinTypes
 X86UNIT=System.X86
 X86UNIT=System.X86
-XMC4500UNIT=EmbeddedApi.Xmc4500
+XMC4500UNIT=EmbeddedApi.xmc4500
 EXEINFOUNIT=System.ExeInfo
 EXEINFOUNIT=System.ExeInfo
 ERRORSUNIT=UnixApi.Errors
 ERRORSUNIT=UnixApi.Errors
 else
 else
@@ -2472,23 +2472,23 @@ SOFTFPU_DEPS=$(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
@@ -2859,10 +2859,13 @@ BLOCKRTL_DEPS=$(INC)/blockrtl.pp \
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 	$(COMPILER) $(BLOCKRTL_OPT) $<
 	$(COMPILER) $(BLOCKRTL_OPT) $<
+ifndef WININCDIR
+  WININCDIR = $(WINDIR)/wininc
+endif
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 windows$(PPUEXT): $(WINDOWS_DEPS)
 windows$(PPUEXT): $(WINDOWS_DEPS)
-	$(COMPILER) $(WINDOWS_OPT) $<
+	$(COMPILER) -Fi$(WININC) $(WINDOWS_OPT) $<
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
@@ -2871,6 +2874,18 @@ windirs$(PPUEXT): $(WINDIRS_DEPS)
 	$(COMPILER) $(WINDIRS_OPT) $<
 	$(COMPILER) $(WINDIRS_OPT) $<
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDIRS_OPT) $<
 	$(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=$(BSDINC)/sysctl.pp $(SYSTEMUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) \
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)

+ 70 - 55
rtl/gba/Makefile

@@ -462,17 +462,17 @@ ESPIDF_40400UNIT=System.Espidf_40400
 EXEUNIT=OS2Api.exe
 EXEUNIT=OS2Api.exe
 EXEINFOUNIT=System.Exeinfo
 EXEINFOUNIT=System.Exeinfo
 EXTPASUNIT=extpas
 EXTPASUNIT=extpas
-FE310G000UNIT=EmbeddedApi.Fe310g000
-FE310G002UNIT=EmbeddedApi.Fe310g002
+FE310G000UNIT=EmbeddedApi.fe310g000
+FE310G002UNIT=EmbeddedApi.fe310g002
 FGLUNIT=System.FGL
 FGLUNIT=System.FGL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCYLIXUNIT=fpcylix
 FPCYLIXUNIT=fpcylix
 FPWIDESTRINGUNIT=System.FPWideString
 FPWIDESTRINGUNIT=System.FPWideString
 FREEBSDUNIT=FreeBSDApi.FreeBSD
 FREEBSDUNIT=FreeBSDApi.FreeBSD
-GD32VF103XXUNIT=EmbeddedApi.Gd32vf103xx
+GD32VF103XXUNIT=EmbeddedApi.gd32vf103xx
 GETOPTSUNIT=System.GetOpts
 GETOPTSUNIT=System.GetOpts
 GO32UNIT=DOSApi.GO32
 GO32UNIT=DOSApi.GO32
-GPIOUNIT=EmbeddedApi.Gpio
+GPIOUNIT=EmbeddedApi.gpio
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPTRCUNIT=heaptrc
 HEAPTRCUNIT=heaptrc
 INITCUNIT=System.InitC
 INITCUNIT=System.InitC
@@ -484,40 +484,40 @@ LIBCUNIT=NetwareLibCApi.Libc
 LINEINFOUNIT=System.LineInfo
 LINEINFOUNIT=System.LineInfo
 LINUXUNIT=LinuxApi
 LINUXUNIT=LinuxApi
 LINUXVCSUNIT=LinuxApi.Vcs
 LINUXVCSUNIT=LinuxApi.Vcs
-LM3FURYUNIT=EmbeddedApi.Lm3fury
-LM3TEMPESTUNIT=EmbeddedApi.Lm3tempest
-LM4F120UNIT=EmbeddedApi.Lm4f120
+LM3FURYUNIT=EmbeddedApi.lm3fury
+LM3TEMPESTUNIT=EmbeddedApi.lm3tempest
+LM4F120UNIT=EmbeddedApi.lm4f120
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFOGDBUNIT=System.LineInfo.Gdb
 LNFOGDBUNIT=System.LineInfo.Gdb
-LPC11XXUNIT=EmbeddedApi.Lpc11xx
-LPC122XUNIT=EmbeddedApi.Lpc122x
-LPC13XXUNIT=EmbeddedApi.Lpc13xx
-LPC1768UNIT=EmbeddedApi.Lpc1768
-LPC21X4UNIT=EmbeddedApi.Lpc21x4
-LPC8XXUNIT=EmbeddedApi.Lpc8xx
+LPC11XXUNIT=EmbeddedApi.lpc11xx
+LPC122XUNIT=EmbeddedApi.lpc122x
+LPC13XXUNIT=EmbeddedApi.lpc13xx
+LPC1768UNIT=EmbeddedApi.lpc1768
+LPC21X4UNIT=EmbeddedApi.lpc21x4
+LPC8XXUNIT=EmbeddedApi.lpc8xx
 LSTRINGSUNIT=System.LStrings
 LSTRINGSUNIT=System.LStrings
 MACOSUNIT=MacOSApi.MacOS
 MACOSUNIT=MacOSApi.MacOS
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACUTILSUNIT=MacOSApi.MacUtils
 MACUTILSUNIT=MacOSApi.MacUtils
-MAILBOXUNIT=EmbeddedApi.Mailbox
+MAILBOXUNIT=EmbeddedApi.mailbox
 MATHUNIT=System.Math
 MATHUNIT=System.Math
 MESSAGESUNIT=WinApi.Messages
 MESSAGESUNIT=WinApi.Messages
-MK20D5UNIT=EmbeddedApi.Mk20d5
-MK20D7UNIT=EmbeddedApi.Mk20d7
-MK22F51212UNIT=EmbeddedApi.Mk22f51212
-MK64F12UNIT=EmbeddedApi.Mk64f12
-MMIOUNIT=EmbeddedApi.Mmio
+MK20D5UNIT=EmbeddedApi.mk20d5
+MK20D7UNIT=EmbeddedApi.mk20d7
+MK22F51212UNIT=EmbeddedApi.mk22f51212
+MK64F12UNIT=EmbeddedApi.mk64f12
+MMIOUNIT=EmbeddedApi.mmio
 MMXUNIT=System.CPU.MMX
 MMXUNIT=System.CPU.MMX
 MONCALLSUNIT=OS2Api.moncalls
 MONCALLSUNIT=OS2Api.moncalls
 MOUCALLSUNIT=OS2Api.moucalls
 MOUCALLSUNIT=OS2Api.moucalls
 MSMOUSEUNIT=DOSApi.MSMouse
 MSMOUSEUNIT=DOSApi.MSMouse
-MULTIBOOTUNIT=EmbeddedApi.Multiboot
+MULTIBOOTUNIT=EmbeddedApi.multiboot
 NDKUNIT=NTApi.NDK
 NDKUNIT=NTApi.NDK
 NDKUTILSUNIT=NTApi.NDKUtils
 NDKUTILSUNIT=NTApi.NDKUtils
 NETWAREUNIT=NetwareApi.NetWare
 NETWAREUNIT=NetwareApi.NetWare
 NEWEXEUNIT=OS2Api.newexe
 NEWEXEUNIT=OS2Api.newexe
-NRF51UNIT=EmbeddedApi.Nrf51
-NRF52UNIT=EmbeddedApi.Nrf52
+NRF51UNIT=EmbeddedApi.nrf51
+NRF52UNIT=EmbeddedApi.nrf52
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWNITUNIT=NetWareApi.Nwnit
 NWNITUNIT=NetWareApi.Nwnit
 NWPREUNIT=NetWareApi.Nwpre
 NWPREUNIT=NetWareApi.Nwpre
@@ -543,13 +543,13 @@ PMWSOCKUNIT=OS2Api.pmwsock
 PORTSUNIT=System.Ports
 PORTSUNIT=System.Ports
 POSIXUNIT=QNXApi.Posix
 POSIXUNIT=QNXApi.Posix
 PROFILEUNIT=DOSApi.Profile
 PROFILEUNIT=DOSApi.Profile
-RASPI2UNIT=EmbeddedApi.Raspi2
-RASPI3UNIT=EmbeddedApi.Raspi3
-RASPIUARTUNIT=EmbeddedApi.Raspiuart
+RASPI2UNIT=EmbeddedApi.raspi2
+RASPI3UNIT=EmbeddedApi.raspi3
+RASPIUARTUNIT=EmbeddedApi.raspiuart
 RTLCONSTSUNIT=System.RtlConsts
 RTLCONSTSUNIT=System.RtlConsts
-SAM3X8EUNIT=EmbeddedApi.Sam3x8e
-SAMD51P19AUNIT=EmbeddedApi.Samd51p19a
-SC32442BUNIT=EmbeddedApi .Sc32442b
+SAM3X8EUNIT=EmbeddedApi.sam3x8e
+SAMD51P19AUNIT=EmbeddedApi.samd51p19a
+SC32442BUNIT=EmbeddedApi .sc32442b
 SFPU128UNIT=System.SoftFpu128
 SFPU128UNIT=System.SoftFpu128
 SFPUX80UNIT=System.SoftFpuX80
 SFPUX80UNIT=System.SoftFpuX80
 SHAREMEMUNIT=WinApi.ShareMem
 SHAREMEMUNIT=WinApi.ShareMem
@@ -557,25 +557,25 @@ SIGNALSUNIT=WinApi.Signals
 SO32DLLUNIT=OS2Api.so32dll
 SO32DLLUNIT=OS2Api.so32dll
 SOFTFPUUNIT=System.SoftFPU
 SOFTFPUUNIT=System.SoftFPU
 SORTBASEUNIT=System.SortBase
 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
+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
 STRINGSUNIT=System.Strings
 SYMBIANUNIT=SymbianApi.Symbian
 SYMBIANUNIT=SymbianApi.Symbian
 SYSALLUNIT=PalmApi.Sysall
 SYSALLUNIT=PalmApi.Sysall
@@ -611,7 +611,7 @@ WINPROCSUNIT=WinApi.WinProcs
 WINSYSUTUNIT=WinApi.WinSysUt
 WINSYSUTUNIT=WinApi.WinSysUt
 WINTYPESUNIT=WinApi.WinTypes
 WINTYPESUNIT=WinApi.WinTypes
 X86UNIT=System.X86
 X86UNIT=System.X86
-XMC4500UNIT=EmbeddedApi.Xmc4500
+XMC4500UNIT=EmbeddedApi.xmc4500
 EXEINFOUNIT=System.ExeInfo
 EXEINFOUNIT=System.ExeInfo
 ERRORSUNIT=UnixApi.Errors
 ERRORSUNIT=UnixApi.Errors
 else
 else
@@ -2276,23 +2276,23 @@ SOFTFPU_DEPS=$(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
@@ -2663,10 +2663,13 @@ BLOCKRTL_DEPS=$(INC)/blockrtl.pp \
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 	$(COMPILER) $(BLOCKRTL_OPT) $<
 	$(COMPILER) $(BLOCKRTL_OPT) $<
+ifndef WININCDIR
+  WININCDIR = $(WINDIR)/wininc
+endif
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 windows$(PPUEXT): $(WINDOWS_DEPS)
 windows$(PPUEXT): $(WINDOWS_DEPS)
-	$(COMPILER) $(WINDOWS_OPT) $<
+	$(COMPILER) -Fi$(WININC) $(WINDOWS_OPT) $<
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
@@ -2675,6 +2678,18 @@ windirs$(PPUEXT): $(WINDIRS_DEPS)
 	$(COMPILER) $(WINDIRS_OPT) $<
 	$(COMPILER) $(WINDIRS_OPT) $<
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDIRS_OPT) $<
 	$(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=$(BSDINC)/sysctl.pp $(SYSTEMUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) \
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)

+ 70 - 55
rtl/go32v2/Makefile

@@ -462,17 +462,17 @@ ESPIDF_40400UNIT=System.Espidf_40400
 EXEUNIT=OS2Api.exe
 EXEUNIT=OS2Api.exe
 EXEINFOUNIT=System.Exeinfo
 EXEINFOUNIT=System.Exeinfo
 EXTPASUNIT=extpas
 EXTPASUNIT=extpas
-FE310G000UNIT=EmbeddedApi.Fe310g000
-FE310G002UNIT=EmbeddedApi.Fe310g002
+FE310G000UNIT=EmbeddedApi.fe310g000
+FE310G002UNIT=EmbeddedApi.fe310g002
 FGLUNIT=System.FGL
 FGLUNIT=System.FGL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCYLIXUNIT=fpcylix
 FPCYLIXUNIT=fpcylix
 FPWIDESTRINGUNIT=System.FPWideString
 FPWIDESTRINGUNIT=System.FPWideString
 FREEBSDUNIT=FreeBSDApi.FreeBSD
 FREEBSDUNIT=FreeBSDApi.FreeBSD
-GD32VF103XXUNIT=EmbeddedApi.Gd32vf103xx
+GD32VF103XXUNIT=EmbeddedApi.gd32vf103xx
 GETOPTSUNIT=System.GetOpts
 GETOPTSUNIT=System.GetOpts
 GO32UNIT=DOSApi.GO32
 GO32UNIT=DOSApi.GO32
-GPIOUNIT=EmbeddedApi.Gpio
+GPIOUNIT=EmbeddedApi.gpio
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPTRCUNIT=heaptrc
 HEAPTRCUNIT=heaptrc
 INITCUNIT=System.InitC
 INITCUNIT=System.InitC
@@ -484,40 +484,40 @@ LIBCUNIT=NetwareLibCApi.Libc
 LINEINFOUNIT=System.LineInfo
 LINEINFOUNIT=System.LineInfo
 LINUXUNIT=LinuxApi
 LINUXUNIT=LinuxApi
 LINUXVCSUNIT=LinuxApi.Vcs
 LINUXVCSUNIT=LinuxApi.Vcs
-LM3FURYUNIT=EmbeddedApi.Lm3fury
-LM3TEMPESTUNIT=EmbeddedApi.Lm3tempest
-LM4F120UNIT=EmbeddedApi.Lm4f120
+LM3FURYUNIT=EmbeddedApi.lm3fury
+LM3TEMPESTUNIT=EmbeddedApi.lm3tempest
+LM4F120UNIT=EmbeddedApi.lm4f120
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFOGDBUNIT=System.LineInfo.Gdb
 LNFOGDBUNIT=System.LineInfo.Gdb
-LPC11XXUNIT=EmbeddedApi.Lpc11xx
-LPC122XUNIT=EmbeddedApi.Lpc122x
-LPC13XXUNIT=EmbeddedApi.Lpc13xx
-LPC1768UNIT=EmbeddedApi.Lpc1768
-LPC21X4UNIT=EmbeddedApi.Lpc21x4
-LPC8XXUNIT=EmbeddedApi.Lpc8xx
+LPC11XXUNIT=EmbeddedApi.lpc11xx
+LPC122XUNIT=EmbeddedApi.lpc122x
+LPC13XXUNIT=EmbeddedApi.lpc13xx
+LPC1768UNIT=EmbeddedApi.lpc1768
+LPC21X4UNIT=EmbeddedApi.lpc21x4
+LPC8XXUNIT=EmbeddedApi.lpc8xx
 LSTRINGSUNIT=System.LStrings
 LSTRINGSUNIT=System.LStrings
 MACOSUNIT=MacOSApi.MacOS
 MACOSUNIT=MacOSApi.MacOS
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACUTILSUNIT=MacOSApi.MacUtils
 MACUTILSUNIT=MacOSApi.MacUtils
-MAILBOXUNIT=EmbeddedApi.Mailbox
+MAILBOXUNIT=EmbeddedApi.mailbox
 MATHUNIT=System.Math
 MATHUNIT=System.Math
 MESSAGESUNIT=WinApi.Messages
 MESSAGESUNIT=WinApi.Messages
-MK20D5UNIT=EmbeddedApi.Mk20d5
-MK20D7UNIT=EmbeddedApi.Mk20d7
-MK22F51212UNIT=EmbeddedApi.Mk22f51212
-MK64F12UNIT=EmbeddedApi.Mk64f12
-MMIOUNIT=EmbeddedApi.Mmio
+MK20D5UNIT=EmbeddedApi.mk20d5
+MK20D7UNIT=EmbeddedApi.mk20d7
+MK22F51212UNIT=EmbeddedApi.mk22f51212
+MK64F12UNIT=EmbeddedApi.mk64f12
+MMIOUNIT=EmbeddedApi.mmio
 MMXUNIT=System.CPU.MMX
 MMXUNIT=System.CPU.MMX
 MONCALLSUNIT=OS2Api.moncalls
 MONCALLSUNIT=OS2Api.moncalls
 MOUCALLSUNIT=OS2Api.moucalls
 MOUCALLSUNIT=OS2Api.moucalls
 MSMOUSEUNIT=DOSApi.MSMouse
 MSMOUSEUNIT=DOSApi.MSMouse
-MULTIBOOTUNIT=EmbeddedApi.Multiboot
+MULTIBOOTUNIT=EmbeddedApi.multiboot
 NDKUNIT=NTApi.NDK
 NDKUNIT=NTApi.NDK
 NDKUTILSUNIT=NTApi.NDKUtils
 NDKUTILSUNIT=NTApi.NDKUtils
 NETWAREUNIT=NetwareApi.NetWare
 NETWAREUNIT=NetwareApi.NetWare
 NEWEXEUNIT=OS2Api.newexe
 NEWEXEUNIT=OS2Api.newexe
-NRF51UNIT=EmbeddedApi.Nrf51
-NRF52UNIT=EmbeddedApi.Nrf52
+NRF51UNIT=EmbeddedApi.nrf51
+NRF52UNIT=EmbeddedApi.nrf52
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWNITUNIT=NetWareApi.Nwnit
 NWNITUNIT=NetWareApi.Nwnit
 NWPREUNIT=NetWareApi.Nwpre
 NWPREUNIT=NetWareApi.Nwpre
@@ -543,13 +543,13 @@ PMWSOCKUNIT=OS2Api.pmwsock
 PORTSUNIT=System.Ports
 PORTSUNIT=System.Ports
 POSIXUNIT=QNXApi.Posix
 POSIXUNIT=QNXApi.Posix
 PROFILEUNIT=DOSApi.Profile
 PROFILEUNIT=DOSApi.Profile
-RASPI2UNIT=EmbeddedApi.Raspi2
-RASPI3UNIT=EmbeddedApi.Raspi3
-RASPIUARTUNIT=EmbeddedApi.Raspiuart
+RASPI2UNIT=EmbeddedApi.raspi2
+RASPI3UNIT=EmbeddedApi.raspi3
+RASPIUARTUNIT=EmbeddedApi.raspiuart
 RTLCONSTSUNIT=System.RtlConsts
 RTLCONSTSUNIT=System.RtlConsts
-SAM3X8EUNIT=EmbeddedApi.Sam3x8e
-SAMD51P19AUNIT=EmbeddedApi.Samd51p19a
-SC32442BUNIT=EmbeddedApi .Sc32442b
+SAM3X8EUNIT=EmbeddedApi.sam3x8e
+SAMD51P19AUNIT=EmbeddedApi.samd51p19a
+SC32442BUNIT=EmbeddedApi .sc32442b
 SFPU128UNIT=System.SoftFpu128
 SFPU128UNIT=System.SoftFpu128
 SFPUX80UNIT=System.SoftFpuX80
 SFPUX80UNIT=System.SoftFpuX80
 SHAREMEMUNIT=WinApi.ShareMem
 SHAREMEMUNIT=WinApi.ShareMem
@@ -557,25 +557,25 @@ SIGNALSUNIT=WinApi.Signals
 SO32DLLUNIT=OS2Api.so32dll
 SO32DLLUNIT=OS2Api.so32dll
 SOFTFPUUNIT=System.SoftFPU
 SOFTFPUUNIT=System.SoftFPU
 SORTBASEUNIT=System.SortBase
 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
+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
 STRINGSUNIT=System.Strings
 SYMBIANUNIT=SymbianApi.Symbian
 SYMBIANUNIT=SymbianApi.Symbian
 SYSALLUNIT=PalmApi.Sysall
 SYSALLUNIT=PalmApi.Sysall
@@ -611,7 +611,7 @@ WINPROCSUNIT=WinApi.WinProcs
 WINSYSUTUNIT=WinApi.WinSysUt
 WINSYSUTUNIT=WinApi.WinSysUt
 WINTYPESUNIT=WinApi.WinTypes
 WINTYPESUNIT=WinApi.WinTypes
 X86UNIT=System.X86
 X86UNIT=System.X86
-XMC4500UNIT=EmbeddedApi.Xmc4500
+XMC4500UNIT=EmbeddedApi.xmc4500
 EXEINFOUNIT=System.ExeInfo
 EXEINFOUNIT=System.ExeInfo
 ERRORSUNIT=UnixApi.Errors
 ERRORSUNIT=UnixApi.Errors
 else
 else
@@ -2282,23 +2282,23 @@ SOFTFPU_DEPS=$(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
@@ -2669,10 +2669,13 @@ BLOCKRTL_DEPS=$(INC)/blockrtl.pp \
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 	$(COMPILER) $(BLOCKRTL_OPT) $<
 	$(COMPILER) $(BLOCKRTL_OPT) $<
+ifndef WININCDIR
+  WININCDIR = $(WINDIR)/wininc
+endif
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 windows$(PPUEXT): $(WINDOWS_DEPS)
 windows$(PPUEXT): $(WINDOWS_DEPS)
-	$(COMPILER) $(WINDOWS_OPT) $<
+	$(COMPILER) -Fi$(WININC) $(WINDOWS_OPT) $<
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
@@ -2681,6 +2684,18 @@ windirs$(PPUEXT): $(WINDIRS_DEPS)
 	$(COMPILER) $(WINDIRS_OPT) $<
 	$(COMPILER) $(WINDIRS_OPT) $<
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDIRS_OPT) $<
 	$(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=$(BSDINC)/sysctl.pp $(SYSTEMUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) \
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)

+ 70 - 55
rtl/haiku/Makefile

@@ -462,17 +462,17 @@ ESPIDF_40400UNIT=System.Espidf_40400
 EXEUNIT=OS2Api.exe
 EXEUNIT=OS2Api.exe
 EXEINFOUNIT=System.Exeinfo
 EXEINFOUNIT=System.Exeinfo
 EXTPASUNIT=extpas
 EXTPASUNIT=extpas
-FE310G000UNIT=EmbeddedApi.Fe310g000
-FE310G002UNIT=EmbeddedApi.Fe310g002
+FE310G000UNIT=EmbeddedApi.fe310g000
+FE310G002UNIT=EmbeddedApi.fe310g002
 FGLUNIT=System.FGL
 FGLUNIT=System.FGL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCYLIXUNIT=fpcylix
 FPCYLIXUNIT=fpcylix
 FPWIDESTRINGUNIT=System.FPWideString
 FPWIDESTRINGUNIT=System.FPWideString
 FREEBSDUNIT=FreeBSDApi.FreeBSD
 FREEBSDUNIT=FreeBSDApi.FreeBSD
-GD32VF103XXUNIT=EmbeddedApi.Gd32vf103xx
+GD32VF103XXUNIT=EmbeddedApi.gd32vf103xx
 GETOPTSUNIT=System.GetOpts
 GETOPTSUNIT=System.GetOpts
 GO32UNIT=DOSApi.GO32
 GO32UNIT=DOSApi.GO32
-GPIOUNIT=EmbeddedApi.Gpio
+GPIOUNIT=EmbeddedApi.gpio
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPTRCUNIT=heaptrc
 HEAPTRCUNIT=heaptrc
 INITCUNIT=System.InitC
 INITCUNIT=System.InitC
@@ -484,40 +484,40 @@ LIBCUNIT=NetwareLibCApi.Libc
 LINEINFOUNIT=System.LineInfo
 LINEINFOUNIT=System.LineInfo
 LINUXUNIT=LinuxApi
 LINUXUNIT=LinuxApi
 LINUXVCSUNIT=LinuxApi.Vcs
 LINUXVCSUNIT=LinuxApi.Vcs
-LM3FURYUNIT=EmbeddedApi.Lm3fury
-LM3TEMPESTUNIT=EmbeddedApi.Lm3tempest
-LM4F120UNIT=EmbeddedApi.Lm4f120
+LM3FURYUNIT=EmbeddedApi.lm3fury
+LM3TEMPESTUNIT=EmbeddedApi.lm3tempest
+LM4F120UNIT=EmbeddedApi.lm4f120
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFOGDBUNIT=System.LineInfo.Gdb
 LNFOGDBUNIT=System.LineInfo.Gdb
-LPC11XXUNIT=EmbeddedApi.Lpc11xx
-LPC122XUNIT=EmbeddedApi.Lpc122x
-LPC13XXUNIT=EmbeddedApi.Lpc13xx
-LPC1768UNIT=EmbeddedApi.Lpc1768
-LPC21X4UNIT=EmbeddedApi.Lpc21x4
-LPC8XXUNIT=EmbeddedApi.Lpc8xx
+LPC11XXUNIT=EmbeddedApi.lpc11xx
+LPC122XUNIT=EmbeddedApi.lpc122x
+LPC13XXUNIT=EmbeddedApi.lpc13xx
+LPC1768UNIT=EmbeddedApi.lpc1768
+LPC21X4UNIT=EmbeddedApi.lpc21x4
+LPC8XXUNIT=EmbeddedApi.lpc8xx
 LSTRINGSUNIT=System.LStrings
 LSTRINGSUNIT=System.LStrings
 MACOSUNIT=MacOSApi.MacOS
 MACOSUNIT=MacOSApi.MacOS
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACUTILSUNIT=MacOSApi.MacUtils
 MACUTILSUNIT=MacOSApi.MacUtils
-MAILBOXUNIT=EmbeddedApi.Mailbox
+MAILBOXUNIT=EmbeddedApi.mailbox
 MATHUNIT=System.Math
 MATHUNIT=System.Math
 MESSAGESUNIT=WinApi.Messages
 MESSAGESUNIT=WinApi.Messages
-MK20D5UNIT=EmbeddedApi.Mk20d5
-MK20D7UNIT=EmbeddedApi.Mk20d7
-MK22F51212UNIT=EmbeddedApi.Mk22f51212
-MK64F12UNIT=EmbeddedApi.Mk64f12
-MMIOUNIT=EmbeddedApi.Mmio
+MK20D5UNIT=EmbeddedApi.mk20d5
+MK20D7UNIT=EmbeddedApi.mk20d7
+MK22F51212UNIT=EmbeddedApi.mk22f51212
+MK64F12UNIT=EmbeddedApi.mk64f12
+MMIOUNIT=EmbeddedApi.mmio
 MMXUNIT=System.CPU.MMX
 MMXUNIT=System.CPU.MMX
 MONCALLSUNIT=OS2Api.moncalls
 MONCALLSUNIT=OS2Api.moncalls
 MOUCALLSUNIT=OS2Api.moucalls
 MOUCALLSUNIT=OS2Api.moucalls
 MSMOUSEUNIT=DOSApi.MSMouse
 MSMOUSEUNIT=DOSApi.MSMouse
-MULTIBOOTUNIT=EmbeddedApi.Multiboot
+MULTIBOOTUNIT=EmbeddedApi.multiboot
 NDKUNIT=NTApi.NDK
 NDKUNIT=NTApi.NDK
 NDKUTILSUNIT=NTApi.NDKUtils
 NDKUTILSUNIT=NTApi.NDKUtils
 NETWAREUNIT=NetwareApi.NetWare
 NETWAREUNIT=NetwareApi.NetWare
 NEWEXEUNIT=OS2Api.newexe
 NEWEXEUNIT=OS2Api.newexe
-NRF51UNIT=EmbeddedApi.Nrf51
-NRF52UNIT=EmbeddedApi.Nrf52
+NRF51UNIT=EmbeddedApi.nrf51
+NRF52UNIT=EmbeddedApi.nrf52
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWNITUNIT=NetWareApi.Nwnit
 NWNITUNIT=NetWareApi.Nwnit
 NWPREUNIT=NetWareApi.Nwpre
 NWPREUNIT=NetWareApi.Nwpre
@@ -543,13 +543,13 @@ PMWSOCKUNIT=OS2Api.pmwsock
 PORTSUNIT=System.Ports
 PORTSUNIT=System.Ports
 POSIXUNIT=QNXApi.Posix
 POSIXUNIT=QNXApi.Posix
 PROFILEUNIT=DOSApi.Profile
 PROFILEUNIT=DOSApi.Profile
-RASPI2UNIT=EmbeddedApi.Raspi2
-RASPI3UNIT=EmbeddedApi.Raspi3
-RASPIUARTUNIT=EmbeddedApi.Raspiuart
+RASPI2UNIT=EmbeddedApi.raspi2
+RASPI3UNIT=EmbeddedApi.raspi3
+RASPIUARTUNIT=EmbeddedApi.raspiuart
 RTLCONSTSUNIT=System.RtlConsts
 RTLCONSTSUNIT=System.RtlConsts
-SAM3X8EUNIT=EmbeddedApi.Sam3x8e
-SAMD51P19AUNIT=EmbeddedApi.Samd51p19a
-SC32442BUNIT=EmbeddedApi .Sc32442b
+SAM3X8EUNIT=EmbeddedApi.sam3x8e
+SAMD51P19AUNIT=EmbeddedApi.samd51p19a
+SC32442BUNIT=EmbeddedApi .sc32442b
 SFPU128UNIT=System.SoftFpu128
 SFPU128UNIT=System.SoftFpu128
 SFPUX80UNIT=System.SoftFpuX80
 SFPUX80UNIT=System.SoftFpuX80
 SHAREMEMUNIT=WinApi.ShareMem
 SHAREMEMUNIT=WinApi.ShareMem
@@ -557,25 +557,25 @@ SIGNALSUNIT=WinApi.Signals
 SO32DLLUNIT=OS2Api.so32dll
 SO32DLLUNIT=OS2Api.so32dll
 SOFTFPUUNIT=System.SoftFPU
 SOFTFPUUNIT=System.SoftFPU
 SORTBASEUNIT=System.SortBase
 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
+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
 STRINGSUNIT=System.Strings
 SYMBIANUNIT=SymbianApi.Symbian
 SYMBIANUNIT=SymbianApi.Symbian
 SYSALLUNIT=PalmApi.Sysall
 SYSALLUNIT=PalmApi.Sysall
@@ -611,7 +611,7 @@ WINPROCSUNIT=WinApi.WinProcs
 WINSYSUTUNIT=WinApi.WinSysUt
 WINSYSUTUNIT=WinApi.WinSysUt
 WINTYPESUNIT=WinApi.WinTypes
 WINTYPESUNIT=WinApi.WinTypes
 X86UNIT=System.X86
 X86UNIT=System.X86
-XMC4500UNIT=EmbeddedApi.Xmc4500
+XMC4500UNIT=EmbeddedApi.xmc4500
 EXEINFOUNIT=System.ExeInfo
 EXEINFOUNIT=System.ExeInfo
 ERRORSUNIT=UnixApi.Errors
 ERRORSUNIT=UnixApi.Errors
 else
 else
@@ -2316,23 +2316,23 @@ SOFTFPU_DEPS=$(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
@@ -2703,10 +2703,13 @@ BLOCKRTL_DEPS=$(INC)/blockrtl.pp \
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 	$(COMPILER) $(BLOCKRTL_OPT) $<
 	$(COMPILER) $(BLOCKRTL_OPT) $<
+ifndef WININCDIR
+  WININCDIR = $(WINDIR)/wininc
+endif
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 windows$(PPUEXT): $(WINDOWS_DEPS)
 windows$(PPUEXT): $(WINDOWS_DEPS)
-	$(COMPILER) $(WINDOWS_OPT) $<
+	$(COMPILER) -Fi$(WININC) $(WINDOWS_OPT) $<
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
@@ -2715,6 +2718,18 @@ windirs$(PPUEXT): $(WINDIRS_DEPS)
 	$(COMPILER) $(WINDIRS_OPT) $<
 	$(COMPILER) $(WINDIRS_OPT) $<
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDIRS_OPT) $<
 	$(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=$(BSDINC)/sysctl.pp $(SYSTEMUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) \
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)

+ 70 - 55
rtl/java/Makefile

@@ -461,17 +461,17 @@ ESPIDF_40400UNIT=System.Espidf_40400
 EXEUNIT=OS2Api.exe
 EXEUNIT=OS2Api.exe
 EXEINFOUNIT=System.Exeinfo
 EXEINFOUNIT=System.Exeinfo
 EXTPASUNIT=extpas
 EXTPASUNIT=extpas
-FE310G000UNIT=EmbeddedApi.Fe310g000
-FE310G002UNIT=EmbeddedApi.Fe310g002
+FE310G000UNIT=EmbeddedApi.fe310g000
+FE310G002UNIT=EmbeddedApi.fe310g002
 FGLUNIT=System.FGL
 FGLUNIT=System.FGL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCYLIXUNIT=fpcylix
 FPCYLIXUNIT=fpcylix
 FPWIDESTRINGUNIT=System.FPWideString
 FPWIDESTRINGUNIT=System.FPWideString
 FREEBSDUNIT=FreeBSDApi.FreeBSD
 FREEBSDUNIT=FreeBSDApi.FreeBSD
-GD32VF103XXUNIT=EmbeddedApi.Gd32vf103xx
+GD32VF103XXUNIT=EmbeddedApi.gd32vf103xx
 GETOPTSUNIT=System.GetOpts
 GETOPTSUNIT=System.GetOpts
 GO32UNIT=DOSApi.GO32
 GO32UNIT=DOSApi.GO32
-GPIOUNIT=EmbeddedApi.Gpio
+GPIOUNIT=EmbeddedApi.gpio
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPTRCUNIT=heaptrc
 HEAPTRCUNIT=heaptrc
 INITCUNIT=System.InitC
 INITCUNIT=System.InitC
@@ -483,40 +483,40 @@ LIBCUNIT=NetwareLibCApi.Libc
 LINEINFOUNIT=System.LineInfo
 LINEINFOUNIT=System.LineInfo
 LINUXUNIT=LinuxApi
 LINUXUNIT=LinuxApi
 LINUXVCSUNIT=LinuxApi.Vcs
 LINUXVCSUNIT=LinuxApi.Vcs
-LM3FURYUNIT=EmbeddedApi.Lm3fury
-LM3TEMPESTUNIT=EmbeddedApi.Lm3tempest
-LM4F120UNIT=EmbeddedApi.Lm4f120
+LM3FURYUNIT=EmbeddedApi.lm3fury
+LM3TEMPESTUNIT=EmbeddedApi.lm3tempest
+LM4F120UNIT=EmbeddedApi.lm4f120
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFOGDBUNIT=System.LineInfo.Gdb
 LNFOGDBUNIT=System.LineInfo.Gdb
-LPC11XXUNIT=EmbeddedApi.Lpc11xx
-LPC122XUNIT=EmbeddedApi.Lpc122x
-LPC13XXUNIT=EmbeddedApi.Lpc13xx
-LPC1768UNIT=EmbeddedApi.Lpc1768
-LPC21X4UNIT=EmbeddedApi.Lpc21x4
-LPC8XXUNIT=EmbeddedApi.Lpc8xx
+LPC11XXUNIT=EmbeddedApi.lpc11xx
+LPC122XUNIT=EmbeddedApi.lpc122x
+LPC13XXUNIT=EmbeddedApi.lpc13xx
+LPC1768UNIT=EmbeddedApi.lpc1768
+LPC21X4UNIT=EmbeddedApi.lpc21x4
+LPC8XXUNIT=EmbeddedApi.lpc8xx
 LSTRINGSUNIT=System.LStrings
 LSTRINGSUNIT=System.LStrings
 MACOSUNIT=MacOSApi.MacOS
 MACOSUNIT=MacOSApi.MacOS
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACUTILSUNIT=MacOSApi.MacUtils
 MACUTILSUNIT=MacOSApi.MacUtils
-MAILBOXUNIT=EmbeddedApi.Mailbox
+MAILBOXUNIT=EmbeddedApi.mailbox
 MATHUNIT=System.Math
 MATHUNIT=System.Math
 MESSAGESUNIT=WinApi.Messages
 MESSAGESUNIT=WinApi.Messages
-MK20D5UNIT=EmbeddedApi.Mk20d5
-MK20D7UNIT=EmbeddedApi.Mk20d7
-MK22F51212UNIT=EmbeddedApi.Mk22f51212
-MK64F12UNIT=EmbeddedApi.Mk64f12
-MMIOUNIT=EmbeddedApi.Mmio
+MK20D5UNIT=EmbeddedApi.mk20d5
+MK20D7UNIT=EmbeddedApi.mk20d7
+MK22F51212UNIT=EmbeddedApi.mk22f51212
+MK64F12UNIT=EmbeddedApi.mk64f12
+MMIOUNIT=EmbeddedApi.mmio
 MMXUNIT=System.CPU.MMX
 MMXUNIT=System.CPU.MMX
 MONCALLSUNIT=OS2Api.moncalls
 MONCALLSUNIT=OS2Api.moncalls
 MOUCALLSUNIT=OS2Api.moucalls
 MOUCALLSUNIT=OS2Api.moucalls
 MSMOUSEUNIT=DOSApi.MSMouse
 MSMOUSEUNIT=DOSApi.MSMouse
-MULTIBOOTUNIT=EmbeddedApi.Multiboot
+MULTIBOOTUNIT=EmbeddedApi.multiboot
 NDKUNIT=NTApi.NDK
 NDKUNIT=NTApi.NDK
 NDKUTILSUNIT=NTApi.NDKUtils
 NDKUTILSUNIT=NTApi.NDKUtils
 NETWAREUNIT=NetwareApi.NetWare
 NETWAREUNIT=NetwareApi.NetWare
 NEWEXEUNIT=OS2Api.newexe
 NEWEXEUNIT=OS2Api.newexe
-NRF51UNIT=EmbeddedApi.Nrf51
-NRF52UNIT=EmbeddedApi.Nrf52
+NRF51UNIT=EmbeddedApi.nrf51
+NRF52UNIT=EmbeddedApi.nrf52
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWNITUNIT=NetWareApi.Nwnit
 NWNITUNIT=NetWareApi.Nwnit
 NWPREUNIT=NetWareApi.Nwpre
 NWPREUNIT=NetWareApi.Nwpre
@@ -542,13 +542,13 @@ PMWSOCKUNIT=OS2Api.pmwsock
 PORTSUNIT=System.Ports
 PORTSUNIT=System.Ports
 POSIXUNIT=QNXApi.Posix
 POSIXUNIT=QNXApi.Posix
 PROFILEUNIT=DOSApi.Profile
 PROFILEUNIT=DOSApi.Profile
-RASPI2UNIT=EmbeddedApi.Raspi2
-RASPI3UNIT=EmbeddedApi.Raspi3
-RASPIUARTUNIT=EmbeddedApi.Raspiuart
+RASPI2UNIT=EmbeddedApi.raspi2
+RASPI3UNIT=EmbeddedApi.raspi3
+RASPIUARTUNIT=EmbeddedApi.raspiuart
 RTLCONSTSUNIT=System.RtlConsts
 RTLCONSTSUNIT=System.RtlConsts
-SAM3X8EUNIT=EmbeddedApi.Sam3x8e
-SAMD51P19AUNIT=EmbeddedApi.Samd51p19a
-SC32442BUNIT=EmbeddedApi .Sc32442b
+SAM3X8EUNIT=EmbeddedApi.sam3x8e
+SAMD51P19AUNIT=EmbeddedApi.samd51p19a
+SC32442BUNIT=EmbeddedApi .sc32442b
 SFPU128UNIT=System.SoftFpu128
 SFPU128UNIT=System.SoftFpu128
 SFPUX80UNIT=System.SoftFpuX80
 SFPUX80UNIT=System.SoftFpuX80
 SHAREMEMUNIT=WinApi.ShareMem
 SHAREMEMUNIT=WinApi.ShareMem
@@ -556,25 +556,25 @@ SIGNALSUNIT=WinApi.Signals
 SO32DLLUNIT=OS2Api.so32dll
 SO32DLLUNIT=OS2Api.so32dll
 SOFTFPUUNIT=System.SoftFPU
 SOFTFPUUNIT=System.SoftFPU
 SORTBASEUNIT=System.SortBase
 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
+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
 STRINGSUNIT=System.Strings
 SYMBIANUNIT=SymbianApi.Symbian
 SYMBIANUNIT=SymbianApi.Symbian
 SYSALLUNIT=PalmApi.Sysall
 SYSALLUNIT=PalmApi.Sysall
@@ -610,7 +610,7 @@ WINPROCSUNIT=WinApi.WinProcs
 WINSYSUTUNIT=WinApi.WinSysUt
 WINSYSUTUNIT=WinApi.WinSysUt
 WINTYPESUNIT=WinApi.WinTypes
 WINTYPESUNIT=WinApi.WinTypes
 X86UNIT=System.X86
 X86UNIT=System.X86
-XMC4500UNIT=EmbeddedApi.Xmc4500
+XMC4500UNIT=EmbeddedApi.xmc4500
 EXEINFOUNIT=System.ExeInfo
 EXEINFOUNIT=System.ExeInfo
 ERRORSUNIT=UnixApi.Errors
 ERRORSUNIT=UnixApi.Errors
 else
 else
@@ -2246,23 +2246,23 @@ SOFTFPU_DEPS=$(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
@@ -2633,10 +2633,13 @@ BLOCKRTL_DEPS=$(INC)/blockrtl.pp \
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 	$(COMPILER) $(BLOCKRTL_OPT) $<
 	$(COMPILER) $(BLOCKRTL_OPT) $<
+ifndef WININCDIR
+  WININCDIR = $(WINDIR)/wininc
+endif
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 windows$(PPUEXT): $(WINDOWS_DEPS)
 windows$(PPUEXT): $(WINDOWS_DEPS)
-	$(COMPILER) $(WINDOWS_OPT) $<
+	$(COMPILER) -Fi$(WININC) $(WINDOWS_OPT) $<
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
@@ -2645,6 +2648,18 @@ windirs$(PPUEXT): $(WINDIRS_DEPS)
 	$(COMPILER) $(WINDIRS_OPT) $<
 	$(COMPILER) $(WINDIRS_OPT) $<
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDIRS_OPT) $<
 	$(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=$(BSDINC)/sysctl.pp $(SYSTEMUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) \
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)

+ 70 - 55
rtl/linux/Makefile

@@ -461,17 +461,17 @@ ESPIDF_40400UNIT=System.Espidf_40400
 EXEUNIT=OS2Api.exe
 EXEUNIT=OS2Api.exe
 EXEINFOUNIT=System.Exeinfo
 EXEINFOUNIT=System.Exeinfo
 EXTPASUNIT=extpas
 EXTPASUNIT=extpas
-FE310G000UNIT=EmbeddedApi.Fe310g000
-FE310G002UNIT=EmbeddedApi.Fe310g002
+FE310G000UNIT=EmbeddedApi.fe310g000
+FE310G002UNIT=EmbeddedApi.fe310g002
 FGLUNIT=System.FGL
 FGLUNIT=System.FGL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCYLIXUNIT=fpcylix
 FPCYLIXUNIT=fpcylix
 FPWIDESTRINGUNIT=System.FPWideString
 FPWIDESTRINGUNIT=System.FPWideString
 FREEBSDUNIT=FreeBSDApi.FreeBSD
 FREEBSDUNIT=FreeBSDApi.FreeBSD
-GD32VF103XXUNIT=EmbeddedApi.Gd32vf103xx
+GD32VF103XXUNIT=EmbeddedApi.gd32vf103xx
 GETOPTSUNIT=System.GetOpts
 GETOPTSUNIT=System.GetOpts
 GO32UNIT=DOSApi.GO32
 GO32UNIT=DOSApi.GO32
-GPIOUNIT=EmbeddedApi.Gpio
+GPIOUNIT=EmbeddedApi.gpio
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPTRCUNIT=heaptrc
 HEAPTRCUNIT=heaptrc
 INITCUNIT=System.InitC
 INITCUNIT=System.InitC
@@ -483,40 +483,40 @@ LIBCUNIT=NetwareLibCApi.Libc
 LINEINFOUNIT=System.LineInfo
 LINEINFOUNIT=System.LineInfo
 LINUXUNIT=LinuxApi
 LINUXUNIT=LinuxApi
 LINUXVCSUNIT=LinuxApi.Vcs
 LINUXVCSUNIT=LinuxApi.Vcs
-LM3FURYUNIT=EmbeddedApi.Lm3fury
-LM3TEMPESTUNIT=EmbeddedApi.Lm3tempest
-LM4F120UNIT=EmbeddedApi.Lm4f120
+LM3FURYUNIT=EmbeddedApi.lm3fury
+LM3TEMPESTUNIT=EmbeddedApi.lm3tempest
+LM4F120UNIT=EmbeddedApi.lm4f120
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFOGDBUNIT=System.LineInfo.Gdb
 LNFOGDBUNIT=System.LineInfo.Gdb
-LPC11XXUNIT=EmbeddedApi.Lpc11xx
-LPC122XUNIT=EmbeddedApi.Lpc122x
-LPC13XXUNIT=EmbeddedApi.Lpc13xx
-LPC1768UNIT=EmbeddedApi.Lpc1768
-LPC21X4UNIT=EmbeddedApi.Lpc21x4
-LPC8XXUNIT=EmbeddedApi.Lpc8xx
+LPC11XXUNIT=EmbeddedApi.lpc11xx
+LPC122XUNIT=EmbeddedApi.lpc122x
+LPC13XXUNIT=EmbeddedApi.lpc13xx
+LPC1768UNIT=EmbeddedApi.lpc1768
+LPC21X4UNIT=EmbeddedApi.lpc21x4
+LPC8XXUNIT=EmbeddedApi.lpc8xx
 LSTRINGSUNIT=System.LStrings
 LSTRINGSUNIT=System.LStrings
 MACOSUNIT=MacOSApi.MacOS
 MACOSUNIT=MacOSApi.MacOS
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACUTILSUNIT=MacOSApi.MacUtils
 MACUTILSUNIT=MacOSApi.MacUtils
-MAILBOXUNIT=EmbeddedApi.Mailbox
+MAILBOXUNIT=EmbeddedApi.mailbox
 MATHUNIT=System.Math
 MATHUNIT=System.Math
 MESSAGESUNIT=WinApi.Messages
 MESSAGESUNIT=WinApi.Messages
-MK20D5UNIT=EmbeddedApi.Mk20d5
-MK20D7UNIT=EmbeddedApi.Mk20d7
-MK22F51212UNIT=EmbeddedApi.Mk22f51212
-MK64F12UNIT=EmbeddedApi.Mk64f12
-MMIOUNIT=EmbeddedApi.Mmio
+MK20D5UNIT=EmbeddedApi.mk20d5
+MK20D7UNIT=EmbeddedApi.mk20d7
+MK22F51212UNIT=EmbeddedApi.mk22f51212
+MK64F12UNIT=EmbeddedApi.mk64f12
+MMIOUNIT=EmbeddedApi.mmio
 MMXUNIT=System.CPU.MMX
 MMXUNIT=System.CPU.MMX
 MONCALLSUNIT=OS2Api.moncalls
 MONCALLSUNIT=OS2Api.moncalls
 MOUCALLSUNIT=OS2Api.moucalls
 MOUCALLSUNIT=OS2Api.moucalls
 MSMOUSEUNIT=DOSApi.MSMouse
 MSMOUSEUNIT=DOSApi.MSMouse
-MULTIBOOTUNIT=EmbeddedApi.Multiboot
+MULTIBOOTUNIT=EmbeddedApi.multiboot
 NDKUNIT=NTApi.NDK
 NDKUNIT=NTApi.NDK
 NDKUTILSUNIT=NTApi.NDKUtils
 NDKUTILSUNIT=NTApi.NDKUtils
 NETWAREUNIT=NetwareApi.NetWare
 NETWAREUNIT=NetwareApi.NetWare
 NEWEXEUNIT=OS2Api.newexe
 NEWEXEUNIT=OS2Api.newexe
-NRF51UNIT=EmbeddedApi.Nrf51
-NRF52UNIT=EmbeddedApi.Nrf52
+NRF51UNIT=EmbeddedApi.nrf51
+NRF52UNIT=EmbeddedApi.nrf52
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWNITUNIT=NetWareApi.Nwnit
 NWNITUNIT=NetWareApi.Nwnit
 NWPREUNIT=NetWareApi.Nwpre
 NWPREUNIT=NetWareApi.Nwpre
@@ -542,13 +542,13 @@ PMWSOCKUNIT=OS2Api.pmwsock
 PORTSUNIT=System.Ports
 PORTSUNIT=System.Ports
 POSIXUNIT=QNXApi.Posix
 POSIXUNIT=QNXApi.Posix
 PROFILEUNIT=DOSApi.Profile
 PROFILEUNIT=DOSApi.Profile
-RASPI2UNIT=EmbeddedApi.Raspi2
-RASPI3UNIT=EmbeddedApi.Raspi3
-RASPIUARTUNIT=EmbeddedApi.Raspiuart
+RASPI2UNIT=EmbeddedApi.raspi2
+RASPI3UNIT=EmbeddedApi.raspi3
+RASPIUARTUNIT=EmbeddedApi.raspiuart
 RTLCONSTSUNIT=System.RtlConsts
 RTLCONSTSUNIT=System.RtlConsts
-SAM3X8EUNIT=EmbeddedApi.Sam3x8e
-SAMD51P19AUNIT=EmbeddedApi.Samd51p19a
-SC32442BUNIT=EmbeddedApi .Sc32442b
+SAM3X8EUNIT=EmbeddedApi.sam3x8e
+SAMD51P19AUNIT=EmbeddedApi.samd51p19a
+SC32442BUNIT=EmbeddedApi .sc32442b
 SFPU128UNIT=System.SoftFpu128
 SFPU128UNIT=System.SoftFpu128
 SFPUX80UNIT=System.SoftFpuX80
 SFPUX80UNIT=System.SoftFpuX80
 SHAREMEMUNIT=WinApi.ShareMem
 SHAREMEMUNIT=WinApi.ShareMem
@@ -556,25 +556,25 @@ SIGNALSUNIT=WinApi.Signals
 SO32DLLUNIT=OS2Api.so32dll
 SO32DLLUNIT=OS2Api.so32dll
 SOFTFPUUNIT=System.SoftFPU
 SOFTFPUUNIT=System.SoftFPU
 SORTBASEUNIT=System.SortBase
 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
+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
 STRINGSUNIT=System.Strings
 SYMBIANUNIT=SymbianApi.Symbian
 SYMBIANUNIT=SymbianApi.Symbian
 SYSALLUNIT=PalmApi.Sysall
 SYSALLUNIT=PalmApi.Sysall
@@ -610,7 +610,7 @@ WINPROCSUNIT=WinApi.WinProcs
 WINSYSUTUNIT=WinApi.WinSysUt
 WINSYSUTUNIT=WinApi.WinSysUt
 WINTYPESUNIT=WinApi.WinTypes
 WINTYPESUNIT=WinApi.WinTypes
 X86UNIT=System.X86
 X86UNIT=System.X86
-XMC4500UNIT=EmbeddedApi.Xmc4500
+XMC4500UNIT=EmbeddedApi.xmc4500
 EXEINFOUNIT=System.ExeInfo
 EXEINFOUNIT=System.ExeInfo
 ERRORSUNIT=UnixApi.Errors
 ERRORSUNIT=UnixApi.Errors
 else
 else
@@ -2876,23 +2876,23 @@ SOFTFPU_DEPS=$(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
@@ -3263,10 +3263,13 @@ BLOCKRTL_DEPS=$(INC)/blockrtl.pp \
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 	$(COMPILER) $(BLOCKRTL_OPT) $<
 	$(COMPILER) $(BLOCKRTL_OPT) $<
+ifndef WININCDIR
+  WININCDIR = $(WINDIR)/wininc
+endif
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 windows$(PPUEXT): $(WINDOWS_DEPS)
 windows$(PPUEXT): $(WINDOWS_DEPS)
-	$(COMPILER) $(WINDOWS_OPT) $<
+	$(COMPILER) -Fi$(WININC) $(WINDOWS_OPT) $<
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
@@ -3275,6 +3278,18 @@ windirs$(PPUEXT): $(WINDIRS_DEPS)
 	$(COMPILER) $(WINDIRS_OPT) $<
 	$(COMPILER) $(WINDIRS_OPT) $<
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDIRS_OPT) $<
 	$(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=$(BSDINC)/sysctl.pp $(SYSTEMUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) \
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)

+ 70 - 55
rtl/macos/Makefile

@@ -461,17 +461,17 @@ ESPIDF_40400UNIT=System.Espidf_40400
 EXEUNIT=OS2Api.exe
 EXEUNIT=OS2Api.exe
 EXEINFOUNIT=System.Exeinfo
 EXEINFOUNIT=System.Exeinfo
 EXTPASUNIT=extpas
 EXTPASUNIT=extpas
-FE310G000UNIT=EmbeddedApi.Fe310g000
-FE310G002UNIT=EmbeddedApi.Fe310g002
+FE310G000UNIT=EmbeddedApi.fe310g000
+FE310G002UNIT=EmbeddedApi.fe310g002
 FGLUNIT=System.FGL
 FGLUNIT=System.FGL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCYLIXUNIT=fpcylix
 FPCYLIXUNIT=fpcylix
 FPWIDESTRINGUNIT=System.FPWideString
 FPWIDESTRINGUNIT=System.FPWideString
 FREEBSDUNIT=FreeBSDApi.FreeBSD
 FREEBSDUNIT=FreeBSDApi.FreeBSD
-GD32VF103XXUNIT=EmbeddedApi.Gd32vf103xx
+GD32VF103XXUNIT=EmbeddedApi.gd32vf103xx
 GETOPTSUNIT=System.GetOpts
 GETOPTSUNIT=System.GetOpts
 GO32UNIT=DOSApi.GO32
 GO32UNIT=DOSApi.GO32
-GPIOUNIT=EmbeddedApi.Gpio
+GPIOUNIT=EmbeddedApi.gpio
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPTRCUNIT=heaptrc
 HEAPTRCUNIT=heaptrc
 INITCUNIT=System.InitC
 INITCUNIT=System.InitC
@@ -483,40 +483,40 @@ LIBCUNIT=NetwareLibCApi.Libc
 LINEINFOUNIT=System.LineInfo
 LINEINFOUNIT=System.LineInfo
 LINUXUNIT=LinuxApi
 LINUXUNIT=LinuxApi
 LINUXVCSUNIT=LinuxApi.Vcs
 LINUXVCSUNIT=LinuxApi.Vcs
-LM3FURYUNIT=EmbeddedApi.Lm3fury
-LM3TEMPESTUNIT=EmbeddedApi.Lm3tempest
-LM4F120UNIT=EmbeddedApi.Lm4f120
+LM3FURYUNIT=EmbeddedApi.lm3fury
+LM3TEMPESTUNIT=EmbeddedApi.lm3tempest
+LM4F120UNIT=EmbeddedApi.lm4f120
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFOGDBUNIT=System.LineInfo.Gdb
 LNFOGDBUNIT=System.LineInfo.Gdb
-LPC11XXUNIT=EmbeddedApi.Lpc11xx
-LPC122XUNIT=EmbeddedApi.Lpc122x
-LPC13XXUNIT=EmbeddedApi.Lpc13xx
-LPC1768UNIT=EmbeddedApi.Lpc1768
-LPC21X4UNIT=EmbeddedApi.Lpc21x4
-LPC8XXUNIT=EmbeddedApi.Lpc8xx
+LPC11XXUNIT=EmbeddedApi.lpc11xx
+LPC122XUNIT=EmbeddedApi.lpc122x
+LPC13XXUNIT=EmbeddedApi.lpc13xx
+LPC1768UNIT=EmbeddedApi.lpc1768
+LPC21X4UNIT=EmbeddedApi.lpc21x4
+LPC8XXUNIT=EmbeddedApi.lpc8xx
 LSTRINGSUNIT=System.LStrings
 LSTRINGSUNIT=System.LStrings
 MACOSUNIT=MacOSApi.MacOS
 MACOSUNIT=MacOSApi.MacOS
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACUTILSUNIT=MacOSApi.MacUtils
 MACUTILSUNIT=MacOSApi.MacUtils
-MAILBOXUNIT=EmbeddedApi.Mailbox
+MAILBOXUNIT=EmbeddedApi.mailbox
 MATHUNIT=System.Math
 MATHUNIT=System.Math
 MESSAGESUNIT=WinApi.Messages
 MESSAGESUNIT=WinApi.Messages
-MK20D5UNIT=EmbeddedApi.Mk20d5
-MK20D7UNIT=EmbeddedApi.Mk20d7
-MK22F51212UNIT=EmbeddedApi.Mk22f51212
-MK64F12UNIT=EmbeddedApi.Mk64f12
-MMIOUNIT=EmbeddedApi.Mmio
+MK20D5UNIT=EmbeddedApi.mk20d5
+MK20D7UNIT=EmbeddedApi.mk20d7
+MK22F51212UNIT=EmbeddedApi.mk22f51212
+MK64F12UNIT=EmbeddedApi.mk64f12
+MMIOUNIT=EmbeddedApi.mmio
 MMXUNIT=System.CPU.MMX
 MMXUNIT=System.CPU.MMX
 MONCALLSUNIT=OS2Api.moncalls
 MONCALLSUNIT=OS2Api.moncalls
 MOUCALLSUNIT=OS2Api.moucalls
 MOUCALLSUNIT=OS2Api.moucalls
 MSMOUSEUNIT=DOSApi.MSMouse
 MSMOUSEUNIT=DOSApi.MSMouse
-MULTIBOOTUNIT=EmbeddedApi.Multiboot
+MULTIBOOTUNIT=EmbeddedApi.multiboot
 NDKUNIT=NTApi.NDK
 NDKUNIT=NTApi.NDK
 NDKUTILSUNIT=NTApi.NDKUtils
 NDKUTILSUNIT=NTApi.NDKUtils
 NETWAREUNIT=NetwareApi.NetWare
 NETWAREUNIT=NetwareApi.NetWare
 NEWEXEUNIT=OS2Api.newexe
 NEWEXEUNIT=OS2Api.newexe
-NRF51UNIT=EmbeddedApi.Nrf51
-NRF52UNIT=EmbeddedApi.Nrf52
+NRF51UNIT=EmbeddedApi.nrf51
+NRF52UNIT=EmbeddedApi.nrf52
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWNITUNIT=NetWareApi.Nwnit
 NWNITUNIT=NetWareApi.Nwnit
 NWPREUNIT=NetWareApi.Nwpre
 NWPREUNIT=NetWareApi.Nwpre
@@ -542,13 +542,13 @@ PMWSOCKUNIT=OS2Api.pmwsock
 PORTSUNIT=System.Ports
 PORTSUNIT=System.Ports
 POSIXUNIT=QNXApi.Posix
 POSIXUNIT=QNXApi.Posix
 PROFILEUNIT=DOSApi.Profile
 PROFILEUNIT=DOSApi.Profile
-RASPI2UNIT=EmbeddedApi.Raspi2
-RASPI3UNIT=EmbeddedApi.Raspi3
-RASPIUARTUNIT=EmbeddedApi.Raspiuart
+RASPI2UNIT=EmbeddedApi.raspi2
+RASPI3UNIT=EmbeddedApi.raspi3
+RASPIUARTUNIT=EmbeddedApi.raspiuart
 RTLCONSTSUNIT=System.RtlConsts
 RTLCONSTSUNIT=System.RtlConsts
-SAM3X8EUNIT=EmbeddedApi.Sam3x8e
-SAMD51P19AUNIT=EmbeddedApi.Samd51p19a
-SC32442BUNIT=EmbeddedApi .Sc32442b
+SAM3X8EUNIT=EmbeddedApi.sam3x8e
+SAMD51P19AUNIT=EmbeddedApi.samd51p19a
+SC32442BUNIT=EmbeddedApi .sc32442b
 SFPU128UNIT=System.SoftFpu128
 SFPU128UNIT=System.SoftFpu128
 SFPUX80UNIT=System.SoftFpuX80
 SFPUX80UNIT=System.SoftFpuX80
 SHAREMEMUNIT=WinApi.ShareMem
 SHAREMEMUNIT=WinApi.ShareMem
@@ -556,25 +556,25 @@ SIGNALSUNIT=WinApi.Signals
 SO32DLLUNIT=OS2Api.so32dll
 SO32DLLUNIT=OS2Api.so32dll
 SOFTFPUUNIT=System.SoftFPU
 SOFTFPUUNIT=System.SoftFPU
 SORTBASEUNIT=System.SortBase
 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
+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
 STRINGSUNIT=System.Strings
 SYMBIANUNIT=SymbianApi.Symbian
 SYMBIANUNIT=SymbianApi.Symbian
 SYSALLUNIT=PalmApi.Sysall
 SYSALLUNIT=PalmApi.Sysall
@@ -610,7 +610,7 @@ WINPROCSUNIT=WinApi.WinProcs
 WINSYSUTUNIT=WinApi.WinSysUt
 WINSYSUTUNIT=WinApi.WinSysUt
 WINTYPESUNIT=WinApi.WinTypes
 WINTYPESUNIT=WinApi.WinTypes
 X86UNIT=System.X86
 X86UNIT=System.X86
-XMC4500UNIT=EmbeddedApi.Xmc4500
+XMC4500UNIT=EmbeddedApi.xmc4500
 EXEINFOUNIT=System.ExeInfo
 EXEINFOUNIT=System.ExeInfo
 ERRORSUNIT=UnixApi.Errors
 ERRORSUNIT=UnixApi.Errors
 else
 else
@@ -2265,23 +2265,23 @@ SOFTFPU_DEPS=$(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
@@ -2652,10 +2652,13 @@ BLOCKRTL_DEPS=$(INC)/blockrtl.pp \
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 	$(COMPILER) $(BLOCKRTL_OPT) $<
 	$(COMPILER) $(BLOCKRTL_OPT) $<
+ifndef WININCDIR
+  WININCDIR = $(WINDIR)/wininc
+endif
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 windows$(PPUEXT): $(WINDOWS_DEPS)
 windows$(PPUEXT): $(WINDOWS_DEPS)
-	$(COMPILER) $(WINDOWS_OPT) $<
+	$(COMPILER) -Fi$(WININC) $(WINDOWS_OPT) $<
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
@@ -2664,6 +2667,18 @@ windirs$(PPUEXT): $(WINDIRS_DEPS)
 	$(COMPILER) $(WINDIRS_OPT) $<
 	$(COMPILER) $(WINDIRS_OPT) $<
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDIRS_OPT) $<
 	$(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=$(BSDINC)/sysctl.pp $(SYSTEMUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) \
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)

+ 70 - 55
rtl/morphos/Makefile

@@ -462,17 +462,17 @@ ESPIDF_40400UNIT=System.Espidf_40400
 EXEUNIT=OS2Api.exe
 EXEUNIT=OS2Api.exe
 EXEINFOUNIT=System.Exeinfo
 EXEINFOUNIT=System.Exeinfo
 EXTPASUNIT=extpas
 EXTPASUNIT=extpas
-FE310G000UNIT=EmbeddedApi.Fe310g000
-FE310G002UNIT=EmbeddedApi.Fe310g002
+FE310G000UNIT=EmbeddedApi.fe310g000
+FE310G002UNIT=EmbeddedApi.fe310g002
 FGLUNIT=System.FGL
 FGLUNIT=System.FGL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCYLIXUNIT=fpcylix
 FPCYLIXUNIT=fpcylix
 FPWIDESTRINGUNIT=System.FPWideString
 FPWIDESTRINGUNIT=System.FPWideString
 FREEBSDUNIT=FreeBSDApi.FreeBSD
 FREEBSDUNIT=FreeBSDApi.FreeBSD
-GD32VF103XXUNIT=EmbeddedApi.Gd32vf103xx
+GD32VF103XXUNIT=EmbeddedApi.gd32vf103xx
 GETOPTSUNIT=System.GetOpts
 GETOPTSUNIT=System.GetOpts
 GO32UNIT=DOSApi.GO32
 GO32UNIT=DOSApi.GO32
-GPIOUNIT=EmbeddedApi.Gpio
+GPIOUNIT=EmbeddedApi.gpio
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPTRCUNIT=heaptrc
 HEAPTRCUNIT=heaptrc
 INITCUNIT=System.InitC
 INITCUNIT=System.InitC
@@ -484,40 +484,40 @@ LIBCUNIT=NetwareLibCApi.Libc
 LINEINFOUNIT=System.LineInfo
 LINEINFOUNIT=System.LineInfo
 LINUXUNIT=LinuxApi
 LINUXUNIT=LinuxApi
 LINUXVCSUNIT=LinuxApi.Vcs
 LINUXVCSUNIT=LinuxApi.Vcs
-LM3FURYUNIT=EmbeddedApi.Lm3fury
-LM3TEMPESTUNIT=EmbeddedApi.Lm3tempest
-LM4F120UNIT=EmbeddedApi.Lm4f120
+LM3FURYUNIT=EmbeddedApi.lm3fury
+LM3TEMPESTUNIT=EmbeddedApi.lm3tempest
+LM4F120UNIT=EmbeddedApi.lm4f120
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFOGDBUNIT=System.LineInfo.Gdb
 LNFOGDBUNIT=System.LineInfo.Gdb
-LPC11XXUNIT=EmbeddedApi.Lpc11xx
-LPC122XUNIT=EmbeddedApi.Lpc122x
-LPC13XXUNIT=EmbeddedApi.Lpc13xx
-LPC1768UNIT=EmbeddedApi.Lpc1768
-LPC21X4UNIT=EmbeddedApi.Lpc21x4
-LPC8XXUNIT=EmbeddedApi.Lpc8xx
+LPC11XXUNIT=EmbeddedApi.lpc11xx
+LPC122XUNIT=EmbeddedApi.lpc122x
+LPC13XXUNIT=EmbeddedApi.lpc13xx
+LPC1768UNIT=EmbeddedApi.lpc1768
+LPC21X4UNIT=EmbeddedApi.lpc21x4
+LPC8XXUNIT=EmbeddedApi.lpc8xx
 LSTRINGSUNIT=System.LStrings
 LSTRINGSUNIT=System.LStrings
 MACOSUNIT=MacOSApi.MacOS
 MACOSUNIT=MacOSApi.MacOS
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACUTILSUNIT=MacOSApi.MacUtils
 MACUTILSUNIT=MacOSApi.MacUtils
-MAILBOXUNIT=EmbeddedApi.Mailbox
+MAILBOXUNIT=EmbeddedApi.mailbox
 MATHUNIT=System.Math
 MATHUNIT=System.Math
 MESSAGESUNIT=WinApi.Messages
 MESSAGESUNIT=WinApi.Messages
-MK20D5UNIT=EmbeddedApi.Mk20d5
-MK20D7UNIT=EmbeddedApi.Mk20d7
-MK22F51212UNIT=EmbeddedApi.Mk22f51212
-MK64F12UNIT=EmbeddedApi.Mk64f12
-MMIOUNIT=EmbeddedApi.Mmio
+MK20D5UNIT=EmbeddedApi.mk20d5
+MK20D7UNIT=EmbeddedApi.mk20d7
+MK22F51212UNIT=EmbeddedApi.mk22f51212
+MK64F12UNIT=EmbeddedApi.mk64f12
+MMIOUNIT=EmbeddedApi.mmio
 MMXUNIT=System.CPU.MMX
 MMXUNIT=System.CPU.MMX
 MONCALLSUNIT=OS2Api.moncalls
 MONCALLSUNIT=OS2Api.moncalls
 MOUCALLSUNIT=OS2Api.moucalls
 MOUCALLSUNIT=OS2Api.moucalls
 MSMOUSEUNIT=DOSApi.MSMouse
 MSMOUSEUNIT=DOSApi.MSMouse
-MULTIBOOTUNIT=EmbeddedApi.Multiboot
+MULTIBOOTUNIT=EmbeddedApi.multiboot
 NDKUNIT=NTApi.NDK
 NDKUNIT=NTApi.NDK
 NDKUTILSUNIT=NTApi.NDKUtils
 NDKUTILSUNIT=NTApi.NDKUtils
 NETWAREUNIT=NetwareApi.NetWare
 NETWAREUNIT=NetwareApi.NetWare
 NEWEXEUNIT=OS2Api.newexe
 NEWEXEUNIT=OS2Api.newexe
-NRF51UNIT=EmbeddedApi.Nrf51
-NRF52UNIT=EmbeddedApi.Nrf52
+NRF51UNIT=EmbeddedApi.nrf51
+NRF52UNIT=EmbeddedApi.nrf52
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWNITUNIT=NetWareApi.Nwnit
 NWNITUNIT=NetWareApi.Nwnit
 NWPREUNIT=NetWareApi.Nwpre
 NWPREUNIT=NetWareApi.Nwpre
@@ -543,13 +543,13 @@ PMWSOCKUNIT=OS2Api.pmwsock
 PORTSUNIT=System.Ports
 PORTSUNIT=System.Ports
 POSIXUNIT=QNXApi.Posix
 POSIXUNIT=QNXApi.Posix
 PROFILEUNIT=DOSApi.Profile
 PROFILEUNIT=DOSApi.Profile
-RASPI2UNIT=EmbeddedApi.Raspi2
-RASPI3UNIT=EmbeddedApi.Raspi3
-RASPIUARTUNIT=EmbeddedApi.Raspiuart
+RASPI2UNIT=EmbeddedApi.raspi2
+RASPI3UNIT=EmbeddedApi.raspi3
+RASPIUARTUNIT=EmbeddedApi.raspiuart
 RTLCONSTSUNIT=System.RtlConsts
 RTLCONSTSUNIT=System.RtlConsts
-SAM3X8EUNIT=EmbeddedApi.Sam3x8e
-SAMD51P19AUNIT=EmbeddedApi.Samd51p19a
-SC32442BUNIT=EmbeddedApi .Sc32442b
+SAM3X8EUNIT=EmbeddedApi.sam3x8e
+SAMD51P19AUNIT=EmbeddedApi.samd51p19a
+SC32442BUNIT=EmbeddedApi .sc32442b
 SFPU128UNIT=System.SoftFpu128
 SFPU128UNIT=System.SoftFpu128
 SFPUX80UNIT=System.SoftFpuX80
 SFPUX80UNIT=System.SoftFpuX80
 SHAREMEMUNIT=WinApi.ShareMem
 SHAREMEMUNIT=WinApi.ShareMem
@@ -557,25 +557,25 @@ SIGNALSUNIT=WinApi.Signals
 SO32DLLUNIT=OS2Api.so32dll
 SO32DLLUNIT=OS2Api.so32dll
 SOFTFPUUNIT=System.SoftFPU
 SOFTFPUUNIT=System.SoftFPU
 SORTBASEUNIT=System.SortBase
 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
+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
 STRINGSUNIT=System.Strings
 SYMBIANUNIT=SymbianApi.Symbian
 SYMBIANUNIT=SymbianApi.Symbian
 SYSALLUNIT=PalmApi.Sysall
 SYSALLUNIT=PalmApi.Sysall
@@ -611,7 +611,7 @@ WINPROCSUNIT=WinApi.WinProcs
 WINSYSUTUNIT=WinApi.WinSysUt
 WINSYSUTUNIT=WinApi.WinSysUt
 WINTYPESUNIT=WinApi.WinTypes
 WINTYPESUNIT=WinApi.WinTypes
 X86UNIT=System.X86
 X86UNIT=System.X86
-XMC4500UNIT=EmbeddedApi.Xmc4500
+XMC4500UNIT=EmbeddedApi.xmc4500
 EXEINFOUNIT=System.ExeInfo
 EXEINFOUNIT=System.ExeInfo
 ERRORSUNIT=UnixApi.Errors
 ERRORSUNIT=UnixApi.Errors
 else
 else
@@ -2249,23 +2249,23 @@ SOFTFPU_DEPS=$(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
@@ -2636,10 +2636,13 @@ BLOCKRTL_DEPS=$(INC)/blockrtl.pp \
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 	$(COMPILER) $(BLOCKRTL_OPT) $<
 	$(COMPILER) $(BLOCKRTL_OPT) $<
+ifndef WININCDIR
+  WININCDIR = $(WINDIR)/wininc
+endif
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 windows$(PPUEXT): $(WINDOWS_DEPS)
 windows$(PPUEXT): $(WINDOWS_DEPS)
-	$(COMPILER) $(WINDOWS_OPT) $<
+	$(COMPILER) -Fi$(WININC) $(WINDOWS_OPT) $<
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
@@ -2648,6 +2651,18 @@ windirs$(PPUEXT): $(WINDIRS_DEPS)
 	$(COMPILER) $(WINDIRS_OPT) $<
 	$(COMPILER) $(WINDIRS_OPT) $<
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDIRS_OPT) $<
 	$(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=$(BSDINC)/sysctl.pp $(SYSTEMUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) \
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)

+ 70 - 55
rtl/msdos/Makefile

@@ -462,17 +462,17 @@ ESPIDF_40400UNIT=System.Espidf_40400
 EXEUNIT=OS2Api.exe
 EXEUNIT=OS2Api.exe
 EXEINFOUNIT=System.Exeinfo
 EXEINFOUNIT=System.Exeinfo
 EXTPASUNIT=extpas
 EXTPASUNIT=extpas
-FE310G000UNIT=EmbeddedApi.Fe310g000
-FE310G002UNIT=EmbeddedApi.Fe310g002
+FE310G000UNIT=EmbeddedApi.fe310g000
+FE310G002UNIT=EmbeddedApi.fe310g002
 FGLUNIT=System.FGL
 FGLUNIT=System.FGL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCYLIXUNIT=fpcylix
 FPCYLIXUNIT=fpcylix
 FPWIDESTRINGUNIT=System.FPWideString
 FPWIDESTRINGUNIT=System.FPWideString
 FREEBSDUNIT=FreeBSDApi.FreeBSD
 FREEBSDUNIT=FreeBSDApi.FreeBSD
-GD32VF103XXUNIT=EmbeddedApi.Gd32vf103xx
+GD32VF103XXUNIT=EmbeddedApi.gd32vf103xx
 GETOPTSUNIT=System.GetOpts
 GETOPTSUNIT=System.GetOpts
 GO32UNIT=DOSApi.GO32
 GO32UNIT=DOSApi.GO32
-GPIOUNIT=EmbeddedApi.Gpio
+GPIOUNIT=EmbeddedApi.gpio
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPTRCUNIT=heaptrc
 HEAPTRCUNIT=heaptrc
 INITCUNIT=System.InitC
 INITCUNIT=System.InitC
@@ -484,40 +484,40 @@ LIBCUNIT=NetwareLibCApi.Libc
 LINEINFOUNIT=System.LineInfo
 LINEINFOUNIT=System.LineInfo
 LINUXUNIT=LinuxApi
 LINUXUNIT=LinuxApi
 LINUXVCSUNIT=LinuxApi.Vcs
 LINUXVCSUNIT=LinuxApi.Vcs
-LM3FURYUNIT=EmbeddedApi.Lm3fury
-LM3TEMPESTUNIT=EmbeddedApi.Lm3tempest
-LM4F120UNIT=EmbeddedApi.Lm4f120
+LM3FURYUNIT=EmbeddedApi.lm3fury
+LM3TEMPESTUNIT=EmbeddedApi.lm3tempest
+LM4F120UNIT=EmbeddedApi.lm4f120
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFOGDBUNIT=System.LineInfo.Gdb
 LNFOGDBUNIT=System.LineInfo.Gdb
-LPC11XXUNIT=EmbeddedApi.Lpc11xx
-LPC122XUNIT=EmbeddedApi.Lpc122x
-LPC13XXUNIT=EmbeddedApi.Lpc13xx
-LPC1768UNIT=EmbeddedApi.Lpc1768
-LPC21X4UNIT=EmbeddedApi.Lpc21x4
-LPC8XXUNIT=EmbeddedApi.Lpc8xx
+LPC11XXUNIT=EmbeddedApi.lpc11xx
+LPC122XUNIT=EmbeddedApi.lpc122x
+LPC13XXUNIT=EmbeddedApi.lpc13xx
+LPC1768UNIT=EmbeddedApi.lpc1768
+LPC21X4UNIT=EmbeddedApi.lpc21x4
+LPC8XXUNIT=EmbeddedApi.lpc8xx
 LSTRINGSUNIT=System.LStrings
 LSTRINGSUNIT=System.LStrings
 MACOSUNIT=MacOSApi.MacOS
 MACOSUNIT=MacOSApi.MacOS
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACUTILSUNIT=MacOSApi.MacUtils
 MACUTILSUNIT=MacOSApi.MacUtils
-MAILBOXUNIT=EmbeddedApi.Mailbox
+MAILBOXUNIT=EmbeddedApi.mailbox
 MATHUNIT=System.Math
 MATHUNIT=System.Math
 MESSAGESUNIT=WinApi.Messages
 MESSAGESUNIT=WinApi.Messages
-MK20D5UNIT=EmbeddedApi.Mk20d5
-MK20D7UNIT=EmbeddedApi.Mk20d7
-MK22F51212UNIT=EmbeddedApi.Mk22f51212
-MK64F12UNIT=EmbeddedApi.Mk64f12
-MMIOUNIT=EmbeddedApi.Mmio
+MK20D5UNIT=EmbeddedApi.mk20d5
+MK20D7UNIT=EmbeddedApi.mk20d7
+MK22F51212UNIT=EmbeddedApi.mk22f51212
+MK64F12UNIT=EmbeddedApi.mk64f12
+MMIOUNIT=EmbeddedApi.mmio
 MMXUNIT=System.CPU.MMX
 MMXUNIT=System.CPU.MMX
 MONCALLSUNIT=OS2Api.moncalls
 MONCALLSUNIT=OS2Api.moncalls
 MOUCALLSUNIT=OS2Api.moucalls
 MOUCALLSUNIT=OS2Api.moucalls
 MSMOUSEUNIT=DOSApi.MSMouse
 MSMOUSEUNIT=DOSApi.MSMouse
-MULTIBOOTUNIT=EmbeddedApi.Multiboot
+MULTIBOOTUNIT=EmbeddedApi.multiboot
 NDKUNIT=NTApi.NDK
 NDKUNIT=NTApi.NDK
 NDKUTILSUNIT=NTApi.NDKUtils
 NDKUTILSUNIT=NTApi.NDKUtils
 NETWAREUNIT=NetwareApi.NetWare
 NETWAREUNIT=NetwareApi.NetWare
 NEWEXEUNIT=OS2Api.newexe
 NEWEXEUNIT=OS2Api.newexe
-NRF51UNIT=EmbeddedApi.Nrf51
-NRF52UNIT=EmbeddedApi.Nrf52
+NRF51UNIT=EmbeddedApi.nrf51
+NRF52UNIT=EmbeddedApi.nrf52
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWNITUNIT=NetWareApi.Nwnit
 NWNITUNIT=NetWareApi.Nwnit
 NWPREUNIT=NetWareApi.Nwpre
 NWPREUNIT=NetWareApi.Nwpre
@@ -543,13 +543,13 @@ PMWSOCKUNIT=OS2Api.pmwsock
 PORTSUNIT=System.Ports
 PORTSUNIT=System.Ports
 POSIXUNIT=QNXApi.Posix
 POSIXUNIT=QNXApi.Posix
 PROFILEUNIT=DOSApi.Profile
 PROFILEUNIT=DOSApi.Profile
-RASPI2UNIT=EmbeddedApi.Raspi2
-RASPI3UNIT=EmbeddedApi.Raspi3
-RASPIUARTUNIT=EmbeddedApi.Raspiuart
+RASPI2UNIT=EmbeddedApi.raspi2
+RASPI3UNIT=EmbeddedApi.raspi3
+RASPIUARTUNIT=EmbeddedApi.raspiuart
 RTLCONSTSUNIT=System.RtlConsts
 RTLCONSTSUNIT=System.RtlConsts
-SAM3X8EUNIT=EmbeddedApi.Sam3x8e
-SAMD51P19AUNIT=EmbeddedApi.Samd51p19a
-SC32442BUNIT=EmbeddedApi .Sc32442b
+SAM3X8EUNIT=EmbeddedApi.sam3x8e
+SAMD51P19AUNIT=EmbeddedApi.samd51p19a
+SC32442BUNIT=EmbeddedApi .sc32442b
 SFPU128UNIT=System.SoftFpu128
 SFPU128UNIT=System.SoftFpu128
 SFPUX80UNIT=System.SoftFpuX80
 SFPUX80UNIT=System.SoftFpuX80
 SHAREMEMUNIT=WinApi.ShareMem
 SHAREMEMUNIT=WinApi.ShareMem
@@ -557,25 +557,25 @@ SIGNALSUNIT=WinApi.Signals
 SO32DLLUNIT=OS2Api.so32dll
 SO32DLLUNIT=OS2Api.so32dll
 SOFTFPUUNIT=System.SoftFPU
 SOFTFPUUNIT=System.SoftFPU
 SORTBASEUNIT=System.SortBase
 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
+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
 STRINGSUNIT=System.Strings
 SYMBIANUNIT=SymbianApi.Symbian
 SYMBIANUNIT=SymbianApi.Symbian
 SYSALLUNIT=PalmApi.Sysall
 SYSALLUNIT=PalmApi.Sysall
@@ -611,7 +611,7 @@ WINPROCSUNIT=WinApi.WinProcs
 WINSYSUTUNIT=WinApi.WinSysUt
 WINSYSUTUNIT=WinApi.WinSysUt
 WINTYPESUNIT=WinApi.WinTypes
 WINTYPESUNIT=WinApi.WinTypes
 X86UNIT=System.X86
 X86UNIT=System.X86
-XMC4500UNIT=EmbeddedApi.Xmc4500
+XMC4500UNIT=EmbeddedApi.xmc4500
 EXEINFOUNIT=System.ExeInfo
 EXEINFOUNIT=System.ExeInfo
 ERRORSUNIT=UnixApi.Errors
 ERRORSUNIT=UnixApi.Errors
 else
 else
@@ -2276,23 +2276,23 @@ SOFTFPU_DEPS=$(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
@@ -2663,10 +2663,13 @@ BLOCKRTL_DEPS=$(INC)/blockrtl.pp \
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 	$(COMPILER) $(BLOCKRTL_OPT) $<
 	$(COMPILER) $(BLOCKRTL_OPT) $<
+ifndef WININCDIR
+  WININCDIR = $(WINDIR)/wininc
+endif
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 windows$(PPUEXT): $(WINDOWS_DEPS)
 windows$(PPUEXT): $(WINDOWS_DEPS)
-	$(COMPILER) $(WINDOWS_OPT) $<
+	$(COMPILER) -Fi$(WININC) $(WINDOWS_OPT) $<
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
@@ -2675,6 +2678,18 @@ windirs$(PPUEXT): $(WINDIRS_DEPS)
 	$(COMPILER) $(WINDIRS_OPT) $<
 	$(COMPILER) $(WINDIRS_OPT) $<
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDIRS_OPT) $<
 	$(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=$(BSDINC)/sysctl.pp $(SYSTEMUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) \
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)

+ 70 - 55
rtl/msxdos/Makefile

@@ -462,17 +462,17 @@ ESPIDF_40400UNIT=System.Espidf_40400
 EXEUNIT=OS2Api.exe
 EXEUNIT=OS2Api.exe
 EXEINFOUNIT=System.Exeinfo
 EXEINFOUNIT=System.Exeinfo
 EXTPASUNIT=extpas
 EXTPASUNIT=extpas
-FE310G000UNIT=EmbeddedApi.Fe310g000
-FE310G002UNIT=EmbeddedApi.Fe310g002
+FE310G000UNIT=EmbeddedApi.fe310g000
+FE310G002UNIT=EmbeddedApi.fe310g002
 FGLUNIT=System.FGL
 FGLUNIT=System.FGL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCYLIXUNIT=fpcylix
 FPCYLIXUNIT=fpcylix
 FPWIDESTRINGUNIT=System.FPWideString
 FPWIDESTRINGUNIT=System.FPWideString
 FREEBSDUNIT=FreeBSDApi.FreeBSD
 FREEBSDUNIT=FreeBSDApi.FreeBSD
-GD32VF103XXUNIT=EmbeddedApi.Gd32vf103xx
+GD32VF103XXUNIT=EmbeddedApi.gd32vf103xx
 GETOPTSUNIT=System.GetOpts
 GETOPTSUNIT=System.GetOpts
 GO32UNIT=DOSApi.GO32
 GO32UNIT=DOSApi.GO32
-GPIOUNIT=EmbeddedApi.Gpio
+GPIOUNIT=EmbeddedApi.gpio
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPTRCUNIT=heaptrc
 HEAPTRCUNIT=heaptrc
 INITCUNIT=System.InitC
 INITCUNIT=System.InitC
@@ -484,40 +484,40 @@ LIBCUNIT=NetwareLibCApi.Libc
 LINEINFOUNIT=System.LineInfo
 LINEINFOUNIT=System.LineInfo
 LINUXUNIT=LinuxApi
 LINUXUNIT=LinuxApi
 LINUXVCSUNIT=LinuxApi.Vcs
 LINUXVCSUNIT=LinuxApi.Vcs
-LM3FURYUNIT=EmbeddedApi.Lm3fury
-LM3TEMPESTUNIT=EmbeddedApi.Lm3tempest
-LM4F120UNIT=EmbeddedApi.Lm4f120
+LM3FURYUNIT=EmbeddedApi.lm3fury
+LM3TEMPESTUNIT=EmbeddedApi.lm3tempest
+LM4F120UNIT=EmbeddedApi.lm4f120
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFOGDBUNIT=System.LineInfo.Gdb
 LNFOGDBUNIT=System.LineInfo.Gdb
-LPC11XXUNIT=EmbeddedApi.Lpc11xx
-LPC122XUNIT=EmbeddedApi.Lpc122x
-LPC13XXUNIT=EmbeddedApi.Lpc13xx
-LPC1768UNIT=EmbeddedApi.Lpc1768
-LPC21X4UNIT=EmbeddedApi.Lpc21x4
-LPC8XXUNIT=EmbeddedApi.Lpc8xx
+LPC11XXUNIT=EmbeddedApi.lpc11xx
+LPC122XUNIT=EmbeddedApi.lpc122x
+LPC13XXUNIT=EmbeddedApi.lpc13xx
+LPC1768UNIT=EmbeddedApi.lpc1768
+LPC21X4UNIT=EmbeddedApi.lpc21x4
+LPC8XXUNIT=EmbeddedApi.lpc8xx
 LSTRINGSUNIT=System.LStrings
 LSTRINGSUNIT=System.LStrings
 MACOSUNIT=MacOSApi.MacOS
 MACOSUNIT=MacOSApi.MacOS
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACUTILSUNIT=MacOSApi.MacUtils
 MACUTILSUNIT=MacOSApi.MacUtils
-MAILBOXUNIT=EmbeddedApi.Mailbox
+MAILBOXUNIT=EmbeddedApi.mailbox
 MATHUNIT=System.Math
 MATHUNIT=System.Math
 MESSAGESUNIT=WinApi.Messages
 MESSAGESUNIT=WinApi.Messages
-MK20D5UNIT=EmbeddedApi.Mk20d5
-MK20D7UNIT=EmbeddedApi.Mk20d7
-MK22F51212UNIT=EmbeddedApi.Mk22f51212
-MK64F12UNIT=EmbeddedApi.Mk64f12
-MMIOUNIT=EmbeddedApi.Mmio
+MK20D5UNIT=EmbeddedApi.mk20d5
+MK20D7UNIT=EmbeddedApi.mk20d7
+MK22F51212UNIT=EmbeddedApi.mk22f51212
+MK64F12UNIT=EmbeddedApi.mk64f12
+MMIOUNIT=EmbeddedApi.mmio
 MMXUNIT=System.CPU.MMX
 MMXUNIT=System.CPU.MMX
 MONCALLSUNIT=OS2Api.moncalls
 MONCALLSUNIT=OS2Api.moncalls
 MOUCALLSUNIT=OS2Api.moucalls
 MOUCALLSUNIT=OS2Api.moucalls
 MSMOUSEUNIT=DOSApi.MSMouse
 MSMOUSEUNIT=DOSApi.MSMouse
-MULTIBOOTUNIT=EmbeddedApi.Multiboot
+MULTIBOOTUNIT=EmbeddedApi.multiboot
 NDKUNIT=NTApi.NDK
 NDKUNIT=NTApi.NDK
 NDKUTILSUNIT=NTApi.NDKUtils
 NDKUTILSUNIT=NTApi.NDKUtils
 NETWAREUNIT=NetwareApi.NetWare
 NETWAREUNIT=NetwareApi.NetWare
 NEWEXEUNIT=OS2Api.newexe
 NEWEXEUNIT=OS2Api.newexe
-NRF51UNIT=EmbeddedApi.Nrf51
-NRF52UNIT=EmbeddedApi.Nrf52
+NRF51UNIT=EmbeddedApi.nrf51
+NRF52UNIT=EmbeddedApi.nrf52
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWNITUNIT=NetWareApi.Nwnit
 NWNITUNIT=NetWareApi.Nwnit
 NWPREUNIT=NetWareApi.Nwpre
 NWPREUNIT=NetWareApi.Nwpre
@@ -543,13 +543,13 @@ PMWSOCKUNIT=OS2Api.pmwsock
 PORTSUNIT=System.Ports
 PORTSUNIT=System.Ports
 POSIXUNIT=QNXApi.Posix
 POSIXUNIT=QNXApi.Posix
 PROFILEUNIT=DOSApi.Profile
 PROFILEUNIT=DOSApi.Profile
-RASPI2UNIT=EmbeddedApi.Raspi2
-RASPI3UNIT=EmbeddedApi.Raspi3
-RASPIUARTUNIT=EmbeddedApi.Raspiuart
+RASPI2UNIT=EmbeddedApi.raspi2
+RASPI3UNIT=EmbeddedApi.raspi3
+RASPIUARTUNIT=EmbeddedApi.raspiuart
 RTLCONSTSUNIT=System.RtlConsts
 RTLCONSTSUNIT=System.RtlConsts
-SAM3X8EUNIT=EmbeddedApi.Sam3x8e
-SAMD51P19AUNIT=EmbeddedApi.Samd51p19a
-SC32442BUNIT=EmbeddedApi .Sc32442b
+SAM3X8EUNIT=EmbeddedApi.sam3x8e
+SAMD51P19AUNIT=EmbeddedApi.samd51p19a
+SC32442BUNIT=EmbeddedApi .sc32442b
 SFPU128UNIT=System.SoftFpu128
 SFPU128UNIT=System.SoftFpu128
 SFPUX80UNIT=System.SoftFpuX80
 SFPUX80UNIT=System.SoftFpuX80
 SHAREMEMUNIT=WinApi.ShareMem
 SHAREMEMUNIT=WinApi.ShareMem
@@ -557,25 +557,25 @@ SIGNALSUNIT=WinApi.Signals
 SO32DLLUNIT=OS2Api.so32dll
 SO32DLLUNIT=OS2Api.so32dll
 SOFTFPUUNIT=System.SoftFPU
 SOFTFPUUNIT=System.SoftFPU
 SORTBASEUNIT=System.SortBase
 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
+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
 STRINGSUNIT=System.Strings
 SYMBIANUNIT=SymbianApi.Symbian
 SYMBIANUNIT=SymbianApi.Symbian
 SYSALLUNIT=PalmApi.Sysall
 SYSALLUNIT=PalmApi.Sysall
@@ -611,7 +611,7 @@ WINPROCSUNIT=WinApi.WinProcs
 WINSYSUTUNIT=WinApi.WinSysUt
 WINSYSUTUNIT=WinApi.WinSysUt
 WINTYPESUNIT=WinApi.WinTypes
 WINTYPESUNIT=WinApi.WinTypes
 X86UNIT=System.X86
 X86UNIT=System.X86
-XMC4500UNIT=EmbeddedApi.Xmc4500
+XMC4500UNIT=EmbeddedApi.xmc4500
 EXEINFOUNIT=System.ExeInfo
 EXEINFOUNIT=System.ExeInfo
 ERRORSUNIT=UnixApi.Errors
 ERRORSUNIT=UnixApi.Errors
 else
 else
@@ -2246,23 +2246,23 @@ SOFTFPU_DEPS=$(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
@@ -2633,10 +2633,13 @@ BLOCKRTL_DEPS=$(INC)/blockrtl.pp \
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 	$(COMPILER) $(BLOCKRTL_OPT) $<
 	$(COMPILER) $(BLOCKRTL_OPT) $<
+ifndef WININCDIR
+  WININCDIR = $(WINDIR)/wininc
+endif
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 windows$(PPUEXT): $(WINDOWS_DEPS)
 windows$(PPUEXT): $(WINDOWS_DEPS)
-	$(COMPILER) $(WINDOWS_OPT) $<
+	$(COMPILER) -Fi$(WININC) $(WINDOWS_OPT) $<
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
@@ -2645,6 +2648,18 @@ windirs$(PPUEXT): $(WINDIRS_DEPS)
 	$(COMPILER) $(WINDIRS_OPT) $<
 	$(COMPILER) $(WINDIRS_OPT) $<
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDIRS_OPT) $<
 	$(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=$(BSDINC)/sysctl.pp $(SYSTEMUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) \
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)

+ 70 - 55
rtl/nativent/Makefile

@@ -461,17 +461,17 @@ ESPIDF_40400UNIT=System.Espidf_40400
 EXEUNIT=OS2Api.exe
 EXEUNIT=OS2Api.exe
 EXEINFOUNIT=System.Exeinfo
 EXEINFOUNIT=System.Exeinfo
 EXTPASUNIT=extpas
 EXTPASUNIT=extpas
-FE310G000UNIT=EmbeddedApi.Fe310g000
-FE310G002UNIT=EmbeddedApi.Fe310g002
+FE310G000UNIT=EmbeddedApi.fe310g000
+FE310G002UNIT=EmbeddedApi.fe310g002
 FGLUNIT=System.FGL
 FGLUNIT=System.FGL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCYLIXUNIT=fpcylix
 FPCYLIXUNIT=fpcylix
 FPWIDESTRINGUNIT=System.FPWideString
 FPWIDESTRINGUNIT=System.FPWideString
 FREEBSDUNIT=FreeBSDApi.FreeBSD
 FREEBSDUNIT=FreeBSDApi.FreeBSD
-GD32VF103XXUNIT=EmbeddedApi.Gd32vf103xx
+GD32VF103XXUNIT=EmbeddedApi.gd32vf103xx
 GETOPTSUNIT=System.GetOpts
 GETOPTSUNIT=System.GetOpts
 GO32UNIT=DOSApi.GO32
 GO32UNIT=DOSApi.GO32
-GPIOUNIT=EmbeddedApi.Gpio
+GPIOUNIT=EmbeddedApi.gpio
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPTRCUNIT=heaptrc
 HEAPTRCUNIT=heaptrc
 INITCUNIT=System.InitC
 INITCUNIT=System.InitC
@@ -483,40 +483,40 @@ LIBCUNIT=NetwareLibCApi.Libc
 LINEINFOUNIT=System.LineInfo
 LINEINFOUNIT=System.LineInfo
 LINUXUNIT=LinuxApi
 LINUXUNIT=LinuxApi
 LINUXVCSUNIT=LinuxApi.Vcs
 LINUXVCSUNIT=LinuxApi.Vcs
-LM3FURYUNIT=EmbeddedApi.Lm3fury
-LM3TEMPESTUNIT=EmbeddedApi.Lm3tempest
-LM4F120UNIT=EmbeddedApi.Lm4f120
+LM3FURYUNIT=EmbeddedApi.lm3fury
+LM3TEMPESTUNIT=EmbeddedApi.lm3tempest
+LM4F120UNIT=EmbeddedApi.lm4f120
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFOGDBUNIT=System.LineInfo.Gdb
 LNFOGDBUNIT=System.LineInfo.Gdb
-LPC11XXUNIT=EmbeddedApi.Lpc11xx
-LPC122XUNIT=EmbeddedApi.Lpc122x
-LPC13XXUNIT=EmbeddedApi.Lpc13xx
-LPC1768UNIT=EmbeddedApi.Lpc1768
-LPC21X4UNIT=EmbeddedApi.Lpc21x4
-LPC8XXUNIT=EmbeddedApi.Lpc8xx
+LPC11XXUNIT=EmbeddedApi.lpc11xx
+LPC122XUNIT=EmbeddedApi.lpc122x
+LPC13XXUNIT=EmbeddedApi.lpc13xx
+LPC1768UNIT=EmbeddedApi.lpc1768
+LPC21X4UNIT=EmbeddedApi.lpc21x4
+LPC8XXUNIT=EmbeddedApi.lpc8xx
 LSTRINGSUNIT=System.LStrings
 LSTRINGSUNIT=System.LStrings
 MACOSUNIT=MacOSApi.MacOS
 MACOSUNIT=MacOSApi.MacOS
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACUTILSUNIT=MacOSApi.MacUtils
 MACUTILSUNIT=MacOSApi.MacUtils
-MAILBOXUNIT=EmbeddedApi.Mailbox
+MAILBOXUNIT=EmbeddedApi.mailbox
 MATHUNIT=System.Math
 MATHUNIT=System.Math
 MESSAGESUNIT=WinApi.Messages
 MESSAGESUNIT=WinApi.Messages
-MK20D5UNIT=EmbeddedApi.Mk20d5
-MK20D7UNIT=EmbeddedApi.Mk20d7
-MK22F51212UNIT=EmbeddedApi.Mk22f51212
-MK64F12UNIT=EmbeddedApi.Mk64f12
-MMIOUNIT=EmbeddedApi.Mmio
+MK20D5UNIT=EmbeddedApi.mk20d5
+MK20D7UNIT=EmbeddedApi.mk20d7
+MK22F51212UNIT=EmbeddedApi.mk22f51212
+MK64F12UNIT=EmbeddedApi.mk64f12
+MMIOUNIT=EmbeddedApi.mmio
 MMXUNIT=System.CPU.MMX
 MMXUNIT=System.CPU.MMX
 MONCALLSUNIT=OS2Api.moncalls
 MONCALLSUNIT=OS2Api.moncalls
 MOUCALLSUNIT=OS2Api.moucalls
 MOUCALLSUNIT=OS2Api.moucalls
 MSMOUSEUNIT=DOSApi.MSMouse
 MSMOUSEUNIT=DOSApi.MSMouse
-MULTIBOOTUNIT=EmbeddedApi.Multiboot
+MULTIBOOTUNIT=EmbeddedApi.multiboot
 NDKUNIT=NTApi.NDK
 NDKUNIT=NTApi.NDK
 NDKUTILSUNIT=NTApi.NDKUtils
 NDKUTILSUNIT=NTApi.NDKUtils
 NETWAREUNIT=NetwareApi.NetWare
 NETWAREUNIT=NetwareApi.NetWare
 NEWEXEUNIT=OS2Api.newexe
 NEWEXEUNIT=OS2Api.newexe
-NRF51UNIT=EmbeddedApi.Nrf51
-NRF52UNIT=EmbeddedApi.Nrf52
+NRF51UNIT=EmbeddedApi.nrf51
+NRF52UNIT=EmbeddedApi.nrf52
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWNITUNIT=NetWareApi.Nwnit
 NWNITUNIT=NetWareApi.Nwnit
 NWPREUNIT=NetWareApi.Nwpre
 NWPREUNIT=NetWareApi.Nwpre
@@ -542,13 +542,13 @@ PMWSOCKUNIT=OS2Api.pmwsock
 PORTSUNIT=System.Ports
 PORTSUNIT=System.Ports
 POSIXUNIT=QNXApi.Posix
 POSIXUNIT=QNXApi.Posix
 PROFILEUNIT=DOSApi.Profile
 PROFILEUNIT=DOSApi.Profile
-RASPI2UNIT=EmbeddedApi.Raspi2
-RASPI3UNIT=EmbeddedApi.Raspi3
-RASPIUARTUNIT=EmbeddedApi.Raspiuart
+RASPI2UNIT=EmbeddedApi.raspi2
+RASPI3UNIT=EmbeddedApi.raspi3
+RASPIUARTUNIT=EmbeddedApi.raspiuart
 RTLCONSTSUNIT=System.RtlConsts
 RTLCONSTSUNIT=System.RtlConsts
-SAM3X8EUNIT=EmbeddedApi.Sam3x8e
-SAMD51P19AUNIT=EmbeddedApi.Samd51p19a
-SC32442BUNIT=EmbeddedApi .Sc32442b
+SAM3X8EUNIT=EmbeddedApi.sam3x8e
+SAMD51P19AUNIT=EmbeddedApi.samd51p19a
+SC32442BUNIT=EmbeddedApi .sc32442b
 SFPU128UNIT=System.SoftFpu128
 SFPU128UNIT=System.SoftFpu128
 SFPUX80UNIT=System.SoftFpuX80
 SFPUX80UNIT=System.SoftFpuX80
 SHAREMEMUNIT=WinApi.ShareMem
 SHAREMEMUNIT=WinApi.ShareMem
@@ -556,25 +556,25 @@ SIGNALSUNIT=WinApi.Signals
 SO32DLLUNIT=OS2Api.so32dll
 SO32DLLUNIT=OS2Api.so32dll
 SOFTFPUUNIT=System.SoftFPU
 SOFTFPUUNIT=System.SoftFPU
 SORTBASEUNIT=System.SortBase
 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
+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
 STRINGSUNIT=System.Strings
 SYMBIANUNIT=SymbianApi.Symbian
 SYMBIANUNIT=SymbianApi.Symbian
 SYSALLUNIT=PalmApi.Sysall
 SYSALLUNIT=PalmApi.Sysall
@@ -610,7 +610,7 @@ WINPROCSUNIT=WinApi.WinProcs
 WINSYSUTUNIT=WinApi.WinSysUt
 WINSYSUTUNIT=WinApi.WinSysUt
 WINTYPESUNIT=WinApi.WinTypes
 WINTYPESUNIT=WinApi.WinTypes
 X86UNIT=System.X86
 X86UNIT=System.X86
-XMC4500UNIT=EmbeddedApi.Xmc4500
+XMC4500UNIT=EmbeddedApi.xmc4500
 EXEINFOUNIT=System.ExeInfo
 EXEINFOUNIT=System.ExeInfo
 ERRORSUNIT=UnixApi.Errors
 ERRORSUNIT=UnixApi.Errors
 else
 else
@@ -2253,23 +2253,23 @@ SOFTFPU_DEPS=$(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
@@ -2640,10 +2640,13 @@ BLOCKRTL_DEPS=$(INC)/blockrtl.pp \
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 	$(COMPILER) $(BLOCKRTL_OPT) $<
 	$(COMPILER) $(BLOCKRTL_OPT) $<
+ifndef WININCDIR
+  WININCDIR = $(WINDIR)/wininc
+endif
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 windows$(PPUEXT): $(WINDOWS_DEPS)
 windows$(PPUEXT): $(WINDOWS_DEPS)
-	$(COMPILER) $(WINDOWS_OPT) $<
+	$(COMPILER) -Fi$(WININC) $(WINDOWS_OPT) $<
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
@@ -2652,6 +2655,18 @@ windirs$(PPUEXT): $(WINDIRS_DEPS)
 	$(COMPILER) $(WINDIRS_OPT) $<
 	$(COMPILER) $(WINDIRS_OPT) $<
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDIRS_OPT) $<
 	$(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=$(BSDINC)/sysctl.pp $(SYSTEMUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) \
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)

+ 70 - 55
rtl/nds/Makefile

@@ -462,17 +462,17 @@ ESPIDF_40400UNIT=System.Espidf_40400
 EXEUNIT=OS2Api.exe
 EXEUNIT=OS2Api.exe
 EXEINFOUNIT=System.Exeinfo
 EXEINFOUNIT=System.Exeinfo
 EXTPASUNIT=extpas
 EXTPASUNIT=extpas
-FE310G000UNIT=EmbeddedApi.Fe310g000
-FE310G002UNIT=EmbeddedApi.Fe310g002
+FE310G000UNIT=EmbeddedApi.fe310g000
+FE310G002UNIT=EmbeddedApi.fe310g002
 FGLUNIT=System.FGL
 FGLUNIT=System.FGL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCYLIXUNIT=fpcylix
 FPCYLIXUNIT=fpcylix
 FPWIDESTRINGUNIT=System.FPWideString
 FPWIDESTRINGUNIT=System.FPWideString
 FREEBSDUNIT=FreeBSDApi.FreeBSD
 FREEBSDUNIT=FreeBSDApi.FreeBSD
-GD32VF103XXUNIT=EmbeddedApi.Gd32vf103xx
+GD32VF103XXUNIT=EmbeddedApi.gd32vf103xx
 GETOPTSUNIT=System.GetOpts
 GETOPTSUNIT=System.GetOpts
 GO32UNIT=DOSApi.GO32
 GO32UNIT=DOSApi.GO32
-GPIOUNIT=EmbeddedApi.Gpio
+GPIOUNIT=EmbeddedApi.gpio
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPTRCUNIT=heaptrc
 HEAPTRCUNIT=heaptrc
 INITCUNIT=System.InitC
 INITCUNIT=System.InitC
@@ -484,40 +484,40 @@ LIBCUNIT=NetwareLibCApi.Libc
 LINEINFOUNIT=System.LineInfo
 LINEINFOUNIT=System.LineInfo
 LINUXUNIT=LinuxApi
 LINUXUNIT=LinuxApi
 LINUXVCSUNIT=LinuxApi.Vcs
 LINUXVCSUNIT=LinuxApi.Vcs
-LM3FURYUNIT=EmbeddedApi.Lm3fury
-LM3TEMPESTUNIT=EmbeddedApi.Lm3tempest
-LM4F120UNIT=EmbeddedApi.Lm4f120
+LM3FURYUNIT=EmbeddedApi.lm3fury
+LM3TEMPESTUNIT=EmbeddedApi.lm3tempest
+LM4F120UNIT=EmbeddedApi.lm4f120
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFOGDBUNIT=System.LineInfo.Gdb
 LNFOGDBUNIT=System.LineInfo.Gdb
-LPC11XXUNIT=EmbeddedApi.Lpc11xx
-LPC122XUNIT=EmbeddedApi.Lpc122x
-LPC13XXUNIT=EmbeddedApi.Lpc13xx
-LPC1768UNIT=EmbeddedApi.Lpc1768
-LPC21X4UNIT=EmbeddedApi.Lpc21x4
-LPC8XXUNIT=EmbeddedApi.Lpc8xx
+LPC11XXUNIT=EmbeddedApi.lpc11xx
+LPC122XUNIT=EmbeddedApi.lpc122x
+LPC13XXUNIT=EmbeddedApi.lpc13xx
+LPC1768UNIT=EmbeddedApi.lpc1768
+LPC21X4UNIT=EmbeddedApi.lpc21x4
+LPC8XXUNIT=EmbeddedApi.lpc8xx
 LSTRINGSUNIT=System.LStrings
 LSTRINGSUNIT=System.LStrings
 MACOSUNIT=MacOSApi.MacOS
 MACOSUNIT=MacOSApi.MacOS
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACUTILSUNIT=MacOSApi.MacUtils
 MACUTILSUNIT=MacOSApi.MacUtils
-MAILBOXUNIT=EmbeddedApi.Mailbox
+MAILBOXUNIT=EmbeddedApi.mailbox
 MATHUNIT=System.Math
 MATHUNIT=System.Math
 MESSAGESUNIT=WinApi.Messages
 MESSAGESUNIT=WinApi.Messages
-MK20D5UNIT=EmbeddedApi.Mk20d5
-MK20D7UNIT=EmbeddedApi.Mk20d7
-MK22F51212UNIT=EmbeddedApi.Mk22f51212
-MK64F12UNIT=EmbeddedApi.Mk64f12
-MMIOUNIT=EmbeddedApi.Mmio
+MK20D5UNIT=EmbeddedApi.mk20d5
+MK20D7UNIT=EmbeddedApi.mk20d7
+MK22F51212UNIT=EmbeddedApi.mk22f51212
+MK64F12UNIT=EmbeddedApi.mk64f12
+MMIOUNIT=EmbeddedApi.mmio
 MMXUNIT=System.CPU.MMX
 MMXUNIT=System.CPU.MMX
 MONCALLSUNIT=OS2Api.moncalls
 MONCALLSUNIT=OS2Api.moncalls
 MOUCALLSUNIT=OS2Api.moucalls
 MOUCALLSUNIT=OS2Api.moucalls
 MSMOUSEUNIT=DOSApi.MSMouse
 MSMOUSEUNIT=DOSApi.MSMouse
-MULTIBOOTUNIT=EmbeddedApi.Multiboot
+MULTIBOOTUNIT=EmbeddedApi.multiboot
 NDKUNIT=NTApi.NDK
 NDKUNIT=NTApi.NDK
 NDKUTILSUNIT=NTApi.NDKUtils
 NDKUTILSUNIT=NTApi.NDKUtils
 NETWAREUNIT=NetwareApi.NetWare
 NETWAREUNIT=NetwareApi.NetWare
 NEWEXEUNIT=OS2Api.newexe
 NEWEXEUNIT=OS2Api.newexe
-NRF51UNIT=EmbeddedApi.Nrf51
-NRF52UNIT=EmbeddedApi.Nrf52
+NRF51UNIT=EmbeddedApi.nrf51
+NRF52UNIT=EmbeddedApi.nrf52
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWNITUNIT=NetWareApi.Nwnit
 NWNITUNIT=NetWareApi.Nwnit
 NWPREUNIT=NetWareApi.Nwpre
 NWPREUNIT=NetWareApi.Nwpre
@@ -543,13 +543,13 @@ PMWSOCKUNIT=OS2Api.pmwsock
 PORTSUNIT=System.Ports
 PORTSUNIT=System.Ports
 POSIXUNIT=QNXApi.Posix
 POSIXUNIT=QNXApi.Posix
 PROFILEUNIT=DOSApi.Profile
 PROFILEUNIT=DOSApi.Profile
-RASPI2UNIT=EmbeddedApi.Raspi2
-RASPI3UNIT=EmbeddedApi.Raspi3
-RASPIUARTUNIT=EmbeddedApi.Raspiuart
+RASPI2UNIT=EmbeddedApi.raspi2
+RASPI3UNIT=EmbeddedApi.raspi3
+RASPIUARTUNIT=EmbeddedApi.raspiuart
 RTLCONSTSUNIT=System.RtlConsts
 RTLCONSTSUNIT=System.RtlConsts
-SAM3X8EUNIT=EmbeddedApi.Sam3x8e
-SAMD51P19AUNIT=EmbeddedApi.Samd51p19a
-SC32442BUNIT=EmbeddedApi .Sc32442b
+SAM3X8EUNIT=EmbeddedApi.sam3x8e
+SAMD51P19AUNIT=EmbeddedApi.samd51p19a
+SC32442BUNIT=EmbeddedApi .sc32442b
 SFPU128UNIT=System.SoftFpu128
 SFPU128UNIT=System.SoftFpu128
 SFPUX80UNIT=System.SoftFpuX80
 SFPUX80UNIT=System.SoftFpuX80
 SHAREMEMUNIT=WinApi.ShareMem
 SHAREMEMUNIT=WinApi.ShareMem
@@ -557,25 +557,25 @@ SIGNALSUNIT=WinApi.Signals
 SO32DLLUNIT=OS2Api.so32dll
 SO32DLLUNIT=OS2Api.so32dll
 SOFTFPUUNIT=System.SoftFPU
 SOFTFPUUNIT=System.SoftFPU
 SORTBASEUNIT=System.SortBase
 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
+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
 STRINGSUNIT=System.Strings
 SYMBIANUNIT=SymbianApi.Symbian
 SYMBIANUNIT=SymbianApi.Symbian
 SYSALLUNIT=PalmApi.Sysall
 SYSALLUNIT=PalmApi.Sysall
@@ -611,7 +611,7 @@ WINPROCSUNIT=WinApi.WinProcs
 WINSYSUTUNIT=WinApi.WinSysUt
 WINSYSUTUNIT=WinApi.WinSysUt
 WINTYPESUNIT=WinApi.WinTypes
 WINTYPESUNIT=WinApi.WinTypes
 X86UNIT=System.X86
 X86UNIT=System.X86
-XMC4500UNIT=EmbeddedApi.Xmc4500
+XMC4500UNIT=EmbeddedApi.xmc4500
 EXEINFOUNIT=System.ExeInfo
 EXEINFOUNIT=System.ExeInfo
 ERRORSUNIT=UnixApi.Errors
 ERRORSUNIT=UnixApi.Errors
 else
 else
@@ -2276,23 +2276,23 @@ SOFTFPU_DEPS=$(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
@@ -2663,10 +2663,13 @@ BLOCKRTL_DEPS=$(INC)/blockrtl.pp \
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 	$(COMPILER) $(BLOCKRTL_OPT) $<
 	$(COMPILER) $(BLOCKRTL_OPT) $<
+ifndef WININCDIR
+  WININCDIR = $(WINDIR)/wininc
+endif
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 windows$(PPUEXT): $(WINDOWS_DEPS)
 windows$(PPUEXT): $(WINDOWS_DEPS)
-	$(COMPILER) $(WINDOWS_OPT) $<
+	$(COMPILER) -Fi$(WININC) $(WINDOWS_OPT) $<
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
@@ -2675,6 +2678,18 @@ windirs$(PPUEXT): $(WINDIRS_DEPS)
 	$(COMPILER) $(WINDIRS_OPT) $<
 	$(COMPILER) $(WINDIRS_OPT) $<
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDIRS_OPT) $<
 	$(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=$(BSDINC)/sysctl.pp $(SYSTEMUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) \
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)

+ 70 - 55
rtl/netbsd/Makefile

@@ -461,17 +461,17 @@ ESPIDF_40400UNIT=System.Espidf_40400
 EXEUNIT=OS2Api.exe
 EXEUNIT=OS2Api.exe
 EXEINFOUNIT=System.Exeinfo
 EXEINFOUNIT=System.Exeinfo
 EXTPASUNIT=extpas
 EXTPASUNIT=extpas
-FE310G000UNIT=EmbeddedApi.Fe310g000
-FE310G002UNIT=EmbeddedApi.Fe310g002
+FE310G000UNIT=EmbeddedApi.fe310g000
+FE310G002UNIT=EmbeddedApi.fe310g002
 FGLUNIT=System.FGL
 FGLUNIT=System.FGL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCYLIXUNIT=fpcylix
 FPCYLIXUNIT=fpcylix
 FPWIDESTRINGUNIT=System.FPWideString
 FPWIDESTRINGUNIT=System.FPWideString
 FREEBSDUNIT=FreeBSDApi.FreeBSD
 FREEBSDUNIT=FreeBSDApi.FreeBSD
-GD32VF103XXUNIT=EmbeddedApi.Gd32vf103xx
+GD32VF103XXUNIT=EmbeddedApi.gd32vf103xx
 GETOPTSUNIT=System.GetOpts
 GETOPTSUNIT=System.GetOpts
 GO32UNIT=DOSApi.GO32
 GO32UNIT=DOSApi.GO32
-GPIOUNIT=EmbeddedApi.Gpio
+GPIOUNIT=EmbeddedApi.gpio
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPTRCUNIT=heaptrc
 HEAPTRCUNIT=heaptrc
 INITCUNIT=System.InitC
 INITCUNIT=System.InitC
@@ -483,40 +483,40 @@ LIBCUNIT=NetwareLibCApi.Libc
 LINEINFOUNIT=System.LineInfo
 LINEINFOUNIT=System.LineInfo
 LINUXUNIT=LinuxApi
 LINUXUNIT=LinuxApi
 LINUXVCSUNIT=LinuxApi.Vcs
 LINUXVCSUNIT=LinuxApi.Vcs
-LM3FURYUNIT=EmbeddedApi.Lm3fury
-LM3TEMPESTUNIT=EmbeddedApi.Lm3tempest
-LM4F120UNIT=EmbeddedApi.Lm4f120
+LM3FURYUNIT=EmbeddedApi.lm3fury
+LM3TEMPESTUNIT=EmbeddedApi.lm3tempest
+LM4F120UNIT=EmbeddedApi.lm4f120
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFOGDBUNIT=System.LineInfo.Gdb
 LNFOGDBUNIT=System.LineInfo.Gdb
-LPC11XXUNIT=EmbeddedApi.Lpc11xx
-LPC122XUNIT=EmbeddedApi.Lpc122x
-LPC13XXUNIT=EmbeddedApi.Lpc13xx
-LPC1768UNIT=EmbeddedApi.Lpc1768
-LPC21X4UNIT=EmbeddedApi.Lpc21x4
-LPC8XXUNIT=EmbeddedApi.Lpc8xx
+LPC11XXUNIT=EmbeddedApi.lpc11xx
+LPC122XUNIT=EmbeddedApi.lpc122x
+LPC13XXUNIT=EmbeddedApi.lpc13xx
+LPC1768UNIT=EmbeddedApi.lpc1768
+LPC21X4UNIT=EmbeddedApi.lpc21x4
+LPC8XXUNIT=EmbeddedApi.lpc8xx
 LSTRINGSUNIT=System.LStrings
 LSTRINGSUNIT=System.LStrings
 MACOSUNIT=MacOSApi.MacOS
 MACOSUNIT=MacOSApi.MacOS
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACUTILSUNIT=MacOSApi.MacUtils
 MACUTILSUNIT=MacOSApi.MacUtils
-MAILBOXUNIT=EmbeddedApi.Mailbox
+MAILBOXUNIT=EmbeddedApi.mailbox
 MATHUNIT=System.Math
 MATHUNIT=System.Math
 MESSAGESUNIT=WinApi.Messages
 MESSAGESUNIT=WinApi.Messages
-MK20D5UNIT=EmbeddedApi.Mk20d5
-MK20D7UNIT=EmbeddedApi.Mk20d7
-MK22F51212UNIT=EmbeddedApi.Mk22f51212
-MK64F12UNIT=EmbeddedApi.Mk64f12
-MMIOUNIT=EmbeddedApi.Mmio
+MK20D5UNIT=EmbeddedApi.mk20d5
+MK20D7UNIT=EmbeddedApi.mk20d7
+MK22F51212UNIT=EmbeddedApi.mk22f51212
+MK64F12UNIT=EmbeddedApi.mk64f12
+MMIOUNIT=EmbeddedApi.mmio
 MMXUNIT=System.CPU.MMX
 MMXUNIT=System.CPU.MMX
 MONCALLSUNIT=OS2Api.moncalls
 MONCALLSUNIT=OS2Api.moncalls
 MOUCALLSUNIT=OS2Api.moucalls
 MOUCALLSUNIT=OS2Api.moucalls
 MSMOUSEUNIT=DOSApi.MSMouse
 MSMOUSEUNIT=DOSApi.MSMouse
-MULTIBOOTUNIT=EmbeddedApi.Multiboot
+MULTIBOOTUNIT=EmbeddedApi.multiboot
 NDKUNIT=NTApi.NDK
 NDKUNIT=NTApi.NDK
 NDKUTILSUNIT=NTApi.NDKUtils
 NDKUTILSUNIT=NTApi.NDKUtils
 NETWAREUNIT=NetwareApi.NetWare
 NETWAREUNIT=NetwareApi.NetWare
 NEWEXEUNIT=OS2Api.newexe
 NEWEXEUNIT=OS2Api.newexe
-NRF51UNIT=EmbeddedApi.Nrf51
-NRF52UNIT=EmbeddedApi.Nrf52
+NRF51UNIT=EmbeddedApi.nrf51
+NRF52UNIT=EmbeddedApi.nrf52
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWNITUNIT=NetWareApi.Nwnit
 NWNITUNIT=NetWareApi.Nwnit
 NWPREUNIT=NetWareApi.Nwpre
 NWPREUNIT=NetWareApi.Nwpre
@@ -542,13 +542,13 @@ PMWSOCKUNIT=OS2Api.pmwsock
 PORTSUNIT=System.Ports
 PORTSUNIT=System.Ports
 POSIXUNIT=QNXApi.Posix
 POSIXUNIT=QNXApi.Posix
 PROFILEUNIT=DOSApi.Profile
 PROFILEUNIT=DOSApi.Profile
-RASPI2UNIT=EmbeddedApi.Raspi2
-RASPI3UNIT=EmbeddedApi.Raspi3
-RASPIUARTUNIT=EmbeddedApi.Raspiuart
+RASPI2UNIT=EmbeddedApi.raspi2
+RASPI3UNIT=EmbeddedApi.raspi3
+RASPIUARTUNIT=EmbeddedApi.raspiuart
 RTLCONSTSUNIT=System.RtlConsts
 RTLCONSTSUNIT=System.RtlConsts
-SAM3X8EUNIT=EmbeddedApi.Sam3x8e
-SAMD51P19AUNIT=EmbeddedApi.Samd51p19a
-SC32442BUNIT=EmbeddedApi .Sc32442b
+SAM3X8EUNIT=EmbeddedApi.sam3x8e
+SAMD51P19AUNIT=EmbeddedApi.samd51p19a
+SC32442BUNIT=EmbeddedApi .sc32442b
 SFPU128UNIT=System.SoftFpu128
 SFPU128UNIT=System.SoftFpu128
 SFPUX80UNIT=System.SoftFpuX80
 SFPUX80UNIT=System.SoftFpuX80
 SHAREMEMUNIT=WinApi.ShareMem
 SHAREMEMUNIT=WinApi.ShareMem
@@ -556,25 +556,25 @@ SIGNALSUNIT=WinApi.Signals
 SO32DLLUNIT=OS2Api.so32dll
 SO32DLLUNIT=OS2Api.so32dll
 SOFTFPUUNIT=System.SoftFPU
 SOFTFPUUNIT=System.SoftFPU
 SORTBASEUNIT=System.SortBase
 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
+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
 STRINGSUNIT=System.Strings
 SYMBIANUNIT=SymbianApi.Symbian
 SYMBIANUNIT=SymbianApi.Symbian
 SYSALLUNIT=PalmApi.Sysall
 SYSALLUNIT=PalmApi.Sysall
@@ -610,7 +610,7 @@ WINPROCSUNIT=WinApi.WinProcs
 WINSYSUTUNIT=WinApi.WinSysUt
 WINSYSUTUNIT=WinApi.WinSysUt
 WINTYPESUNIT=WinApi.WinTypes
 WINTYPESUNIT=WinApi.WinTypes
 X86UNIT=System.X86
 X86UNIT=System.X86
-XMC4500UNIT=EmbeddedApi.Xmc4500
+XMC4500UNIT=EmbeddedApi.xmc4500
 EXEINFOUNIT=System.ExeInfo
 EXEINFOUNIT=System.ExeInfo
 ERRORSUNIT=UnixApi.Errors
 ERRORSUNIT=UnixApi.Errors
 else
 else
@@ -2381,23 +2381,23 @@ SOFTFPU_DEPS=$(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
@@ -2768,10 +2768,13 @@ BLOCKRTL_DEPS=$(INC)/blockrtl.pp \
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 	$(COMPILER) $(BLOCKRTL_OPT) $<
 	$(COMPILER) $(BLOCKRTL_OPT) $<
+ifndef WININCDIR
+  WININCDIR = $(WINDIR)/wininc
+endif
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 windows$(PPUEXT): $(WINDOWS_DEPS)
 windows$(PPUEXT): $(WINDOWS_DEPS)
-	$(COMPILER) $(WINDOWS_OPT) $<
+	$(COMPILER) -Fi$(WININC) $(WINDOWS_OPT) $<
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
@@ -2780,6 +2783,18 @@ windirs$(PPUEXT): $(WINDIRS_DEPS)
 	$(COMPILER) $(WINDIRS_OPT) $<
 	$(COMPILER) $(WINDIRS_OPT) $<
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDIRS_OPT) $<
 	$(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=$(BSDINC)/sysctl.pp $(SYSTEMUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) \
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)

+ 70 - 55
rtl/netware/Makefile

@@ -462,17 +462,17 @@ ESPIDF_40400UNIT=System.Espidf_40400
 EXEUNIT=OS2Api.exe
 EXEUNIT=OS2Api.exe
 EXEINFOUNIT=System.Exeinfo
 EXEINFOUNIT=System.Exeinfo
 EXTPASUNIT=extpas
 EXTPASUNIT=extpas
-FE310G000UNIT=EmbeddedApi.Fe310g000
-FE310G002UNIT=EmbeddedApi.Fe310g002
+FE310G000UNIT=EmbeddedApi.fe310g000
+FE310G002UNIT=EmbeddedApi.fe310g002
 FGLUNIT=System.FGL
 FGLUNIT=System.FGL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCYLIXUNIT=fpcylix
 FPCYLIXUNIT=fpcylix
 FPWIDESTRINGUNIT=System.FPWideString
 FPWIDESTRINGUNIT=System.FPWideString
 FREEBSDUNIT=FreeBSDApi.FreeBSD
 FREEBSDUNIT=FreeBSDApi.FreeBSD
-GD32VF103XXUNIT=EmbeddedApi.Gd32vf103xx
+GD32VF103XXUNIT=EmbeddedApi.gd32vf103xx
 GETOPTSUNIT=System.GetOpts
 GETOPTSUNIT=System.GetOpts
 GO32UNIT=DOSApi.GO32
 GO32UNIT=DOSApi.GO32
-GPIOUNIT=EmbeddedApi.Gpio
+GPIOUNIT=EmbeddedApi.gpio
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPTRCUNIT=heaptrc
 HEAPTRCUNIT=heaptrc
 INITCUNIT=System.InitC
 INITCUNIT=System.InitC
@@ -484,40 +484,40 @@ LIBCUNIT=NetwareLibCApi.Libc
 LINEINFOUNIT=System.LineInfo
 LINEINFOUNIT=System.LineInfo
 LINUXUNIT=LinuxApi
 LINUXUNIT=LinuxApi
 LINUXVCSUNIT=LinuxApi.Vcs
 LINUXVCSUNIT=LinuxApi.Vcs
-LM3FURYUNIT=EmbeddedApi.Lm3fury
-LM3TEMPESTUNIT=EmbeddedApi.Lm3tempest
-LM4F120UNIT=EmbeddedApi.Lm4f120
+LM3FURYUNIT=EmbeddedApi.lm3fury
+LM3TEMPESTUNIT=EmbeddedApi.lm3tempest
+LM4F120UNIT=EmbeddedApi.lm4f120
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFOGDBUNIT=System.LineInfo.Gdb
 LNFOGDBUNIT=System.LineInfo.Gdb
-LPC11XXUNIT=EmbeddedApi.Lpc11xx
-LPC122XUNIT=EmbeddedApi.Lpc122x
-LPC13XXUNIT=EmbeddedApi.Lpc13xx
-LPC1768UNIT=EmbeddedApi.Lpc1768
-LPC21X4UNIT=EmbeddedApi.Lpc21x4
-LPC8XXUNIT=EmbeddedApi.Lpc8xx
+LPC11XXUNIT=EmbeddedApi.lpc11xx
+LPC122XUNIT=EmbeddedApi.lpc122x
+LPC13XXUNIT=EmbeddedApi.lpc13xx
+LPC1768UNIT=EmbeddedApi.lpc1768
+LPC21X4UNIT=EmbeddedApi.lpc21x4
+LPC8XXUNIT=EmbeddedApi.lpc8xx
 LSTRINGSUNIT=System.LStrings
 LSTRINGSUNIT=System.LStrings
 MACOSUNIT=MacOSApi.MacOS
 MACOSUNIT=MacOSApi.MacOS
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACUTILSUNIT=MacOSApi.MacUtils
 MACUTILSUNIT=MacOSApi.MacUtils
-MAILBOXUNIT=EmbeddedApi.Mailbox
+MAILBOXUNIT=EmbeddedApi.mailbox
 MATHUNIT=System.Math
 MATHUNIT=System.Math
 MESSAGESUNIT=WinApi.Messages
 MESSAGESUNIT=WinApi.Messages
-MK20D5UNIT=EmbeddedApi.Mk20d5
-MK20D7UNIT=EmbeddedApi.Mk20d7
-MK22F51212UNIT=EmbeddedApi.Mk22f51212
-MK64F12UNIT=EmbeddedApi.Mk64f12
-MMIOUNIT=EmbeddedApi.Mmio
+MK20D5UNIT=EmbeddedApi.mk20d5
+MK20D7UNIT=EmbeddedApi.mk20d7
+MK22F51212UNIT=EmbeddedApi.mk22f51212
+MK64F12UNIT=EmbeddedApi.mk64f12
+MMIOUNIT=EmbeddedApi.mmio
 MMXUNIT=System.CPU.MMX
 MMXUNIT=System.CPU.MMX
 MONCALLSUNIT=OS2Api.moncalls
 MONCALLSUNIT=OS2Api.moncalls
 MOUCALLSUNIT=OS2Api.moucalls
 MOUCALLSUNIT=OS2Api.moucalls
 MSMOUSEUNIT=DOSApi.MSMouse
 MSMOUSEUNIT=DOSApi.MSMouse
-MULTIBOOTUNIT=EmbeddedApi.Multiboot
+MULTIBOOTUNIT=EmbeddedApi.multiboot
 NDKUNIT=NTApi.NDK
 NDKUNIT=NTApi.NDK
 NDKUTILSUNIT=NTApi.NDKUtils
 NDKUTILSUNIT=NTApi.NDKUtils
 NETWAREUNIT=NetwareApi.NetWare
 NETWAREUNIT=NetwareApi.NetWare
 NEWEXEUNIT=OS2Api.newexe
 NEWEXEUNIT=OS2Api.newexe
-NRF51UNIT=EmbeddedApi.Nrf51
-NRF52UNIT=EmbeddedApi.Nrf52
+NRF51UNIT=EmbeddedApi.nrf51
+NRF52UNIT=EmbeddedApi.nrf52
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWNITUNIT=NetWareApi.Nwnit
 NWNITUNIT=NetWareApi.Nwnit
 NWPREUNIT=NetWareApi.Nwpre
 NWPREUNIT=NetWareApi.Nwpre
@@ -543,13 +543,13 @@ PMWSOCKUNIT=OS2Api.pmwsock
 PORTSUNIT=System.Ports
 PORTSUNIT=System.Ports
 POSIXUNIT=QNXApi.Posix
 POSIXUNIT=QNXApi.Posix
 PROFILEUNIT=DOSApi.Profile
 PROFILEUNIT=DOSApi.Profile
-RASPI2UNIT=EmbeddedApi.Raspi2
-RASPI3UNIT=EmbeddedApi.Raspi3
-RASPIUARTUNIT=EmbeddedApi.Raspiuart
+RASPI2UNIT=EmbeddedApi.raspi2
+RASPI3UNIT=EmbeddedApi.raspi3
+RASPIUARTUNIT=EmbeddedApi.raspiuart
 RTLCONSTSUNIT=System.RtlConsts
 RTLCONSTSUNIT=System.RtlConsts
-SAM3X8EUNIT=EmbeddedApi.Sam3x8e
-SAMD51P19AUNIT=EmbeddedApi.Samd51p19a
-SC32442BUNIT=EmbeddedApi .Sc32442b
+SAM3X8EUNIT=EmbeddedApi.sam3x8e
+SAMD51P19AUNIT=EmbeddedApi.samd51p19a
+SC32442BUNIT=EmbeddedApi .sc32442b
 SFPU128UNIT=System.SoftFpu128
 SFPU128UNIT=System.SoftFpu128
 SFPUX80UNIT=System.SoftFpuX80
 SFPUX80UNIT=System.SoftFpuX80
 SHAREMEMUNIT=WinApi.ShareMem
 SHAREMEMUNIT=WinApi.ShareMem
@@ -557,25 +557,25 @@ SIGNALSUNIT=WinApi.Signals
 SO32DLLUNIT=OS2Api.so32dll
 SO32DLLUNIT=OS2Api.so32dll
 SOFTFPUUNIT=System.SoftFPU
 SOFTFPUUNIT=System.SoftFPU
 SORTBASEUNIT=System.SortBase
 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
+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
 STRINGSUNIT=System.Strings
 SYMBIANUNIT=SymbianApi.Symbian
 SYMBIANUNIT=SymbianApi.Symbian
 SYSALLUNIT=PalmApi.Sysall
 SYSALLUNIT=PalmApi.Sysall
@@ -611,7 +611,7 @@ WINPROCSUNIT=WinApi.WinProcs
 WINSYSUTUNIT=WinApi.WinSysUt
 WINSYSUTUNIT=WinApi.WinSysUt
 WINTYPESUNIT=WinApi.WinTypes
 WINTYPESUNIT=WinApi.WinTypes
 X86UNIT=System.X86
 X86UNIT=System.X86
-XMC4500UNIT=EmbeddedApi.Xmc4500
+XMC4500UNIT=EmbeddedApi.xmc4500
 EXEINFOUNIT=System.ExeInfo
 EXEINFOUNIT=System.ExeInfo
 ERRORSUNIT=UnixApi.Errors
 ERRORSUNIT=UnixApi.Errors
 else
 else
@@ -2290,23 +2290,23 @@ SOFTFPU_DEPS=$(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
@@ -2677,10 +2677,13 @@ BLOCKRTL_DEPS=$(INC)/blockrtl.pp \
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 	$(COMPILER) $(BLOCKRTL_OPT) $<
 	$(COMPILER) $(BLOCKRTL_OPT) $<
+ifndef WININCDIR
+  WININCDIR = $(WINDIR)/wininc
+endif
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 windows$(PPUEXT): $(WINDOWS_DEPS)
 windows$(PPUEXT): $(WINDOWS_DEPS)
-	$(COMPILER) $(WINDOWS_OPT) $<
+	$(COMPILER) -Fi$(WININC) $(WINDOWS_OPT) $<
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
@@ -2689,6 +2692,18 @@ windirs$(PPUEXT): $(WINDIRS_DEPS)
 	$(COMPILER) $(WINDIRS_OPT) $<
 	$(COMPILER) $(WINDIRS_OPT) $<
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDIRS_OPT) $<
 	$(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=$(BSDINC)/sysctl.pp $(SYSTEMUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) \
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)

+ 70 - 55
rtl/netwlibc/Makefile

@@ -461,17 +461,17 @@ ESPIDF_40400UNIT=System.Espidf_40400
 EXEUNIT=OS2Api.exe
 EXEUNIT=OS2Api.exe
 EXEINFOUNIT=System.Exeinfo
 EXEINFOUNIT=System.Exeinfo
 EXTPASUNIT=extpas
 EXTPASUNIT=extpas
-FE310G000UNIT=EmbeddedApi.Fe310g000
-FE310G002UNIT=EmbeddedApi.Fe310g002
+FE310G000UNIT=EmbeddedApi.fe310g000
+FE310G002UNIT=EmbeddedApi.fe310g002
 FGLUNIT=System.FGL
 FGLUNIT=System.FGL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCYLIXUNIT=fpcylix
 FPCYLIXUNIT=fpcylix
 FPWIDESTRINGUNIT=System.FPWideString
 FPWIDESTRINGUNIT=System.FPWideString
 FREEBSDUNIT=FreeBSDApi.FreeBSD
 FREEBSDUNIT=FreeBSDApi.FreeBSD
-GD32VF103XXUNIT=EmbeddedApi.Gd32vf103xx
+GD32VF103XXUNIT=EmbeddedApi.gd32vf103xx
 GETOPTSUNIT=System.GetOpts
 GETOPTSUNIT=System.GetOpts
 GO32UNIT=DOSApi.GO32
 GO32UNIT=DOSApi.GO32
-GPIOUNIT=EmbeddedApi.Gpio
+GPIOUNIT=EmbeddedApi.gpio
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPTRCUNIT=heaptrc
 HEAPTRCUNIT=heaptrc
 INITCUNIT=System.InitC
 INITCUNIT=System.InitC
@@ -483,40 +483,40 @@ LIBCUNIT=NetwareLibCApi.Libc
 LINEINFOUNIT=System.LineInfo
 LINEINFOUNIT=System.LineInfo
 LINUXUNIT=LinuxApi
 LINUXUNIT=LinuxApi
 LINUXVCSUNIT=LinuxApi.Vcs
 LINUXVCSUNIT=LinuxApi.Vcs
-LM3FURYUNIT=EmbeddedApi.Lm3fury
-LM3TEMPESTUNIT=EmbeddedApi.Lm3tempest
-LM4F120UNIT=EmbeddedApi.Lm4f120
+LM3FURYUNIT=EmbeddedApi.lm3fury
+LM3TEMPESTUNIT=EmbeddedApi.lm3tempest
+LM4F120UNIT=EmbeddedApi.lm4f120
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFOGDBUNIT=System.LineInfo.Gdb
 LNFOGDBUNIT=System.LineInfo.Gdb
-LPC11XXUNIT=EmbeddedApi.Lpc11xx
-LPC122XUNIT=EmbeddedApi.Lpc122x
-LPC13XXUNIT=EmbeddedApi.Lpc13xx
-LPC1768UNIT=EmbeddedApi.Lpc1768
-LPC21X4UNIT=EmbeddedApi.Lpc21x4
-LPC8XXUNIT=EmbeddedApi.Lpc8xx
+LPC11XXUNIT=EmbeddedApi.lpc11xx
+LPC122XUNIT=EmbeddedApi.lpc122x
+LPC13XXUNIT=EmbeddedApi.lpc13xx
+LPC1768UNIT=EmbeddedApi.lpc1768
+LPC21X4UNIT=EmbeddedApi.lpc21x4
+LPC8XXUNIT=EmbeddedApi.lpc8xx
 LSTRINGSUNIT=System.LStrings
 LSTRINGSUNIT=System.LStrings
 MACOSUNIT=MacOSApi.MacOS
 MACOSUNIT=MacOSApi.MacOS
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACUTILSUNIT=MacOSApi.MacUtils
 MACUTILSUNIT=MacOSApi.MacUtils
-MAILBOXUNIT=EmbeddedApi.Mailbox
+MAILBOXUNIT=EmbeddedApi.mailbox
 MATHUNIT=System.Math
 MATHUNIT=System.Math
 MESSAGESUNIT=WinApi.Messages
 MESSAGESUNIT=WinApi.Messages
-MK20D5UNIT=EmbeddedApi.Mk20d5
-MK20D7UNIT=EmbeddedApi.Mk20d7
-MK22F51212UNIT=EmbeddedApi.Mk22f51212
-MK64F12UNIT=EmbeddedApi.Mk64f12
-MMIOUNIT=EmbeddedApi.Mmio
+MK20D5UNIT=EmbeddedApi.mk20d5
+MK20D7UNIT=EmbeddedApi.mk20d7
+MK22F51212UNIT=EmbeddedApi.mk22f51212
+MK64F12UNIT=EmbeddedApi.mk64f12
+MMIOUNIT=EmbeddedApi.mmio
 MMXUNIT=System.CPU.MMX
 MMXUNIT=System.CPU.MMX
 MONCALLSUNIT=OS2Api.moncalls
 MONCALLSUNIT=OS2Api.moncalls
 MOUCALLSUNIT=OS2Api.moucalls
 MOUCALLSUNIT=OS2Api.moucalls
 MSMOUSEUNIT=DOSApi.MSMouse
 MSMOUSEUNIT=DOSApi.MSMouse
-MULTIBOOTUNIT=EmbeddedApi.Multiboot
+MULTIBOOTUNIT=EmbeddedApi.multiboot
 NDKUNIT=NTApi.NDK
 NDKUNIT=NTApi.NDK
 NDKUTILSUNIT=NTApi.NDKUtils
 NDKUTILSUNIT=NTApi.NDKUtils
 NETWAREUNIT=NetwareApi.NetWare
 NETWAREUNIT=NetwareApi.NetWare
 NEWEXEUNIT=OS2Api.newexe
 NEWEXEUNIT=OS2Api.newexe
-NRF51UNIT=EmbeddedApi.Nrf51
-NRF52UNIT=EmbeddedApi.Nrf52
+NRF51UNIT=EmbeddedApi.nrf51
+NRF52UNIT=EmbeddedApi.nrf52
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWNITUNIT=NetWareApi.Nwnit
 NWNITUNIT=NetWareApi.Nwnit
 NWPREUNIT=NetWareApi.Nwpre
 NWPREUNIT=NetWareApi.Nwpre
@@ -542,13 +542,13 @@ PMWSOCKUNIT=OS2Api.pmwsock
 PORTSUNIT=System.Ports
 PORTSUNIT=System.Ports
 POSIXUNIT=QNXApi.Posix
 POSIXUNIT=QNXApi.Posix
 PROFILEUNIT=DOSApi.Profile
 PROFILEUNIT=DOSApi.Profile
-RASPI2UNIT=EmbeddedApi.Raspi2
-RASPI3UNIT=EmbeddedApi.Raspi3
-RASPIUARTUNIT=EmbeddedApi.Raspiuart
+RASPI2UNIT=EmbeddedApi.raspi2
+RASPI3UNIT=EmbeddedApi.raspi3
+RASPIUARTUNIT=EmbeddedApi.raspiuart
 RTLCONSTSUNIT=System.RtlConsts
 RTLCONSTSUNIT=System.RtlConsts
-SAM3X8EUNIT=EmbeddedApi.Sam3x8e
-SAMD51P19AUNIT=EmbeddedApi.Samd51p19a
-SC32442BUNIT=EmbeddedApi .Sc32442b
+SAM3X8EUNIT=EmbeddedApi.sam3x8e
+SAMD51P19AUNIT=EmbeddedApi.samd51p19a
+SC32442BUNIT=EmbeddedApi .sc32442b
 SFPU128UNIT=System.SoftFpu128
 SFPU128UNIT=System.SoftFpu128
 SFPUX80UNIT=System.SoftFpuX80
 SFPUX80UNIT=System.SoftFpuX80
 SHAREMEMUNIT=WinApi.ShareMem
 SHAREMEMUNIT=WinApi.ShareMem
@@ -556,25 +556,25 @@ SIGNALSUNIT=WinApi.Signals
 SO32DLLUNIT=OS2Api.so32dll
 SO32DLLUNIT=OS2Api.so32dll
 SOFTFPUUNIT=System.SoftFPU
 SOFTFPUUNIT=System.SoftFPU
 SORTBASEUNIT=System.SortBase
 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
+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
 STRINGSUNIT=System.Strings
 SYMBIANUNIT=SymbianApi.Symbian
 SYMBIANUNIT=SymbianApi.Symbian
 SYSALLUNIT=PalmApi.Sysall
 SYSALLUNIT=PalmApi.Sysall
@@ -610,7 +610,7 @@ WINPROCSUNIT=WinApi.WinProcs
 WINSYSUTUNIT=WinApi.WinSysUt
 WINSYSUTUNIT=WinApi.WinSysUt
 WINTYPESUNIT=WinApi.WinTypes
 WINTYPESUNIT=WinApi.WinTypes
 X86UNIT=System.X86
 X86UNIT=System.X86
-XMC4500UNIT=EmbeddedApi.Xmc4500
+XMC4500UNIT=EmbeddedApi.xmc4500
 EXEINFOUNIT=System.ExeInfo
 EXEINFOUNIT=System.ExeInfo
 ERRORSUNIT=UnixApi.Errors
 ERRORSUNIT=UnixApi.Errors
 else
 else
@@ -2278,23 +2278,23 @@ SOFTFPU_DEPS=$(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
@@ -2665,10 +2665,13 @@ BLOCKRTL_DEPS=$(INC)/blockrtl.pp \
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 	$(COMPILER) $(BLOCKRTL_OPT) $<
 	$(COMPILER) $(BLOCKRTL_OPT) $<
+ifndef WININCDIR
+  WININCDIR = $(WINDIR)/wininc
+endif
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 windows$(PPUEXT): $(WINDOWS_DEPS)
 windows$(PPUEXT): $(WINDOWS_DEPS)
-	$(COMPILER) $(WINDOWS_OPT) $<
+	$(COMPILER) -Fi$(WININC) $(WINDOWS_OPT) $<
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
@@ -2677,6 +2680,18 @@ windirs$(PPUEXT): $(WINDIRS_DEPS)
 	$(COMPILER) $(WINDIRS_OPT) $<
 	$(COMPILER) $(WINDIRS_OPT) $<
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDIRS_OPT) $<
 	$(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=$(BSDINC)/sysctl.pp $(SYSTEMUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) \
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)

+ 70 - 55
rtl/openbsd/Makefile

@@ -461,17 +461,17 @@ ESPIDF_40400UNIT=System.Espidf_40400
 EXEUNIT=OS2Api.exe
 EXEUNIT=OS2Api.exe
 EXEINFOUNIT=System.Exeinfo
 EXEINFOUNIT=System.Exeinfo
 EXTPASUNIT=extpas
 EXTPASUNIT=extpas
-FE310G000UNIT=EmbeddedApi.Fe310g000
-FE310G002UNIT=EmbeddedApi.Fe310g002
+FE310G000UNIT=EmbeddedApi.fe310g000
+FE310G002UNIT=EmbeddedApi.fe310g002
 FGLUNIT=System.FGL
 FGLUNIT=System.FGL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCYLIXUNIT=fpcylix
 FPCYLIXUNIT=fpcylix
 FPWIDESTRINGUNIT=System.FPWideString
 FPWIDESTRINGUNIT=System.FPWideString
 FREEBSDUNIT=FreeBSDApi.FreeBSD
 FREEBSDUNIT=FreeBSDApi.FreeBSD
-GD32VF103XXUNIT=EmbeddedApi.Gd32vf103xx
+GD32VF103XXUNIT=EmbeddedApi.gd32vf103xx
 GETOPTSUNIT=System.GetOpts
 GETOPTSUNIT=System.GetOpts
 GO32UNIT=DOSApi.GO32
 GO32UNIT=DOSApi.GO32
-GPIOUNIT=EmbeddedApi.Gpio
+GPIOUNIT=EmbeddedApi.gpio
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPTRCUNIT=heaptrc
 HEAPTRCUNIT=heaptrc
 INITCUNIT=System.InitC
 INITCUNIT=System.InitC
@@ -483,40 +483,40 @@ LIBCUNIT=NetwareLibCApi.Libc
 LINEINFOUNIT=System.LineInfo
 LINEINFOUNIT=System.LineInfo
 LINUXUNIT=LinuxApi
 LINUXUNIT=LinuxApi
 LINUXVCSUNIT=LinuxApi.Vcs
 LINUXVCSUNIT=LinuxApi.Vcs
-LM3FURYUNIT=EmbeddedApi.Lm3fury
-LM3TEMPESTUNIT=EmbeddedApi.Lm3tempest
-LM4F120UNIT=EmbeddedApi.Lm4f120
+LM3FURYUNIT=EmbeddedApi.lm3fury
+LM3TEMPESTUNIT=EmbeddedApi.lm3tempest
+LM4F120UNIT=EmbeddedApi.lm4f120
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFOGDBUNIT=System.LineInfo.Gdb
 LNFOGDBUNIT=System.LineInfo.Gdb
-LPC11XXUNIT=EmbeddedApi.Lpc11xx
-LPC122XUNIT=EmbeddedApi.Lpc122x
-LPC13XXUNIT=EmbeddedApi.Lpc13xx
-LPC1768UNIT=EmbeddedApi.Lpc1768
-LPC21X4UNIT=EmbeddedApi.Lpc21x4
-LPC8XXUNIT=EmbeddedApi.Lpc8xx
+LPC11XXUNIT=EmbeddedApi.lpc11xx
+LPC122XUNIT=EmbeddedApi.lpc122x
+LPC13XXUNIT=EmbeddedApi.lpc13xx
+LPC1768UNIT=EmbeddedApi.lpc1768
+LPC21X4UNIT=EmbeddedApi.lpc21x4
+LPC8XXUNIT=EmbeddedApi.lpc8xx
 LSTRINGSUNIT=System.LStrings
 LSTRINGSUNIT=System.LStrings
 MACOSUNIT=MacOSApi.MacOS
 MACOSUNIT=MacOSApi.MacOS
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACUTILSUNIT=MacOSApi.MacUtils
 MACUTILSUNIT=MacOSApi.MacUtils
-MAILBOXUNIT=EmbeddedApi.Mailbox
+MAILBOXUNIT=EmbeddedApi.mailbox
 MATHUNIT=System.Math
 MATHUNIT=System.Math
 MESSAGESUNIT=WinApi.Messages
 MESSAGESUNIT=WinApi.Messages
-MK20D5UNIT=EmbeddedApi.Mk20d5
-MK20D7UNIT=EmbeddedApi.Mk20d7
-MK22F51212UNIT=EmbeddedApi.Mk22f51212
-MK64F12UNIT=EmbeddedApi.Mk64f12
-MMIOUNIT=EmbeddedApi.Mmio
+MK20D5UNIT=EmbeddedApi.mk20d5
+MK20D7UNIT=EmbeddedApi.mk20d7
+MK22F51212UNIT=EmbeddedApi.mk22f51212
+MK64F12UNIT=EmbeddedApi.mk64f12
+MMIOUNIT=EmbeddedApi.mmio
 MMXUNIT=System.CPU.MMX
 MMXUNIT=System.CPU.MMX
 MONCALLSUNIT=OS2Api.moncalls
 MONCALLSUNIT=OS2Api.moncalls
 MOUCALLSUNIT=OS2Api.moucalls
 MOUCALLSUNIT=OS2Api.moucalls
 MSMOUSEUNIT=DOSApi.MSMouse
 MSMOUSEUNIT=DOSApi.MSMouse
-MULTIBOOTUNIT=EmbeddedApi.Multiboot
+MULTIBOOTUNIT=EmbeddedApi.multiboot
 NDKUNIT=NTApi.NDK
 NDKUNIT=NTApi.NDK
 NDKUTILSUNIT=NTApi.NDKUtils
 NDKUTILSUNIT=NTApi.NDKUtils
 NETWAREUNIT=NetwareApi.NetWare
 NETWAREUNIT=NetwareApi.NetWare
 NEWEXEUNIT=OS2Api.newexe
 NEWEXEUNIT=OS2Api.newexe
-NRF51UNIT=EmbeddedApi.Nrf51
-NRF52UNIT=EmbeddedApi.Nrf52
+NRF51UNIT=EmbeddedApi.nrf51
+NRF52UNIT=EmbeddedApi.nrf52
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWNITUNIT=NetWareApi.Nwnit
 NWNITUNIT=NetWareApi.Nwnit
 NWPREUNIT=NetWareApi.Nwpre
 NWPREUNIT=NetWareApi.Nwpre
@@ -542,13 +542,13 @@ PMWSOCKUNIT=OS2Api.pmwsock
 PORTSUNIT=System.Ports
 PORTSUNIT=System.Ports
 POSIXUNIT=QNXApi.Posix
 POSIXUNIT=QNXApi.Posix
 PROFILEUNIT=DOSApi.Profile
 PROFILEUNIT=DOSApi.Profile
-RASPI2UNIT=EmbeddedApi.Raspi2
-RASPI3UNIT=EmbeddedApi.Raspi3
-RASPIUARTUNIT=EmbeddedApi.Raspiuart
+RASPI2UNIT=EmbeddedApi.raspi2
+RASPI3UNIT=EmbeddedApi.raspi3
+RASPIUARTUNIT=EmbeddedApi.raspiuart
 RTLCONSTSUNIT=System.RtlConsts
 RTLCONSTSUNIT=System.RtlConsts
-SAM3X8EUNIT=EmbeddedApi.Sam3x8e
-SAMD51P19AUNIT=EmbeddedApi.Samd51p19a
-SC32442BUNIT=EmbeddedApi .Sc32442b
+SAM3X8EUNIT=EmbeddedApi.sam3x8e
+SAMD51P19AUNIT=EmbeddedApi.samd51p19a
+SC32442BUNIT=EmbeddedApi .sc32442b
 SFPU128UNIT=System.SoftFpu128
 SFPU128UNIT=System.SoftFpu128
 SFPUX80UNIT=System.SoftFpuX80
 SFPUX80UNIT=System.SoftFpuX80
 SHAREMEMUNIT=WinApi.ShareMem
 SHAREMEMUNIT=WinApi.ShareMem
@@ -556,25 +556,25 @@ SIGNALSUNIT=WinApi.Signals
 SO32DLLUNIT=OS2Api.so32dll
 SO32DLLUNIT=OS2Api.so32dll
 SOFTFPUUNIT=System.SoftFPU
 SOFTFPUUNIT=System.SoftFPU
 SORTBASEUNIT=System.SortBase
 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
+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
 STRINGSUNIT=System.Strings
 SYMBIANUNIT=SymbianApi.Symbian
 SYMBIANUNIT=SymbianApi.Symbian
 SYSALLUNIT=PalmApi.Sysall
 SYSALLUNIT=PalmApi.Sysall
@@ -610,7 +610,7 @@ WINPROCSUNIT=WinApi.WinProcs
 WINSYSUTUNIT=WinApi.WinSysUt
 WINSYSUTUNIT=WinApi.WinSysUt
 WINTYPESUNIT=WinApi.WinTypes
 WINTYPESUNIT=WinApi.WinTypes
 X86UNIT=System.X86
 X86UNIT=System.X86
-XMC4500UNIT=EmbeddedApi.Xmc4500
+XMC4500UNIT=EmbeddedApi.xmc4500
 EXEINFOUNIT=System.ExeInfo
 EXEINFOUNIT=System.ExeInfo
 ERRORSUNIT=UnixApi.Errors
 ERRORSUNIT=UnixApi.Errors
 else
 else
@@ -2314,23 +2314,23 @@ SOFTFPU_DEPS=$(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
@@ -2701,10 +2701,13 @@ BLOCKRTL_DEPS=$(INC)/blockrtl.pp \
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 	$(COMPILER) $(BLOCKRTL_OPT) $<
 	$(COMPILER) $(BLOCKRTL_OPT) $<
+ifndef WININCDIR
+  WININCDIR = $(WINDIR)/wininc
+endif
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 windows$(PPUEXT): $(WINDOWS_DEPS)
 windows$(PPUEXT): $(WINDOWS_DEPS)
-	$(COMPILER) $(WINDOWS_OPT) $<
+	$(COMPILER) -Fi$(WININC) $(WINDOWS_OPT) $<
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
@@ -2713,6 +2716,18 @@ windirs$(PPUEXT): $(WINDIRS_DEPS)
 	$(COMPILER) $(WINDIRS_OPT) $<
 	$(COMPILER) $(WINDIRS_OPT) $<
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDIRS_OPT) $<
 	$(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=$(BSDINC)/sysctl.pp $(SYSTEMUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) \
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)

+ 70 - 55
rtl/os2/Makefile

@@ -462,17 +462,17 @@ ESPIDF_40400UNIT=System.Espidf_40400
 EXEUNIT=OS2Api.exe
 EXEUNIT=OS2Api.exe
 EXEINFOUNIT=System.Exeinfo
 EXEINFOUNIT=System.Exeinfo
 EXTPASUNIT=extpas
 EXTPASUNIT=extpas
-FE310G000UNIT=EmbeddedApi.Fe310g000
-FE310G002UNIT=EmbeddedApi.Fe310g002
+FE310G000UNIT=EmbeddedApi.fe310g000
+FE310G002UNIT=EmbeddedApi.fe310g002
 FGLUNIT=System.FGL
 FGLUNIT=System.FGL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCYLIXUNIT=fpcylix
 FPCYLIXUNIT=fpcylix
 FPWIDESTRINGUNIT=System.FPWideString
 FPWIDESTRINGUNIT=System.FPWideString
 FREEBSDUNIT=FreeBSDApi.FreeBSD
 FREEBSDUNIT=FreeBSDApi.FreeBSD
-GD32VF103XXUNIT=EmbeddedApi.Gd32vf103xx
+GD32VF103XXUNIT=EmbeddedApi.gd32vf103xx
 GETOPTSUNIT=System.GetOpts
 GETOPTSUNIT=System.GetOpts
 GO32UNIT=DOSApi.GO32
 GO32UNIT=DOSApi.GO32
-GPIOUNIT=EmbeddedApi.Gpio
+GPIOUNIT=EmbeddedApi.gpio
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPTRCUNIT=heaptrc
 HEAPTRCUNIT=heaptrc
 INITCUNIT=System.InitC
 INITCUNIT=System.InitC
@@ -484,40 +484,40 @@ LIBCUNIT=NetwareLibCApi.Libc
 LINEINFOUNIT=System.LineInfo
 LINEINFOUNIT=System.LineInfo
 LINUXUNIT=LinuxApi
 LINUXUNIT=LinuxApi
 LINUXVCSUNIT=LinuxApi.Vcs
 LINUXVCSUNIT=LinuxApi.Vcs
-LM3FURYUNIT=EmbeddedApi.Lm3fury
-LM3TEMPESTUNIT=EmbeddedApi.Lm3tempest
-LM4F120UNIT=EmbeddedApi.Lm4f120
+LM3FURYUNIT=EmbeddedApi.lm3fury
+LM3TEMPESTUNIT=EmbeddedApi.lm3tempest
+LM4F120UNIT=EmbeddedApi.lm4f120
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFOGDBUNIT=System.LineInfo.Gdb
 LNFOGDBUNIT=System.LineInfo.Gdb
-LPC11XXUNIT=EmbeddedApi.Lpc11xx
-LPC122XUNIT=EmbeddedApi.Lpc122x
-LPC13XXUNIT=EmbeddedApi.Lpc13xx
-LPC1768UNIT=EmbeddedApi.Lpc1768
-LPC21X4UNIT=EmbeddedApi.Lpc21x4
-LPC8XXUNIT=EmbeddedApi.Lpc8xx
+LPC11XXUNIT=EmbeddedApi.lpc11xx
+LPC122XUNIT=EmbeddedApi.lpc122x
+LPC13XXUNIT=EmbeddedApi.lpc13xx
+LPC1768UNIT=EmbeddedApi.lpc1768
+LPC21X4UNIT=EmbeddedApi.lpc21x4
+LPC8XXUNIT=EmbeddedApi.lpc8xx
 LSTRINGSUNIT=System.LStrings
 LSTRINGSUNIT=System.LStrings
 MACOSUNIT=MacOSApi.MacOS
 MACOSUNIT=MacOSApi.MacOS
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACUTILSUNIT=MacOSApi.MacUtils
 MACUTILSUNIT=MacOSApi.MacUtils
-MAILBOXUNIT=EmbeddedApi.Mailbox
+MAILBOXUNIT=EmbeddedApi.mailbox
 MATHUNIT=System.Math
 MATHUNIT=System.Math
 MESSAGESUNIT=WinApi.Messages
 MESSAGESUNIT=WinApi.Messages
-MK20D5UNIT=EmbeddedApi.Mk20d5
-MK20D7UNIT=EmbeddedApi.Mk20d7
-MK22F51212UNIT=EmbeddedApi.Mk22f51212
-MK64F12UNIT=EmbeddedApi.Mk64f12
-MMIOUNIT=EmbeddedApi.Mmio
+MK20D5UNIT=EmbeddedApi.mk20d5
+MK20D7UNIT=EmbeddedApi.mk20d7
+MK22F51212UNIT=EmbeddedApi.mk22f51212
+MK64F12UNIT=EmbeddedApi.mk64f12
+MMIOUNIT=EmbeddedApi.mmio
 MMXUNIT=System.CPU.MMX
 MMXUNIT=System.CPU.MMX
 MONCALLSUNIT=OS2Api.moncalls
 MONCALLSUNIT=OS2Api.moncalls
 MOUCALLSUNIT=OS2Api.moucalls
 MOUCALLSUNIT=OS2Api.moucalls
 MSMOUSEUNIT=DOSApi.MSMouse
 MSMOUSEUNIT=DOSApi.MSMouse
-MULTIBOOTUNIT=EmbeddedApi.Multiboot
+MULTIBOOTUNIT=EmbeddedApi.multiboot
 NDKUNIT=NTApi.NDK
 NDKUNIT=NTApi.NDK
 NDKUTILSUNIT=NTApi.NDKUtils
 NDKUTILSUNIT=NTApi.NDKUtils
 NETWAREUNIT=NetwareApi.NetWare
 NETWAREUNIT=NetwareApi.NetWare
 NEWEXEUNIT=OS2Api.newexe
 NEWEXEUNIT=OS2Api.newexe
-NRF51UNIT=EmbeddedApi.Nrf51
-NRF52UNIT=EmbeddedApi.Nrf52
+NRF51UNIT=EmbeddedApi.nrf51
+NRF52UNIT=EmbeddedApi.nrf52
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWNITUNIT=NetWareApi.Nwnit
 NWNITUNIT=NetWareApi.Nwnit
 NWPREUNIT=NetWareApi.Nwpre
 NWPREUNIT=NetWareApi.Nwpre
@@ -543,13 +543,13 @@ PMWSOCKUNIT=OS2Api.pmwsock
 PORTSUNIT=System.Ports
 PORTSUNIT=System.Ports
 POSIXUNIT=QNXApi.Posix
 POSIXUNIT=QNXApi.Posix
 PROFILEUNIT=DOSApi.Profile
 PROFILEUNIT=DOSApi.Profile
-RASPI2UNIT=EmbeddedApi.Raspi2
-RASPI3UNIT=EmbeddedApi.Raspi3
-RASPIUARTUNIT=EmbeddedApi.Raspiuart
+RASPI2UNIT=EmbeddedApi.raspi2
+RASPI3UNIT=EmbeddedApi.raspi3
+RASPIUARTUNIT=EmbeddedApi.raspiuart
 RTLCONSTSUNIT=System.RtlConsts
 RTLCONSTSUNIT=System.RtlConsts
-SAM3X8EUNIT=EmbeddedApi.Sam3x8e
-SAMD51P19AUNIT=EmbeddedApi.Samd51p19a
-SC32442BUNIT=EmbeddedApi .Sc32442b
+SAM3X8EUNIT=EmbeddedApi.sam3x8e
+SAMD51P19AUNIT=EmbeddedApi.samd51p19a
+SC32442BUNIT=EmbeddedApi .sc32442b
 SFPU128UNIT=System.SoftFpu128
 SFPU128UNIT=System.SoftFpu128
 SFPUX80UNIT=System.SoftFpuX80
 SFPUX80UNIT=System.SoftFpuX80
 SHAREMEMUNIT=WinApi.ShareMem
 SHAREMEMUNIT=WinApi.ShareMem
@@ -557,25 +557,25 @@ SIGNALSUNIT=WinApi.Signals
 SO32DLLUNIT=OS2Api.so32dll
 SO32DLLUNIT=OS2Api.so32dll
 SOFTFPUUNIT=System.SoftFPU
 SOFTFPUUNIT=System.SoftFPU
 SORTBASEUNIT=System.SortBase
 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
+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
 STRINGSUNIT=System.Strings
 SYMBIANUNIT=SymbianApi.Symbian
 SYMBIANUNIT=SymbianApi.Symbian
 SYSALLUNIT=PalmApi.Sysall
 SYSALLUNIT=PalmApi.Sysall
@@ -611,7 +611,7 @@ WINPROCSUNIT=WinApi.WinProcs
 WINSYSUTUNIT=WinApi.WinSysUt
 WINSYSUTUNIT=WinApi.WinSysUt
 WINTYPESUNIT=WinApi.WinTypes
 WINTYPESUNIT=WinApi.WinTypes
 X86UNIT=System.X86
 X86UNIT=System.X86
-XMC4500UNIT=EmbeddedApi.Xmc4500
+XMC4500UNIT=EmbeddedApi.xmc4500
 EXEINFOUNIT=System.ExeInfo
 EXEINFOUNIT=System.ExeInfo
 ERRORSUNIT=UnixApi.Errors
 ERRORSUNIT=UnixApi.Errors
 else
 else
@@ -2286,23 +2286,23 @@ SOFTFPU_DEPS=$(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
@@ -2673,10 +2673,13 @@ BLOCKRTL_DEPS=$(INC)/blockrtl.pp \
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 	$(COMPILER) $(BLOCKRTL_OPT) $<
 	$(COMPILER) $(BLOCKRTL_OPT) $<
+ifndef WININCDIR
+  WININCDIR = $(WINDIR)/wininc
+endif
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 windows$(PPUEXT): $(WINDOWS_DEPS)
 windows$(PPUEXT): $(WINDOWS_DEPS)
-	$(COMPILER) $(WINDOWS_OPT) $<
+	$(COMPILER) -Fi$(WININC) $(WINDOWS_OPT) $<
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
@@ -2685,6 +2688,18 @@ windirs$(PPUEXT): $(WINDIRS_DEPS)
 	$(COMPILER) $(WINDIRS_OPT) $<
 	$(COMPILER) $(WINDIRS_OPT) $<
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDIRS_OPT) $<
 	$(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=$(BSDINC)/sysctl.pp $(SYSTEMUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) \
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)

+ 70 - 55
rtl/palmos/Makefile

@@ -461,17 +461,17 @@ ESPIDF_40400UNIT=System.Espidf_40400
 EXEUNIT=OS2Api.exe
 EXEUNIT=OS2Api.exe
 EXEINFOUNIT=System.Exeinfo
 EXEINFOUNIT=System.Exeinfo
 EXTPASUNIT=extpas
 EXTPASUNIT=extpas
-FE310G000UNIT=EmbeddedApi.Fe310g000
-FE310G002UNIT=EmbeddedApi.Fe310g002
+FE310G000UNIT=EmbeddedApi.fe310g000
+FE310G002UNIT=EmbeddedApi.fe310g002
 FGLUNIT=System.FGL
 FGLUNIT=System.FGL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCYLIXUNIT=fpcylix
 FPCYLIXUNIT=fpcylix
 FPWIDESTRINGUNIT=System.FPWideString
 FPWIDESTRINGUNIT=System.FPWideString
 FREEBSDUNIT=FreeBSDApi.FreeBSD
 FREEBSDUNIT=FreeBSDApi.FreeBSD
-GD32VF103XXUNIT=EmbeddedApi.Gd32vf103xx
+GD32VF103XXUNIT=EmbeddedApi.gd32vf103xx
 GETOPTSUNIT=System.GetOpts
 GETOPTSUNIT=System.GetOpts
 GO32UNIT=DOSApi.GO32
 GO32UNIT=DOSApi.GO32
-GPIOUNIT=EmbeddedApi.Gpio
+GPIOUNIT=EmbeddedApi.gpio
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPTRCUNIT=heaptrc
 HEAPTRCUNIT=heaptrc
 INITCUNIT=System.InitC
 INITCUNIT=System.InitC
@@ -483,40 +483,40 @@ LIBCUNIT=NetwareLibCApi.Libc
 LINEINFOUNIT=System.LineInfo
 LINEINFOUNIT=System.LineInfo
 LINUXUNIT=LinuxApi
 LINUXUNIT=LinuxApi
 LINUXVCSUNIT=LinuxApi.Vcs
 LINUXVCSUNIT=LinuxApi.Vcs
-LM3FURYUNIT=EmbeddedApi.Lm3fury
-LM3TEMPESTUNIT=EmbeddedApi.Lm3tempest
-LM4F120UNIT=EmbeddedApi.Lm4f120
+LM3FURYUNIT=EmbeddedApi.lm3fury
+LM3TEMPESTUNIT=EmbeddedApi.lm3tempest
+LM4F120UNIT=EmbeddedApi.lm4f120
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFOGDBUNIT=System.LineInfo.Gdb
 LNFOGDBUNIT=System.LineInfo.Gdb
-LPC11XXUNIT=EmbeddedApi.Lpc11xx
-LPC122XUNIT=EmbeddedApi.Lpc122x
-LPC13XXUNIT=EmbeddedApi.Lpc13xx
-LPC1768UNIT=EmbeddedApi.Lpc1768
-LPC21X4UNIT=EmbeddedApi.Lpc21x4
-LPC8XXUNIT=EmbeddedApi.Lpc8xx
+LPC11XXUNIT=EmbeddedApi.lpc11xx
+LPC122XUNIT=EmbeddedApi.lpc122x
+LPC13XXUNIT=EmbeddedApi.lpc13xx
+LPC1768UNIT=EmbeddedApi.lpc1768
+LPC21X4UNIT=EmbeddedApi.lpc21x4
+LPC8XXUNIT=EmbeddedApi.lpc8xx
 LSTRINGSUNIT=System.LStrings
 LSTRINGSUNIT=System.LStrings
 MACOSUNIT=MacOSApi.MacOS
 MACOSUNIT=MacOSApi.MacOS
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACUTILSUNIT=MacOSApi.MacUtils
 MACUTILSUNIT=MacOSApi.MacUtils
-MAILBOXUNIT=EmbeddedApi.Mailbox
+MAILBOXUNIT=EmbeddedApi.mailbox
 MATHUNIT=System.Math
 MATHUNIT=System.Math
 MESSAGESUNIT=WinApi.Messages
 MESSAGESUNIT=WinApi.Messages
-MK20D5UNIT=EmbeddedApi.Mk20d5
-MK20D7UNIT=EmbeddedApi.Mk20d7
-MK22F51212UNIT=EmbeddedApi.Mk22f51212
-MK64F12UNIT=EmbeddedApi.Mk64f12
-MMIOUNIT=EmbeddedApi.Mmio
+MK20D5UNIT=EmbeddedApi.mk20d5
+MK20D7UNIT=EmbeddedApi.mk20d7
+MK22F51212UNIT=EmbeddedApi.mk22f51212
+MK64F12UNIT=EmbeddedApi.mk64f12
+MMIOUNIT=EmbeddedApi.mmio
 MMXUNIT=System.CPU.MMX
 MMXUNIT=System.CPU.MMX
 MONCALLSUNIT=OS2Api.moncalls
 MONCALLSUNIT=OS2Api.moncalls
 MOUCALLSUNIT=OS2Api.moucalls
 MOUCALLSUNIT=OS2Api.moucalls
 MSMOUSEUNIT=DOSApi.MSMouse
 MSMOUSEUNIT=DOSApi.MSMouse
-MULTIBOOTUNIT=EmbeddedApi.Multiboot
+MULTIBOOTUNIT=EmbeddedApi.multiboot
 NDKUNIT=NTApi.NDK
 NDKUNIT=NTApi.NDK
 NDKUTILSUNIT=NTApi.NDKUtils
 NDKUTILSUNIT=NTApi.NDKUtils
 NETWAREUNIT=NetwareApi.NetWare
 NETWAREUNIT=NetwareApi.NetWare
 NEWEXEUNIT=OS2Api.newexe
 NEWEXEUNIT=OS2Api.newexe
-NRF51UNIT=EmbeddedApi.Nrf51
-NRF52UNIT=EmbeddedApi.Nrf52
+NRF51UNIT=EmbeddedApi.nrf51
+NRF52UNIT=EmbeddedApi.nrf52
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWNITUNIT=NetWareApi.Nwnit
 NWNITUNIT=NetWareApi.Nwnit
 NWPREUNIT=NetWareApi.Nwpre
 NWPREUNIT=NetWareApi.Nwpre
@@ -542,13 +542,13 @@ PMWSOCKUNIT=OS2Api.pmwsock
 PORTSUNIT=System.Ports
 PORTSUNIT=System.Ports
 POSIXUNIT=QNXApi.Posix
 POSIXUNIT=QNXApi.Posix
 PROFILEUNIT=DOSApi.Profile
 PROFILEUNIT=DOSApi.Profile
-RASPI2UNIT=EmbeddedApi.Raspi2
-RASPI3UNIT=EmbeddedApi.Raspi3
-RASPIUARTUNIT=EmbeddedApi.Raspiuart
+RASPI2UNIT=EmbeddedApi.raspi2
+RASPI3UNIT=EmbeddedApi.raspi3
+RASPIUARTUNIT=EmbeddedApi.raspiuart
 RTLCONSTSUNIT=System.RtlConsts
 RTLCONSTSUNIT=System.RtlConsts
-SAM3X8EUNIT=EmbeddedApi.Sam3x8e
-SAMD51P19AUNIT=EmbeddedApi.Samd51p19a
-SC32442BUNIT=EmbeddedApi .Sc32442b
+SAM3X8EUNIT=EmbeddedApi.sam3x8e
+SAMD51P19AUNIT=EmbeddedApi.samd51p19a
+SC32442BUNIT=EmbeddedApi .sc32442b
 SFPU128UNIT=System.SoftFpu128
 SFPU128UNIT=System.SoftFpu128
 SFPUX80UNIT=System.SoftFpuX80
 SFPUX80UNIT=System.SoftFpuX80
 SHAREMEMUNIT=WinApi.ShareMem
 SHAREMEMUNIT=WinApi.ShareMem
@@ -556,25 +556,25 @@ SIGNALSUNIT=WinApi.Signals
 SO32DLLUNIT=OS2Api.so32dll
 SO32DLLUNIT=OS2Api.so32dll
 SOFTFPUUNIT=System.SoftFPU
 SOFTFPUUNIT=System.SoftFPU
 SORTBASEUNIT=System.SortBase
 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
+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
 STRINGSUNIT=System.Strings
 SYMBIANUNIT=SymbianApi.Symbian
 SYMBIANUNIT=SymbianApi.Symbian
 SYSALLUNIT=PalmApi.Sysall
 SYSALLUNIT=PalmApi.Sysall
@@ -610,7 +610,7 @@ WINPROCSUNIT=WinApi.WinProcs
 WINSYSUTUNIT=WinApi.WinSysUt
 WINSYSUTUNIT=WinApi.WinSysUt
 WINTYPESUNIT=WinApi.WinTypes
 WINTYPESUNIT=WinApi.WinTypes
 X86UNIT=System.X86
 X86UNIT=System.X86
-XMC4500UNIT=EmbeddedApi.Xmc4500
+XMC4500UNIT=EmbeddedApi.xmc4500
 EXEINFOUNIT=System.ExeInfo
 EXEINFOUNIT=System.ExeInfo
 ERRORSUNIT=UnixApi.Errors
 ERRORSUNIT=UnixApi.Errors
 else
 else
@@ -2289,23 +2289,23 @@ SOFTFPU_DEPS=$(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
@@ -2676,10 +2676,13 @@ BLOCKRTL_DEPS=$(INC)/blockrtl.pp \
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 	$(COMPILER) $(BLOCKRTL_OPT) $<
 	$(COMPILER) $(BLOCKRTL_OPT) $<
+ifndef WININCDIR
+  WININCDIR = $(WINDIR)/wininc
+endif
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 windows$(PPUEXT): $(WINDOWS_DEPS)
 windows$(PPUEXT): $(WINDOWS_DEPS)
-	$(COMPILER) $(WINDOWS_OPT) $<
+	$(COMPILER) -Fi$(WININC) $(WINDOWS_OPT) $<
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
@@ -2688,6 +2691,18 @@ windirs$(PPUEXT): $(WINDIRS_DEPS)
 	$(COMPILER) $(WINDIRS_OPT) $<
 	$(COMPILER) $(WINDIRS_OPT) $<
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDIRS_OPT) $<
 	$(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=$(BSDINC)/sysctl.pp $(SYSTEMUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) \
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)

+ 70 - 55
rtl/sinclairql/Makefile

@@ -462,17 +462,17 @@ ESPIDF_40400UNIT=System.Espidf_40400
 EXEUNIT=OS2Api.exe
 EXEUNIT=OS2Api.exe
 EXEINFOUNIT=System.Exeinfo
 EXEINFOUNIT=System.Exeinfo
 EXTPASUNIT=extpas
 EXTPASUNIT=extpas
-FE310G000UNIT=EmbeddedApi.Fe310g000
-FE310G002UNIT=EmbeddedApi.Fe310g002
+FE310G000UNIT=EmbeddedApi.fe310g000
+FE310G002UNIT=EmbeddedApi.fe310g002
 FGLUNIT=System.FGL
 FGLUNIT=System.FGL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCYLIXUNIT=fpcylix
 FPCYLIXUNIT=fpcylix
 FPWIDESTRINGUNIT=System.FPWideString
 FPWIDESTRINGUNIT=System.FPWideString
 FREEBSDUNIT=FreeBSDApi.FreeBSD
 FREEBSDUNIT=FreeBSDApi.FreeBSD
-GD32VF103XXUNIT=EmbeddedApi.Gd32vf103xx
+GD32VF103XXUNIT=EmbeddedApi.gd32vf103xx
 GETOPTSUNIT=System.GetOpts
 GETOPTSUNIT=System.GetOpts
 GO32UNIT=DOSApi.GO32
 GO32UNIT=DOSApi.GO32
-GPIOUNIT=EmbeddedApi.Gpio
+GPIOUNIT=EmbeddedApi.gpio
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPTRCUNIT=heaptrc
 HEAPTRCUNIT=heaptrc
 INITCUNIT=System.InitC
 INITCUNIT=System.InitC
@@ -484,40 +484,40 @@ LIBCUNIT=NetwareLibCApi.Libc
 LINEINFOUNIT=System.LineInfo
 LINEINFOUNIT=System.LineInfo
 LINUXUNIT=LinuxApi
 LINUXUNIT=LinuxApi
 LINUXVCSUNIT=LinuxApi.Vcs
 LINUXVCSUNIT=LinuxApi.Vcs
-LM3FURYUNIT=EmbeddedApi.Lm3fury
-LM3TEMPESTUNIT=EmbeddedApi.Lm3tempest
-LM4F120UNIT=EmbeddedApi.Lm4f120
+LM3FURYUNIT=EmbeddedApi.lm3fury
+LM3TEMPESTUNIT=EmbeddedApi.lm3tempest
+LM4F120UNIT=EmbeddedApi.lm4f120
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFOGDBUNIT=System.LineInfo.Gdb
 LNFOGDBUNIT=System.LineInfo.Gdb
-LPC11XXUNIT=EmbeddedApi.Lpc11xx
-LPC122XUNIT=EmbeddedApi.Lpc122x
-LPC13XXUNIT=EmbeddedApi.Lpc13xx
-LPC1768UNIT=EmbeddedApi.Lpc1768
-LPC21X4UNIT=EmbeddedApi.Lpc21x4
-LPC8XXUNIT=EmbeddedApi.Lpc8xx
+LPC11XXUNIT=EmbeddedApi.lpc11xx
+LPC122XUNIT=EmbeddedApi.lpc122x
+LPC13XXUNIT=EmbeddedApi.lpc13xx
+LPC1768UNIT=EmbeddedApi.lpc1768
+LPC21X4UNIT=EmbeddedApi.lpc21x4
+LPC8XXUNIT=EmbeddedApi.lpc8xx
 LSTRINGSUNIT=System.LStrings
 LSTRINGSUNIT=System.LStrings
 MACOSUNIT=MacOSApi.MacOS
 MACOSUNIT=MacOSApi.MacOS
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACUTILSUNIT=MacOSApi.MacUtils
 MACUTILSUNIT=MacOSApi.MacUtils
-MAILBOXUNIT=EmbeddedApi.Mailbox
+MAILBOXUNIT=EmbeddedApi.mailbox
 MATHUNIT=System.Math
 MATHUNIT=System.Math
 MESSAGESUNIT=WinApi.Messages
 MESSAGESUNIT=WinApi.Messages
-MK20D5UNIT=EmbeddedApi.Mk20d5
-MK20D7UNIT=EmbeddedApi.Mk20d7
-MK22F51212UNIT=EmbeddedApi.Mk22f51212
-MK64F12UNIT=EmbeddedApi.Mk64f12
-MMIOUNIT=EmbeddedApi.Mmio
+MK20D5UNIT=EmbeddedApi.mk20d5
+MK20D7UNIT=EmbeddedApi.mk20d7
+MK22F51212UNIT=EmbeddedApi.mk22f51212
+MK64F12UNIT=EmbeddedApi.mk64f12
+MMIOUNIT=EmbeddedApi.mmio
 MMXUNIT=System.CPU.MMX
 MMXUNIT=System.CPU.MMX
 MONCALLSUNIT=OS2Api.moncalls
 MONCALLSUNIT=OS2Api.moncalls
 MOUCALLSUNIT=OS2Api.moucalls
 MOUCALLSUNIT=OS2Api.moucalls
 MSMOUSEUNIT=DOSApi.MSMouse
 MSMOUSEUNIT=DOSApi.MSMouse
-MULTIBOOTUNIT=EmbeddedApi.Multiboot
+MULTIBOOTUNIT=EmbeddedApi.multiboot
 NDKUNIT=NTApi.NDK
 NDKUNIT=NTApi.NDK
 NDKUTILSUNIT=NTApi.NDKUtils
 NDKUTILSUNIT=NTApi.NDKUtils
 NETWAREUNIT=NetwareApi.NetWare
 NETWAREUNIT=NetwareApi.NetWare
 NEWEXEUNIT=OS2Api.newexe
 NEWEXEUNIT=OS2Api.newexe
-NRF51UNIT=EmbeddedApi.Nrf51
-NRF52UNIT=EmbeddedApi.Nrf52
+NRF51UNIT=EmbeddedApi.nrf51
+NRF52UNIT=EmbeddedApi.nrf52
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWNITUNIT=NetWareApi.Nwnit
 NWNITUNIT=NetWareApi.Nwnit
 NWPREUNIT=NetWareApi.Nwpre
 NWPREUNIT=NetWareApi.Nwpre
@@ -543,13 +543,13 @@ PMWSOCKUNIT=OS2Api.pmwsock
 PORTSUNIT=System.Ports
 PORTSUNIT=System.Ports
 POSIXUNIT=QNXApi.Posix
 POSIXUNIT=QNXApi.Posix
 PROFILEUNIT=DOSApi.Profile
 PROFILEUNIT=DOSApi.Profile
-RASPI2UNIT=EmbeddedApi.Raspi2
-RASPI3UNIT=EmbeddedApi.Raspi3
-RASPIUARTUNIT=EmbeddedApi.Raspiuart
+RASPI2UNIT=EmbeddedApi.raspi2
+RASPI3UNIT=EmbeddedApi.raspi3
+RASPIUARTUNIT=EmbeddedApi.raspiuart
 RTLCONSTSUNIT=System.RtlConsts
 RTLCONSTSUNIT=System.RtlConsts
-SAM3X8EUNIT=EmbeddedApi.Sam3x8e
-SAMD51P19AUNIT=EmbeddedApi.Samd51p19a
-SC32442BUNIT=EmbeddedApi .Sc32442b
+SAM3X8EUNIT=EmbeddedApi.sam3x8e
+SAMD51P19AUNIT=EmbeddedApi.samd51p19a
+SC32442BUNIT=EmbeddedApi .sc32442b
 SFPU128UNIT=System.SoftFpu128
 SFPU128UNIT=System.SoftFpu128
 SFPUX80UNIT=System.SoftFpuX80
 SFPUX80UNIT=System.SoftFpuX80
 SHAREMEMUNIT=WinApi.ShareMem
 SHAREMEMUNIT=WinApi.ShareMem
@@ -557,25 +557,25 @@ SIGNALSUNIT=WinApi.Signals
 SO32DLLUNIT=OS2Api.so32dll
 SO32DLLUNIT=OS2Api.so32dll
 SOFTFPUUNIT=System.SoftFPU
 SOFTFPUUNIT=System.SoftFPU
 SORTBASEUNIT=System.SortBase
 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
+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
 STRINGSUNIT=System.Strings
 SYMBIANUNIT=SymbianApi.Symbian
 SYMBIANUNIT=SymbianApi.Symbian
 SYSALLUNIT=PalmApi.Sysall
 SYSALLUNIT=PalmApi.Sysall
@@ -611,7 +611,7 @@ WINPROCSUNIT=WinApi.WinProcs
 WINSYSUTUNIT=WinApi.WinSysUt
 WINSYSUTUNIT=WinApi.WinSysUt
 WINTYPESUNIT=WinApi.WinTypes
 WINTYPESUNIT=WinApi.WinTypes
 X86UNIT=System.X86
 X86UNIT=System.X86
-XMC4500UNIT=EmbeddedApi.Xmc4500
+XMC4500UNIT=EmbeddedApi.xmc4500
 EXEINFOUNIT=System.ExeInfo
 EXEINFOUNIT=System.ExeInfo
 ERRORSUNIT=UnixApi.Errors
 ERRORSUNIT=UnixApi.Errors
 else
 else
@@ -2277,23 +2277,23 @@ SOFTFPU_DEPS=$(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
@@ -2664,10 +2664,13 @@ BLOCKRTL_DEPS=$(INC)/blockrtl.pp \
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 	$(COMPILER) $(BLOCKRTL_OPT) $<
 	$(COMPILER) $(BLOCKRTL_OPT) $<
+ifndef WININCDIR
+  WININCDIR = $(WINDIR)/wininc
+endif
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 windows$(PPUEXT): $(WINDOWS_DEPS)
 windows$(PPUEXT): $(WINDOWS_DEPS)
-	$(COMPILER) $(WINDOWS_OPT) $<
+	$(COMPILER) -Fi$(WININC) $(WINDOWS_OPT) $<
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
@@ -2676,6 +2679,18 @@ windirs$(PPUEXT): $(WINDIRS_DEPS)
 	$(COMPILER) $(WINDIRS_OPT) $<
 	$(COMPILER) $(WINDIRS_OPT) $<
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDIRS_OPT) $<
 	$(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=$(BSDINC)/sysctl.pp $(SYSTEMUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) \
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)

+ 70 - 55
rtl/solaris/Makefile

@@ -461,17 +461,17 @@ ESPIDF_40400UNIT=System.Espidf_40400
 EXEUNIT=OS2Api.exe
 EXEUNIT=OS2Api.exe
 EXEINFOUNIT=System.Exeinfo
 EXEINFOUNIT=System.Exeinfo
 EXTPASUNIT=extpas
 EXTPASUNIT=extpas
-FE310G000UNIT=EmbeddedApi.Fe310g000
-FE310G002UNIT=EmbeddedApi.Fe310g002
+FE310G000UNIT=EmbeddedApi.fe310g000
+FE310G002UNIT=EmbeddedApi.fe310g002
 FGLUNIT=System.FGL
 FGLUNIT=System.FGL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCYLIXUNIT=fpcylix
 FPCYLIXUNIT=fpcylix
 FPWIDESTRINGUNIT=System.FPWideString
 FPWIDESTRINGUNIT=System.FPWideString
 FREEBSDUNIT=FreeBSDApi.FreeBSD
 FREEBSDUNIT=FreeBSDApi.FreeBSD
-GD32VF103XXUNIT=EmbeddedApi.Gd32vf103xx
+GD32VF103XXUNIT=EmbeddedApi.gd32vf103xx
 GETOPTSUNIT=System.GetOpts
 GETOPTSUNIT=System.GetOpts
 GO32UNIT=DOSApi.GO32
 GO32UNIT=DOSApi.GO32
-GPIOUNIT=EmbeddedApi.Gpio
+GPIOUNIT=EmbeddedApi.gpio
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPTRCUNIT=heaptrc
 HEAPTRCUNIT=heaptrc
 INITCUNIT=System.InitC
 INITCUNIT=System.InitC
@@ -483,40 +483,40 @@ LIBCUNIT=NetwareLibCApi.Libc
 LINEINFOUNIT=System.LineInfo
 LINEINFOUNIT=System.LineInfo
 LINUXUNIT=LinuxApi
 LINUXUNIT=LinuxApi
 LINUXVCSUNIT=LinuxApi.Vcs
 LINUXVCSUNIT=LinuxApi.Vcs
-LM3FURYUNIT=EmbeddedApi.Lm3fury
-LM3TEMPESTUNIT=EmbeddedApi.Lm3tempest
-LM4F120UNIT=EmbeddedApi.Lm4f120
+LM3FURYUNIT=EmbeddedApi.lm3fury
+LM3TEMPESTUNIT=EmbeddedApi.lm3tempest
+LM4F120UNIT=EmbeddedApi.lm4f120
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFOGDBUNIT=System.LineInfo.Gdb
 LNFOGDBUNIT=System.LineInfo.Gdb
-LPC11XXUNIT=EmbeddedApi.Lpc11xx
-LPC122XUNIT=EmbeddedApi.Lpc122x
-LPC13XXUNIT=EmbeddedApi.Lpc13xx
-LPC1768UNIT=EmbeddedApi.Lpc1768
-LPC21X4UNIT=EmbeddedApi.Lpc21x4
-LPC8XXUNIT=EmbeddedApi.Lpc8xx
+LPC11XXUNIT=EmbeddedApi.lpc11xx
+LPC122XUNIT=EmbeddedApi.lpc122x
+LPC13XXUNIT=EmbeddedApi.lpc13xx
+LPC1768UNIT=EmbeddedApi.lpc1768
+LPC21X4UNIT=EmbeddedApi.lpc21x4
+LPC8XXUNIT=EmbeddedApi.lpc8xx
 LSTRINGSUNIT=System.LStrings
 LSTRINGSUNIT=System.LStrings
 MACOSUNIT=MacOSApi.MacOS
 MACOSUNIT=MacOSApi.MacOS
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACUTILSUNIT=MacOSApi.MacUtils
 MACUTILSUNIT=MacOSApi.MacUtils
-MAILBOXUNIT=EmbeddedApi.Mailbox
+MAILBOXUNIT=EmbeddedApi.mailbox
 MATHUNIT=System.Math
 MATHUNIT=System.Math
 MESSAGESUNIT=WinApi.Messages
 MESSAGESUNIT=WinApi.Messages
-MK20D5UNIT=EmbeddedApi.Mk20d5
-MK20D7UNIT=EmbeddedApi.Mk20d7
-MK22F51212UNIT=EmbeddedApi.Mk22f51212
-MK64F12UNIT=EmbeddedApi.Mk64f12
-MMIOUNIT=EmbeddedApi.Mmio
+MK20D5UNIT=EmbeddedApi.mk20d5
+MK20D7UNIT=EmbeddedApi.mk20d7
+MK22F51212UNIT=EmbeddedApi.mk22f51212
+MK64F12UNIT=EmbeddedApi.mk64f12
+MMIOUNIT=EmbeddedApi.mmio
 MMXUNIT=System.CPU.MMX
 MMXUNIT=System.CPU.MMX
 MONCALLSUNIT=OS2Api.moncalls
 MONCALLSUNIT=OS2Api.moncalls
 MOUCALLSUNIT=OS2Api.moucalls
 MOUCALLSUNIT=OS2Api.moucalls
 MSMOUSEUNIT=DOSApi.MSMouse
 MSMOUSEUNIT=DOSApi.MSMouse
-MULTIBOOTUNIT=EmbeddedApi.Multiboot
+MULTIBOOTUNIT=EmbeddedApi.multiboot
 NDKUNIT=NTApi.NDK
 NDKUNIT=NTApi.NDK
 NDKUTILSUNIT=NTApi.NDKUtils
 NDKUTILSUNIT=NTApi.NDKUtils
 NETWAREUNIT=NetwareApi.NetWare
 NETWAREUNIT=NetwareApi.NetWare
 NEWEXEUNIT=OS2Api.newexe
 NEWEXEUNIT=OS2Api.newexe
-NRF51UNIT=EmbeddedApi.Nrf51
-NRF52UNIT=EmbeddedApi.Nrf52
+NRF51UNIT=EmbeddedApi.nrf51
+NRF52UNIT=EmbeddedApi.nrf52
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWNITUNIT=NetWareApi.Nwnit
 NWNITUNIT=NetWareApi.Nwnit
 NWPREUNIT=NetWareApi.Nwpre
 NWPREUNIT=NetWareApi.Nwpre
@@ -542,13 +542,13 @@ PMWSOCKUNIT=OS2Api.pmwsock
 PORTSUNIT=System.Ports
 PORTSUNIT=System.Ports
 POSIXUNIT=QNXApi.Posix
 POSIXUNIT=QNXApi.Posix
 PROFILEUNIT=DOSApi.Profile
 PROFILEUNIT=DOSApi.Profile
-RASPI2UNIT=EmbeddedApi.Raspi2
-RASPI3UNIT=EmbeddedApi.Raspi3
-RASPIUARTUNIT=EmbeddedApi.Raspiuart
+RASPI2UNIT=EmbeddedApi.raspi2
+RASPI3UNIT=EmbeddedApi.raspi3
+RASPIUARTUNIT=EmbeddedApi.raspiuart
 RTLCONSTSUNIT=System.RtlConsts
 RTLCONSTSUNIT=System.RtlConsts
-SAM3X8EUNIT=EmbeddedApi.Sam3x8e
-SAMD51P19AUNIT=EmbeddedApi.Samd51p19a
-SC32442BUNIT=EmbeddedApi .Sc32442b
+SAM3X8EUNIT=EmbeddedApi.sam3x8e
+SAMD51P19AUNIT=EmbeddedApi.samd51p19a
+SC32442BUNIT=EmbeddedApi .sc32442b
 SFPU128UNIT=System.SoftFpu128
 SFPU128UNIT=System.SoftFpu128
 SFPUX80UNIT=System.SoftFpuX80
 SFPUX80UNIT=System.SoftFpuX80
 SHAREMEMUNIT=WinApi.ShareMem
 SHAREMEMUNIT=WinApi.ShareMem
@@ -556,25 +556,25 @@ SIGNALSUNIT=WinApi.Signals
 SO32DLLUNIT=OS2Api.so32dll
 SO32DLLUNIT=OS2Api.so32dll
 SOFTFPUUNIT=System.SoftFPU
 SOFTFPUUNIT=System.SoftFPU
 SORTBASEUNIT=System.SortBase
 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
+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
 STRINGSUNIT=System.Strings
 SYMBIANUNIT=SymbianApi.Symbian
 SYMBIANUNIT=SymbianApi.Symbian
 SYSALLUNIT=PalmApi.Sysall
 SYSALLUNIT=PalmApi.Sysall
@@ -610,7 +610,7 @@ WINPROCSUNIT=WinApi.WinProcs
 WINSYSUTUNIT=WinApi.WinSysUt
 WINSYSUTUNIT=WinApi.WinSysUt
 WINTYPESUNIT=WinApi.WinTypes
 WINTYPESUNIT=WinApi.WinTypes
 X86UNIT=System.X86
 X86UNIT=System.X86
-XMC4500UNIT=EmbeddedApi.Xmc4500
+XMC4500UNIT=EmbeddedApi.xmc4500
 EXEINFOUNIT=System.ExeInfo
 EXEINFOUNIT=System.ExeInfo
 ERRORSUNIT=UnixApi.Errors
 ERRORSUNIT=UnixApi.Errors
 else
 else
@@ -2290,23 +2290,23 @@ SOFTFPU_DEPS=$(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
@@ -2677,10 +2677,13 @@ BLOCKRTL_DEPS=$(INC)/blockrtl.pp \
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 	$(COMPILER) $(BLOCKRTL_OPT) $<
 	$(COMPILER) $(BLOCKRTL_OPT) $<
+ifndef WININCDIR
+  WININCDIR = $(WINDIR)/wininc
+endif
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 windows$(PPUEXT): $(WINDOWS_DEPS)
 windows$(PPUEXT): $(WINDOWS_DEPS)
-	$(COMPILER) $(WINDOWS_OPT) $<
+	$(COMPILER) -Fi$(WININC) $(WINDOWS_OPT) $<
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
@@ -2689,6 +2692,18 @@ windirs$(PPUEXT): $(WINDIRS_DEPS)
 	$(COMPILER) $(WINDIRS_OPT) $<
 	$(COMPILER) $(WINDIRS_OPT) $<
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDIRS_OPT) $<
 	$(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=$(BSDINC)/sysctl.pp $(SYSTEMUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) \
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)

+ 70 - 55
rtl/symbian/Makefile

@@ -461,17 +461,17 @@ ESPIDF_40400UNIT=System.Espidf_40400
 EXEUNIT=OS2Api.exe
 EXEUNIT=OS2Api.exe
 EXEINFOUNIT=System.Exeinfo
 EXEINFOUNIT=System.Exeinfo
 EXTPASUNIT=extpas
 EXTPASUNIT=extpas
-FE310G000UNIT=EmbeddedApi.Fe310g000
-FE310G002UNIT=EmbeddedApi.Fe310g002
+FE310G000UNIT=EmbeddedApi.fe310g000
+FE310G002UNIT=EmbeddedApi.fe310g002
 FGLUNIT=System.FGL
 FGLUNIT=System.FGL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCYLIXUNIT=fpcylix
 FPCYLIXUNIT=fpcylix
 FPWIDESTRINGUNIT=System.FPWideString
 FPWIDESTRINGUNIT=System.FPWideString
 FREEBSDUNIT=FreeBSDApi.FreeBSD
 FREEBSDUNIT=FreeBSDApi.FreeBSD
-GD32VF103XXUNIT=EmbeddedApi.Gd32vf103xx
+GD32VF103XXUNIT=EmbeddedApi.gd32vf103xx
 GETOPTSUNIT=System.GetOpts
 GETOPTSUNIT=System.GetOpts
 GO32UNIT=DOSApi.GO32
 GO32UNIT=DOSApi.GO32
-GPIOUNIT=EmbeddedApi.Gpio
+GPIOUNIT=EmbeddedApi.gpio
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPTRCUNIT=heaptrc
 HEAPTRCUNIT=heaptrc
 INITCUNIT=System.InitC
 INITCUNIT=System.InitC
@@ -483,40 +483,40 @@ LIBCUNIT=NetwareLibCApi.Libc
 LINEINFOUNIT=System.LineInfo
 LINEINFOUNIT=System.LineInfo
 LINUXUNIT=LinuxApi
 LINUXUNIT=LinuxApi
 LINUXVCSUNIT=LinuxApi.Vcs
 LINUXVCSUNIT=LinuxApi.Vcs
-LM3FURYUNIT=EmbeddedApi.Lm3fury
-LM3TEMPESTUNIT=EmbeddedApi.Lm3tempest
-LM4F120UNIT=EmbeddedApi.Lm4f120
+LM3FURYUNIT=EmbeddedApi.lm3fury
+LM3TEMPESTUNIT=EmbeddedApi.lm3tempest
+LM4F120UNIT=EmbeddedApi.lm4f120
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFOGDBUNIT=System.LineInfo.Gdb
 LNFOGDBUNIT=System.LineInfo.Gdb
-LPC11XXUNIT=EmbeddedApi.Lpc11xx
-LPC122XUNIT=EmbeddedApi.Lpc122x
-LPC13XXUNIT=EmbeddedApi.Lpc13xx
-LPC1768UNIT=EmbeddedApi.Lpc1768
-LPC21X4UNIT=EmbeddedApi.Lpc21x4
-LPC8XXUNIT=EmbeddedApi.Lpc8xx
+LPC11XXUNIT=EmbeddedApi.lpc11xx
+LPC122XUNIT=EmbeddedApi.lpc122x
+LPC13XXUNIT=EmbeddedApi.lpc13xx
+LPC1768UNIT=EmbeddedApi.lpc1768
+LPC21X4UNIT=EmbeddedApi.lpc21x4
+LPC8XXUNIT=EmbeddedApi.lpc8xx
 LSTRINGSUNIT=System.LStrings
 LSTRINGSUNIT=System.LStrings
 MACOSUNIT=MacOSApi.MacOS
 MACOSUNIT=MacOSApi.MacOS
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACUTILSUNIT=MacOSApi.MacUtils
 MACUTILSUNIT=MacOSApi.MacUtils
-MAILBOXUNIT=EmbeddedApi.Mailbox
+MAILBOXUNIT=EmbeddedApi.mailbox
 MATHUNIT=System.Math
 MATHUNIT=System.Math
 MESSAGESUNIT=WinApi.Messages
 MESSAGESUNIT=WinApi.Messages
-MK20D5UNIT=EmbeddedApi.Mk20d5
-MK20D7UNIT=EmbeddedApi.Mk20d7
-MK22F51212UNIT=EmbeddedApi.Mk22f51212
-MK64F12UNIT=EmbeddedApi.Mk64f12
-MMIOUNIT=EmbeddedApi.Mmio
+MK20D5UNIT=EmbeddedApi.mk20d5
+MK20D7UNIT=EmbeddedApi.mk20d7
+MK22F51212UNIT=EmbeddedApi.mk22f51212
+MK64F12UNIT=EmbeddedApi.mk64f12
+MMIOUNIT=EmbeddedApi.mmio
 MMXUNIT=System.CPU.MMX
 MMXUNIT=System.CPU.MMX
 MONCALLSUNIT=OS2Api.moncalls
 MONCALLSUNIT=OS2Api.moncalls
 MOUCALLSUNIT=OS2Api.moucalls
 MOUCALLSUNIT=OS2Api.moucalls
 MSMOUSEUNIT=DOSApi.MSMouse
 MSMOUSEUNIT=DOSApi.MSMouse
-MULTIBOOTUNIT=EmbeddedApi.Multiboot
+MULTIBOOTUNIT=EmbeddedApi.multiboot
 NDKUNIT=NTApi.NDK
 NDKUNIT=NTApi.NDK
 NDKUTILSUNIT=NTApi.NDKUtils
 NDKUTILSUNIT=NTApi.NDKUtils
 NETWAREUNIT=NetwareApi.NetWare
 NETWAREUNIT=NetwareApi.NetWare
 NEWEXEUNIT=OS2Api.newexe
 NEWEXEUNIT=OS2Api.newexe
-NRF51UNIT=EmbeddedApi.Nrf51
-NRF52UNIT=EmbeddedApi.Nrf52
+NRF51UNIT=EmbeddedApi.nrf51
+NRF52UNIT=EmbeddedApi.nrf52
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWNITUNIT=NetWareApi.Nwnit
 NWNITUNIT=NetWareApi.Nwnit
 NWPREUNIT=NetWareApi.Nwpre
 NWPREUNIT=NetWareApi.Nwpre
@@ -542,13 +542,13 @@ PMWSOCKUNIT=OS2Api.pmwsock
 PORTSUNIT=System.Ports
 PORTSUNIT=System.Ports
 POSIXUNIT=QNXApi.Posix
 POSIXUNIT=QNXApi.Posix
 PROFILEUNIT=DOSApi.Profile
 PROFILEUNIT=DOSApi.Profile
-RASPI2UNIT=EmbeddedApi.Raspi2
-RASPI3UNIT=EmbeddedApi.Raspi3
-RASPIUARTUNIT=EmbeddedApi.Raspiuart
+RASPI2UNIT=EmbeddedApi.raspi2
+RASPI3UNIT=EmbeddedApi.raspi3
+RASPIUARTUNIT=EmbeddedApi.raspiuart
 RTLCONSTSUNIT=System.RtlConsts
 RTLCONSTSUNIT=System.RtlConsts
-SAM3X8EUNIT=EmbeddedApi.Sam3x8e
-SAMD51P19AUNIT=EmbeddedApi.Samd51p19a
-SC32442BUNIT=EmbeddedApi .Sc32442b
+SAM3X8EUNIT=EmbeddedApi.sam3x8e
+SAMD51P19AUNIT=EmbeddedApi.samd51p19a
+SC32442BUNIT=EmbeddedApi .sc32442b
 SFPU128UNIT=System.SoftFpu128
 SFPU128UNIT=System.SoftFpu128
 SFPUX80UNIT=System.SoftFpuX80
 SFPUX80UNIT=System.SoftFpuX80
 SHAREMEMUNIT=WinApi.ShareMem
 SHAREMEMUNIT=WinApi.ShareMem
@@ -556,25 +556,25 @@ SIGNALSUNIT=WinApi.Signals
 SO32DLLUNIT=OS2Api.so32dll
 SO32DLLUNIT=OS2Api.so32dll
 SOFTFPUUNIT=System.SoftFPU
 SOFTFPUUNIT=System.SoftFPU
 SORTBASEUNIT=System.SortBase
 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
+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
 STRINGSUNIT=System.Strings
 SYMBIANUNIT=SymbianApi.Symbian
 SYMBIANUNIT=SymbianApi.Symbian
 SYSALLUNIT=PalmApi.Sysall
 SYSALLUNIT=PalmApi.Sysall
@@ -610,7 +610,7 @@ WINPROCSUNIT=WinApi.WinProcs
 WINSYSUTUNIT=WinApi.WinSysUt
 WINSYSUTUNIT=WinApi.WinSysUt
 WINTYPESUNIT=WinApi.WinTypes
 WINTYPESUNIT=WinApi.WinTypes
 X86UNIT=System.X86
 X86UNIT=System.X86
-XMC4500UNIT=EmbeddedApi.Xmc4500
+XMC4500UNIT=EmbeddedApi.xmc4500
 EXEINFOUNIT=System.ExeInfo
 EXEINFOUNIT=System.ExeInfo
 ERRORSUNIT=UnixApi.Errors
 ERRORSUNIT=UnixApi.Errors
 else
 else
@@ -2268,23 +2268,23 @@ SOFTFPU_DEPS=$(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
@@ -2655,10 +2655,13 @@ BLOCKRTL_DEPS=$(INC)/blockrtl.pp \
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 	$(COMPILER) $(BLOCKRTL_OPT) $<
 	$(COMPILER) $(BLOCKRTL_OPT) $<
+ifndef WININCDIR
+  WININCDIR = $(WINDIR)/wininc
+endif
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 windows$(PPUEXT): $(WINDOWS_DEPS)
 windows$(PPUEXT): $(WINDOWS_DEPS)
-	$(COMPILER) $(WINDOWS_OPT) $<
+	$(COMPILER) -Fi$(WININC) $(WINDOWS_OPT) $<
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
@@ -2667,6 +2670,18 @@ windirs$(PPUEXT): $(WINDIRS_DEPS)
 	$(COMPILER) $(WINDIRS_OPT) $<
 	$(COMPILER) $(WINDIRS_OPT) $<
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDIRS_OPT) $<
 	$(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=$(BSDINC)/sysctl.pp $(SYSTEMUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) \
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)

+ 70 - 55
rtl/wasi/Makefile

@@ -462,17 +462,17 @@ ESPIDF_40400UNIT=System.Espidf_40400
 EXEUNIT=OS2Api.exe
 EXEUNIT=OS2Api.exe
 EXEINFOUNIT=System.Exeinfo
 EXEINFOUNIT=System.Exeinfo
 EXTPASUNIT=extpas
 EXTPASUNIT=extpas
-FE310G000UNIT=EmbeddedApi.Fe310g000
-FE310G002UNIT=EmbeddedApi.Fe310g002
+FE310G000UNIT=EmbeddedApi.fe310g000
+FE310G002UNIT=EmbeddedApi.fe310g002
 FGLUNIT=System.FGL
 FGLUNIT=System.FGL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCYLIXUNIT=fpcylix
 FPCYLIXUNIT=fpcylix
 FPWIDESTRINGUNIT=System.FPWideString
 FPWIDESTRINGUNIT=System.FPWideString
 FREEBSDUNIT=FreeBSDApi.FreeBSD
 FREEBSDUNIT=FreeBSDApi.FreeBSD
-GD32VF103XXUNIT=EmbeddedApi.Gd32vf103xx
+GD32VF103XXUNIT=EmbeddedApi.gd32vf103xx
 GETOPTSUNIT=System.GetOpts
 GETOPTSUNIT=System.GetOpts
 GO32UNIT=DOSApi.GO32
 GO32UNIT=DOSApi.GO32
-GPIOUNIT=EmbeddedApi.Gpio
+GPIOUNIT=EmbeddedApi.gpio
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPTRCUNIT=heaptrc
 HEAPTRCUNIT=heaptrc
 INITCUNIT=System.InitC
 INITCUNIT=System.InitC
@@ -484,40 +484,40 @@ LIBCUNIT=NetwareLibCApi.Libc
 LINEINFOUNIT=System.LineInfo
 LINEINFOUNIT=System.LineInfo
 LINUXUNIT=LinuxApi
 LINUXUNIT=LinuxApi
 LINUXVCSUNIT=LinuxApi.Vcs
 LINUXVCSUNIT=LinuxApi.Vcs
-LM3FURYUNIT=EmbeddedApi.Lm3fury
-LM3TEMPESTUNIT=EmbeddedApi.Lm3tempest
-LM4F120UNIT=EmbeddedApi.Lm4f120
+LM3FURYUNIT=EmbeddedApi.lm3fury
+LM3TEMPESTUNIT=EmbeddedApi.lm3tempest
+LM4F120UNIT=EmbeddedApi.lm4f120
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFOGDBUNIT=System.LineInfo.Gdb
 LNFOGDBUNIT=System.LineInfo.Gdb
-LPC11XXUNIT=EmbeddedApi.Lpc11xx
-LPC122XUNIT=EmbeddedApi.Lpc122x
-LPC13XXUNIT=EmbeddedApi.Lpc13xx
-LPC1768UNIT=EmbeddedApi.Lpc1768
-LPC21X4UNIT=EmbeddedApi.Lpc21x4
-LPC8XXUNIT=EmbeddedApi.Lpc8xx
+LPC11XXUNIT=EmbeddedApi.lpc11xx
+LPC122XUNIT=EmbeddedApi.lpc122x
+LPC13XXUNIT=EmbeddedApi.lpc13xx
+LPC1768UNIT=EmbeddedApi.lpc1768
+LPC21X4UNIT=EmbeddedApi.lpc21x4
+LPC8XXUNIT=EmbeddedApi.lpc8xx
 LSTRINGSUNIT=System.LStrings
 LSTRINGSUNIT=System.LStrings
 MACOSUNIT=MacOSApi.MacOS
 MACOSUNIT=MacOSApi.MacOS
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACUTILSUNIT=MacOSApi.MacUtils
 MACUTILSUNIT=MacOSApi.MacUtils
-MAILBOXUNIT=EmbeddedApi.Mailbox
+MAILBOXUNIT=EmbeddedApi.mailbox
 MATHUNIT=System.Math
 MATHUNIT=System.Math
 MESSAGESUNIT=WinApi.Messages
 MESSAGESUNIT=WinApi.Messages
-MK20D5UNIT=EmbeddedApi.Mk20d5
-MK20D7UNIT=EmbeddedApi.Mk20d7
-MK22F51212UNIT=EmbeddedApi.Mk22f51212
-MK64F12UNIT=EmbeddedApi.Mk64f12
-MMIOUNIT=EmbeddedApi.Mmio
+MK20D5UNIT=EmbeddedApi.mk20d5
+MK20D7UNIT=EmbeddedApi.mk20d7
+MK22F51212UNIT=EmbeddedApi.mk22f51212
+MK64F12UNIT=EmbeddedApi.mk64f12
+MMIOUNIT=EmbeddedApi.mmio
 MMXUNIT=System.CPU.MMX
 MMXUNIT=System.CPU.MMX
 MONCALLSUNIT=OS2Api.moncalls
 MONCALLSUNIT=OS2Api.moncalls
 MOUCALLSUNIT=OS2Api.moucalls
 MOUCALLSUNIT=OS2Api.moucalls
 MSMOUSEUNIT=DOSApi.MSMouse
 MSMOUSEUNIT=DOSApi.MSMouse
-MULTIBOOTUNIT=EmbeddedApi.Multiboot
+MULTIBOOTUNIT=EmbeddedApi.multiboot
 NDKUNIT=NTApi.NDK
 NDKUNIT=NTApi.NDK
 NDKUTILSUNIT=NTApi.NDKUtils
 NDKUTILSUNIT=NTApi.NDKUtils
 NETWAREUNIT=NetwareApi.NetWare
 NETWAREUNIT=NetwareApi.NetWare
 NEWEXEUNIT=OS2Api.newexe
 NEWEXEUNIT=OS2Api.newexe
-NRF51UNIT=EmbeddedApi.Nrf51
-NRF52UNIT=EmbeddedApi.Nrf52
+NRF51UNIT=EmbeddedApi.nrf51
+NRF52UNIT=EmbeddedApi.nrf52
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWNITUNIT=NetWareApi.Nwnit
 NWNITUNIT=NetWareApi.Nwnit
 NWPREUNIT=NetWareApi.Nwpre
 NWPREUNIT=NetWareApi.Nwpre
@@ -543,13 +543,13 @@ PMWSOCKUNIT=OS2Api.pmwsock
 PORTSUNIT=System.Ports
 PORTSUNIT=System.Ports
 POSIXUNIT=QNXApi.Posix
 POSIXUNIT=QNXApi.Posix
 PROFILEUNIT=DOSApi.Profile
 PROFILEUNIT=DOSApi.Profile
-RASPI2UNIT=EmbeddedApi.Raspi2
-RASPI3UNIT=EmbeddedApi.Raspi3
-RASPIUARTUNIT=EmbeddedApi.Raspiuart
+RASPI2UNIT=EmbeddedApi.raspi2
+RASPI3UNIT=EmbeddedApi.raspi3
+RASPIUARTUNIT=EmbeddedApi.raspiuart
 RTLCONSTSUNIT=System.RtlConsts
 RTLCONSTSUNIT=System.RtlConsts
-SAM3X8EUNIT=EmbeddedApi.Sam3x8e
-SAMD51P19AUNIT=EmbeddedApi.Samd51p19a
-SC32442BUNIT=EmbeddedApi .Sc32442b
+SAM3X8EUNIT=EmbeddedApi.sam3x8e
+SAMD51P19AUNIT=EmbeddedApi.samd51p19a
+SC32442BUNIT=EmbeddedApi .sc32442b
 SFPU128UNIT=System.SoftFpu128
 SFPU128UNIT=System.SoftFpu128
 SFPUX80UNIT=System.SoftFpuX80
 SFPUX80UNIT=System.SoftFpuX80
 SHAREMEMUNIT=WinApi.ShareMem
 SHAREMEMUNIT=WinApi.ShareMem
@@ -557,25 +557,25 @@ SIGNALSUNIT=WinApi.Signals
 SO32DLLUNIT=OS2Api.so32dll
 SO32DLLUNIT=OS2Api.so32dll
 SOFTFPUUNIT=System.SoftFPU
 SOFTFPUUNIT=System.SoftFPU
 SORTBASEUNIT=System.SortBase
 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
+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
 STRINGSUNIT=System.Strings
 SYMBIANUNIT=SymbianApi.Symbian
 SYMBIANUNIT=SymbianApi.Symbian
 SYSALLUNIT=PalmApi.Sysall
 SYSALLUNIT=PalmApi.Sysall
@@ -611,7 +611,7 @@ WINPROCSUNIT=WinApi.WinProcs
 WINSYSUTUNIT=WinApi.WinSysUt
 WINSYSUTUNIT=WinApi.WinSysUt
 WINTYPESUNIT=WinApi.WinTypes
 WINTYPESUNIT=WinApi.WinTypes
 X86UNIT=System.X86
 X86UNIT=System.X86
-XMC4500UNIT=EmbeddedApi.Xmc4500
+XMC4500UNIT=EmbeddedApi.xmc4500
 EXEINFOUNIT=System.ExeInfo
 EXEINFOUNIT=System.ExeInfo
 ERRORSUNIT=UnixApi.Errors
 ERRORSUNIT=UnixApi.Errors
 else
 else
@@ -2251,23 +2251,23 @@ SOFTFPU_DEPS=$(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
@@ -2638,10 +2638,13 @@ BLOCKRTL_DEPS=$(INC)/blockrtl.pp \
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 	$(COMPILER) $(BLOCKRTL_OPT) $<
 	$(COMPILER) $(BLOCKRTL_OPT) $<
+ifndef WININCDIR
+  WININCDIR = $(WINDIR)/wininc
+endif
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 windows$(PPUEXT): $(WINDOWS_DEPS)
 windows$(PPUEXT): $(WINDOWS_DEPS)
-	$(COMPILER) $(WINDOWS_OPT) $<
+	$(COMPILER) -Fi$(WININC) $(WINDOWS_OPT) $<
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
@@ -2650,6 +2653,18 @@ windirs$(PPUEXT): $(WINDIRS_DEPS)
 	$(COMPILER) $(WINDIRS_OPT) $<
 	$(COMPILER) $(WINDIRS_OPT) $<
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDIRS_OPT) $<
 	$(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=$(BSDINC)/sysctl.pp $(SYSTEMUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) \
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)

+ 70 - 55
rtl/watcom/Makefile

@@ -462,17 +462,17 @@ ESPIDF_40400UNIT=System.Espidf_40400
 EXEUNIT=OS2Api.exe
 EXEUNIT=OS2Api.exe
 EXEINFOUNIT=System.Exeinfo
 EXEINFOUNIT=System.Exeinfo
 EXTPASUNIT=extpas
 EXTPASUNIT=extpas
-FE310G000UNIT=EmbeddedApi.Fe310g000
-FE310G002UNIT=EmbeddedApi.Fe310g002
+FE310G000UNIT=EmbeddedApi.fe310g000
+FE310G002UNIT=EmbeddedApi.fe310g002
 FGLUNIT=System.FGL
 FGLUNIT=System.FGL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCYLIXUNIT=fpcylix
 FPCYLIXUNIT=fpcylix
 FPWIDESTRINGUNIT=System.FPWideString
 FPWIDESTRINGUNIT=System.FPWideString
 FREEBSDUNIT=FreeBSDApi.FreeBSD
 FREEBSDUNIT=FreeBSDApi.FreeBSD
-GD32VF103XXUNIT=EmbeddedApi.Gd32vf103xx
+GD32VF103XXUNIT=EmbeddedApi.gd32vf103xx
 GETOPTSUNIT=System.GetOpts
 GETOPTSUNIT=System.GetOpts
 GO32UNIT=DOSApi.GO32
 GO32UNIT=DOSApi.GO32
-GPIOUNIT=EmbeddedApi.Gpio
+GPIOUNIT=EmbeddedApi.gpio
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPTRCUNIT=heaptrc
 HEAPTRCUNIT=heaptrc
 INITCUNIT=System.InitC
 INITCUNIT=System.InitC
@@ -484,40 +484,40 @@ LIBCUNIT=NetwareLibCApi.Libc
 LINEINFOUNIT=System.LineInfo
 LINEINFOUNIT=System.LineInfo
 LINUXUNIT=LinuxApi
 LINUXUNIT=LinuxApi
 LINUXVCSUNIT=LinuxApi.Vcs
 LINUXVCSUNIT=LinuxApi.Vcs
-LM3FURYUNIT=EmbeddedApi.Lm3fury
-LM3TEMPESTUNIT=EmbeddedApi.Lm3tempest
-LM4F120UNIT=EmbeddedApi.Lm4f120
+LM3FURYUNIT=EmbeddedApi.lm3fury
+LM3TEMPESTUNIT=EmbeddedApi.lm3tempest
+LM4F120UNIT=EmbeddedApi.lm4f120
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFOGDBUNIT=System.LineInfo.Gdb
 LNFOGDBUNIT=System.LineInfo.Gdb
-LPC11XXUNIT=EmbeddedApi.Lpc11xx
-LPC122XUNIT=EmbeddedApi.Lpc122x
-LPC13XXUNIT=EmbeddedApi.Lpc13xx
-LPC1768UNIT=EmbeddedApi.Lpc1768
-LPC21X4UNIT=EmbeddedApi.Lpc21x4
-LPC8XXUNIT=EmbeddedApi.Lpc8xx
+LPC11XXUNIT=EmbeddedApi.lpc11xx
+LPC122XUNIT=EmbeddedApi.lpc122x
+LPC13XXUNIT=EmbeddedApi.lpc13xx
+LPC1768UNIT=EmbeddedApi.lpc1768
+LPC21X4UNIT=EmbeddedApi.lpc21x4
+LPC8XXUNIT=EmbeddedApi.lpc8xx
 LSTRINGSUNIT=System.LStrings
 LSTRINGSUNIT=System.LStrings
 MACOSUNIT=MacOSApi.MacOS
 MACOSUNIT=MacOSApi.MacOS
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACUTILSUNIT=MacOSApi.MacUtils
 MACUTILSUNIT=MacOSApi.MacUtils
-MAILBOXUNIT=EmbeddedApi.Mailbox
+MAILBOXUNIT=EmbeddedApi.mailbox
 MATHUNIT=System.Math
 MATHUNIT=System.Math
 MESSAGESUNIT=WinApi.Messages
 MESSAGESUNIT=WinApi.Messages
-MK20D5UNIT=EmbeddedApi.Mk20d5
-MK20D7UNIT=EmbeddedApi.Mk20d7
-MK22F51212UNIT=EmbeddedApi.Mk22f51212
-MK64F12UNIT=EmbeddedApi.Mk64f12
-MMIOUNIT=EmbeddedApi.Mmio
+MK20D5UNIT=EmbeddedApi.mk20d5
+MK20D7UNIT=EmbeddedApi.mk20d7
+MK22F51212UNIT=EmbeddedApi.mk22f51212
+MK64F12UNIT=EmbeddedApi.mk64f12
+MMIOUNIT=EmbeddedApi.mmio
 MMXUNIT=System.CPU.MMX
 MMXUNIT=System.CPU.MMX
 MONCALLSUNIT=OS2Api.moncalls
 MONCALLSUNIT=OS2Api.moncalls
 MOUCALLSUNIT=OS2Api.moucalls
 MOUCALLSUNIT=OS2Api.moucalls
 MSMOUSEUNIT=DOSApi.MSMouse
 MSMOUSEUNIT=DOSApi.MSMouse
-MULTIBOOTUNIT=EmbeddedApi.Multiboot
+MULTIBOOTUNIT=EmbeddedApi.multiboot
 NDKUNIT=NTApi.NDK
 NDKUNIT=NTApi.NDK
 NDKUTILSUNIT=NTApi.NDKUtils
 NDKUTILSUNIT=NTApi.NDKUtils
 NETWAREUNIT=NetwareApi.NetWare
 NETWAREUNIT=NetwareApi.NetWare
 NEWEXEUNIT=OS2Api.newexe
 NEWEXEUNIT=OS2Api.newexe
-NRF51UNIT=EmbeddedApi.Nrf51
-NRF52UNIT=EmbeddedApi.Nrf52
+NRF51UNIT=EmbeddedApi.nrf51
+NRF52UNIT=EmbeddedApi.nrf52
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWNITUNIT=NetWareApi.Nwnit
 NWNITUNIT=NetWareApi.Nwnit
 NWPREUNIT=NetWareApi.Nwpre
 NWPREUNIT=NetWareApi.Nwpre
@@ -543,13 +543,13 @@ PMWSOCKUNIT=OS2Api.pmwsock
 PORTSUNIT=System.Ports
 PORTSUNIT=System.Ports
 POSIXUNIT=QNXApi.Posix
 POSIXUNIT=QNXApi.Posix
 PROFILEUNIT=DOSApi.Profile
 PROFILEUNIT=DOSApi.Profile
-RASPI2UNIT=EmbeddedApi.Raspi2
-RASPI3UNIT=EmbeddedApi.Raspi3
-RASPIUARTUNIT=EmbeddedApi.Raspiuart
+RASPI2UNIT=EmbeddedApi.raspi2
+RASPI3UNIT=EmbeddedApi.raspi3
+RASPIUARTUNIT=EmbeddedApi.raspiuart
 RTLCONSTSUNIT=System.RtlConsts
 RTLCONSTSUNIT=System.RtlConsts
-SAM3X8EUNIT=EmbeddedApi.Sam3x8e
-SAMD51P19AUNIT=EmbeddedApi.Samd51p19a
-SC32442BUNIT=EmbeddedApi .Sc32442b
+SAM3X8EUNIT=EmbeddedApi.sam3x8e
+SAMD51P19AUNIT=EmbeddedApi.samd51p19a
+SC32442BUNIT=EmbeddedApi .sc32442b
 SFPU128UNIT=System.SoftFpu128
 SFPU128UNIT=System.SoftFpu128
 SFPUX80UNIT=System.SoftFpuX80
 SFPUX80UNIT=System.SoftFpuX80
 SHAREMEMUNIT=WinApi.ShareMem
 SHAREMEMUNIT=WinApi.ShareMem
@@ -557,25 +557,25 @@ SIGNALSUNIT=WinApi.Signals
 SO32DLLUNIT=OS2Api.so32dll
 SO32DLLUNIT=OS2Api.so32dll
 SOFTFPUUNIT=System.SoftFPU
 SOFTFPUUNIT=System.SoftFPU
 SORTBASEUNIT=System.SortBase
 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
+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
 STRINGSUNIT=System.Strings
 SYMBIANUNIT=SymbianApi.Symbian
 SYMBIANUNIT=SymbianApi.Symbian
 SYSALLUNIT=PalmApi.Sysall
 SYSALLUNIT=PalmApi.Sysall
@@ -611,7 +611,7 @@ WINPROCSUNIT=WinApi.WinProcs
 WINSYSUTUNIT=WinApi.WinSysUt
 WINSYSUTUNIT=WinApi.WinSysUt
 WINTYPESUNIT=WinApi.WinTypes
 WINTYPESUNIT=WinApi.WinTypes
 X86UNIT=System.X86
 X86UNIT=System.X86
-XMC4500UNIT=EmbeddedApi.Xmc4500
+XMC4500UNIT=EmbeddedApi.xmc4500
 EXEINFOUNIT=System.ExeInfo
 EXEINFOUNIT=System.ExeInfo
 ERRORSUNIT=UnixApi.Errors
 ERRORSUNIT=UnixApi.Errors
 else
 else
@@ -2285,23 +2285,23 @@ SOFTFPU_DEPS=$(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
@@ -2672,10 +2672,13 @@ BLOCKRTL_DEPS=$(INC)/blockrtl.pp \
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 	$(COMPILER) $(BLOCKRTL_OPT) $<
 	$(COMPILER) $(BLOCKRTL_OPT) $<
+ifndef WININCDIR
+  WININCDIR = $(WINDIR)/wininc
+endif
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 windows$(PPUEXT): $(WINDOWS_DEPS)
 windows$(PPUEXT): $(WINDOWS_DEPS)
-	$(COMPILER) $(WINDOWS_OPT) $<
+	$(COMPILER) -Fi$(WININC) $(WINDOWS_OPT) $<
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
@@ -2684,6 +2687,18 @@ windirs$(PPUEXT): $(WINDIRS_DEPS)
 	$(COMPILER) $(WINDIRS_OPT) $<
 	$(COMPILER) $(WINDIRS_OPT) $<
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDIRS_OPT) $<
 	$(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=$(BSDINC)/sysctl.pp $(SYSTEMUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) \
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)

+ 70 - 55
rtl/wii/Makefile

@@ -462,17 +462,17 @@ ESPIDF_40400UNIT=System.Espidf_40400
 EXEUNIT=OS2Api.exe
 EXEUNIT=OS2Api.exe
 EXEINFOUNIT=System.Exeinfo
 EXEINFOUNIT=System.Exeinfo
 EXTPASUNIT=extpas
 EXTPASUNIT=extpas
-FE310G000UNIT=EmbeddedApi.Fe310g000
-FE310G002UNIT=EmbeddedApi.Fe310g002
+FE310G000UNIT=EmbeddedApi.fe310g000
+FE310G002UNIT=EmbeddedApi.fe310g002
 FGLUNIT=System.FGL
 FGLUNIT=System.FGL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCYLIXUNIT=fpcylix
 FPCYLIXUNIT=fpcylix
 FPWIDESTRINGUNIT=System.FPWideString
 FPWIDESTRINGUNIT=System.FPWideString
 FREEBSDUNIT=FreeBSDApi.FreeBSD
 FREEBSDUNIT=FreeBSDApi.FreeBSD
-GD32VF103XXUNIT=EmbeddedApi.Gd32vf103xx
+GD32VF103XXUNIT=EmbeddedApi.gd32vf103xx
 GETOPTSUNIT=System.GetOpts
 GETOPTSUNIT=System.GetOpts
 GO32UNIT=DOSApi.GO32
 GO32UNIT=DOSApi.GO32
-GPIOUNIT=EmbeddedApi.Gpio
+GPIOUNIT=EmbeddedApi.gpio
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPTRCUNIT=heaptrc
 HEAPTRCUNIT=heaptrc
 INITCUNIT=System.InitC
 INITCUNIT=System.InitC
@@ -484,40 +484,40 @@ LIBCUNIT=NetwareLibCApi.Libc
 LINEINFOUNIT=System.LineInfo
 LINEINFOUNIT=System.LineInfo
 LINUXUNIT=LinuxApi
 LINUXUNIT=LinuxApi
 LINUXVCSUNIT=LinuxApi.Vcs
 LINUXVCSUNIT=LinuxApi.Vcs
-LM3FURYUNIT=EmbeddedApi.Lm3fury
-LM3TEMPESTUNIT=EmbeddedApi.Lm3tempest
-LM4F120UNIT=EmbeddedApi.Lm4f120
+LM3FURYUNIT=EmbeddedApi.lm3fury
+LM3TEMPESTUNIT=EmbeddedApi.lm3tempest
+LM4F120UNIT=EmbeddedApi.lm4f120
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFOGDBUNIT=System.LineInfo.Gdb
 LNFOGDBUNIT=System.LineInfo.Gdb
-LPC11XXUNIT=EmbeddedApi.Lpc11xx
-LPC122XUNIT=EmbeddedApi.Lpc122x
-LPC13XXUNIT=EmbeddedApi.Lpc13xx
-LPC1768UNIT=EmbeddedApi.Lpc1768
-LPC21X4UNIT=EmbeddedApi.Lpc21x4
-LPC8XXUNIT=EmbeddedApi.Lpc8xx
+LPC11XXUNIT=EmbeddedApi.lpc11xx
+LPC122XUNIT=EmbeddedApi.lpc122x
+LPC13XXUNIT=EmbeddedApi.lpc13xx
+LPC1768UNIT=EmbeddedApi.lpc1768
+LPC21X4UNIT=EmbeddedApi.lpc21x4
+LPC8XXUNIT=EmbeddedApi.lpc8xx
 LSTRINGSUNIT=System.LStrings
 LSTRINGSUNIT=System.LStrings
 MACOSUNIT=MacOSApi.MacOS
 MACOSUNIT=MacOSApi.MacOS
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACUTILSUNIT=MacOSApi.MacUtils
 MACUTILSUNIT=MacOSApi.MacUtils
-MAILBOXUNIT=EmbeddedApi.Mailbox
+MAILBOXUNIT=EmbeddedApi.mailbox
 MATHUNIT=System.Math
 MATHUNIT=System.Math
 MESSAGESUNIT=WinApi.Messages
 MESSAGESUNIT=WinApi.Messages
-MK20D5UNIT=EmbeddedApi.Mk20d5
-MK20D7UNIT=EmbeddedApi.Mk20d7
-MK22F51212UNIT=EmbeddedApi.Mk22f51212
-MK64F12UNIT=EmbeddedApi.Mk64f12
-MMIOUNIT=EmbeddedApi.Mmio
+MK20D5UNIT=EmbeddedApi.mk20d5
+MK20D7UNIT=EmbeddedApi.mk20d7
+MK22F51212UNIT=EmbeddedApi.mk22f51212
+MK64F12UNIT=EmbeddedApi.mk64f12
+MMIOUNIT=EmbeddedApi.mmio
 MMXUNIT=System.CPU.MMX
 MMXUNIT=System.CPU.MMX
 MONCALLSUNIT=OS2Api.moncalls
 MONCALLSUNIT=OS2Api.moncalls
 MOUCALLSUNIT=OS2Api.moucalls
 MOUCALLSUNIT=OS2Api.moucalls
 MSMOUSEUNIT=DOSApi.MSMouse
 MSMOUSEUNIT=DOSApi.MSMouse
-MULTIBOOTUNIT=EmbeddedApi.Multiboot
+MULTIBOOTUNIT=EmbeddedApi.multiboot
 NDKUNIT=NTApi.NDK
 NDKUNIT=NTApi.NDK
 NDKUTILSUNIT=NTApi.NDKUtils
 NDKUTILSUNIT=NTApi.NDKUtils
 NETWAREUNIT=NetwareApi.NetWare
 NETWAREUNIT=NetwareApi.NetWare
 NEWEXEUNIT=OS2Api.newexe
 NEWEXEUNIT=OS2Api.newexe
-NRF51UNIT=EmbeddedApi.Nrf51
-NRF52UNIT=EmbeddedApi.Nrf52
+NRF51UNIT=EmbeddedApi.nrf51
+NRF52UNIT=EmbeddedApi.nrf52
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWNITUNIT=NetWareApi.Nwnit
 NWNITUNIT=NetWareApi.Nwnit
 NWPREUNIT=NetWareApi.Nwpre
 NWPREUNIT=NetWareApi.Nwpre
@@ -543,13 +543,13 @@ PMWSOCKUNIT=OS2Api.pmwsock
 PORTSUNIT=System.Ports
 PORTSUNIT=System.Ports
 POSIXUNIT=QNXApi.Posix
 POSIXUNIT=QNXApi.Posix
 PROFILEUNIT=DOSApi.Profile
 PROFILEUNIT=DOSApi.Profile
-RASPI2UNIT=EmbeddedApi.Raspi2
-RASPI3UNIT=EmbeddedApi.Raspi3
-RASPIUARTUNIT=EmbeddedApi.Raspiuart
+RASPI2UNIT=EmbeddedApi.raspi2
+RASPI3UNIT=EmbeddedApi.raspi3
+RASPIUARTUNIT=EmbeddedApi.raspiuart
 RTLCONSTSUNIT=System.RtlConsts
 RTLCONSTSUNIT=System.RtlConsts
-SAM3X8EUNIT=EmbeddedApi.Sam3x8e
-SAMD51P19AUNIT=EmbeddedApi.Samd51p19a
-SC32442BUNIT=EmbeddedApi .Sc32442b
+SAM3X8EUNIT=EmbeddedApi.sam3x8e
+SAMD51P19AUNIT=EmbeddedApi.samd51p19a
+SC32442BUNIT=EmbeddedApi .sc32442b
 SFPU128UNIT=System.SoftFpu128
 SFPU128UNIT=System.SoftFpu128
 SFPUX80UNIT=System.SoftFpuX80
 SFPUX80UNIT=System.SoftFpuX80
 SHAREMEMUNIT=WinApi.ShareMem
 SHAREMEMUNIT=WinApi.ShareMem
@@ -557,25 +557,25 @@ SIGNALSUNIT=WinApi.Signals
 SO32DLLUNIT=OS2Api.so32dll
 SO32DLLUNIT=OS2Api.so32dll
 SOFTFPUUNIT=System.SoftFPU
 SOFTFPUUNIT=System.SoftFPU
 SORTBASEUNIT=System.SortBase
 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
+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
 STRINGSUNIT=System.Strings
 SYMBIANUNIT=SymbianApi.Symbian
 SYMBIANUNIT=SymbianApi.Symbian
 SYSALLUNIT=PalmApi.Sysall
 SYSALLUNIT=PalmApi.Sysall
@@ -611,7 +611,7 @@ WINPROCSUNIT=WinApi.WinProcs
 WINSYSUTUNIT=WinApi.WinSysUt
 WINSYSUTUNIT=WinApi.WinSysUt
 WINTYPESUNIT=WinApi.WinTypes
 WINTYPESUNIT=WinApi.WinTypes
 X86UNIT=System.X86
 X86UNIT=System.X86
-XMC4500UNIT=EmbeddedApi.Xmc4500
+XMC4500UNIT=EmbeddedApi.xmc4500
 EXEINFOUNIT=System.ExeInfo
 EXEINFOUNIT=System.ExeInfo
 ERRORSUNIT=UnixApi.Errors
 ERRORSUNIT=UnixApi.Errors
 else
 else
@@ -2245,23 +2245,23 @@ SOFTFPU_DEPS=$(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
@@ -2632,10 +2632,13 @@ BLOCKRTL_DEPS=$(INC)/blockrtl.pp \
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 	$(COMPILER) $(BLOCKRTL_OPT) $<
 	$(COMPILER) $(BLOCKRTL_OPT) $<
+ifndef WININCDIR
+  WININCDIR = $(WINDIR)/wininc
+endif
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 windows$(PPUEXT): $(WINDOWS_DEPS)
 windows$(PPUEXT): $(WINDOWS_DEPS)
-	$(COMPILER) $(WINDOWS_OPT) $<
+	$(COMPILER) -Fi$(WININC) $(WINDOWS_OPT) $<
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
@@ -2644,6 +2647,18 @@ windirs$(PPUEXT): $(WINDIRS_DEPS)
 	$(COMPILER) $(WINDIRS_OPT) $<
 	$(COMPILER) $(WINDIRS_OPT) $<
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDIRS_OPT) $<
 	$(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=$(BSDINC)/sysctl.pp $(SYSTEMUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) \
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)

+ 70 - 55
rtl/win16/Makefile

@@ -462,17 +462,17 @@ ESPIDF_40400UNIT=System.Espidf_40400
 EXEUNIT=OS2Api.exe
 EXEUNIT=OS2Api.exe
 EXEINFOUNIT=System.Exeinfo
 EXEINFOUNIT=System.Exeinfo
 EXTPASUNIT=extpas
 EXTPASUNIT=extpas
-FE310G000UNIT=EmbeddedApi.Fe310g000
-FE310G002UNIT=EmbeddedApi.Fe310g002
+FE310G000UNIT=EmbeddedApi.fe310g000
+FE310G002UNIT=EmbeddedApi.fe310g002
 FGLUNIT=System.FGL
 FGLUNIT=System.FGL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCYLIXUNIT=fpcylix
 FPCYLIXUNIT=fpcylix
 FPWIDESTRINGUNIT=System.FPWideString
 FPWIDESTRINGUNIT=System.FPWideString
 FREEBSDUNIT=FreeBSDApi.FreeBSD
 FREEBSDUNIT=FreeBSDApi.FreeBSD
-GD32VF103XXUNIT=EmbeddedApi.Gd32vf103xx
+GD32VF103XXUNIT=EmbeddedApi.gd32vf103xx
 GETOPTSUNIT=System.GetOpts
 GETOPTSUNIT=System.GetOpts
 GO32UNIT=DOSApi.GO32
 GO32UNIT=DOSApi.GO32
-GPIOUNIT=EmbeddedApi.Gpio
+GPIOUNIT=EmbeddedApi.gpio
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPTRCUNIT=heaptrc
 HEAPTRCUNIT=heaptrc
 INITCUNIT=System.InitC
 INITCUNIT=System.InitC
@@ -484,40 +484,40 @@ LIBCUNIT=NetwareLibCApi.Libc
 LINEINFOUNIT=System.LineInfo
 LINEINFOUNIT=System.LineInfo
 LINUXUNIT=LinuxApi
 LINUXUNIT=LinuxApi
 LINUXVCSUNIT=LinuxApi.Vcs
 LINUXVCSUNIT=LinuxApi.Vcs
-LM3FURYUNIT=EmbeddedApi.Lm3fury
-LM3TEMPESTUNIT=EmbeddedApi.Lm3tempest
-LM4F120UNIT=EmbeddedApi.Lm4f120
+LM3FURYUNIT=EmbeddedApi.lm3fury
+LM3TEMPESTUNIT=EmbeddedApi.lm3tempest
+LM4F120UNIT=EmbeddedApi.lm4f120
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFOGDBUNIT=System.LineInfo.Gdb
 LNFOGDBUNIT=System.LineInfo.Gdb
-LPC11XXUNIT=EmbeddedApi.Lpc11xx
-LPC122XUNIT=EmbeddedApi.Lpc122x
-LPC13XXUNIT=EmbeddedApi.Lpc13xx
-LPC1768UNIT=EmbeddedApi.Lpc1768
-LPC21X4UNIT=EmbeddedApi.Lpc21x4
-LPC8XXUNIT=EmbeddedApi.Lpc8xx
+LPC11XXUNIT=EmbeddedApi.lpc11xx
+LPC122XUNIT=EmbeddedApi.lpc122x
+LPC13XXUNIT=EmbeddedApi.lpc13xx
+LPC1768UNIT=EmbeddedApi.lpc1768
+LPC21X4UNIT=EmbeddedApi.lpc21x4
+LPC8XXUNIT=EmbeddedApi.lpc8xx
 LSTRINGSUNIT=System.LStrings
 LSTRINGSUNIT=System.LStrings
 MACOSUNIT=MacOSApi.MacOS
 MACOSUNIT=MacOSApi.MacOS
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACUTILSUNIT=MacOSApi.MacUtils
 MACUTILSUNIT=MacOSApi.MacUtils
-MAILBOXUNIT=EmbeddedApi.Mailbox
+MAILBOXUNIT=EmbeddedApi.mailbox
 MATHUNIT=System.Math
 MATHUNIT=System.Math
 MESSAGESUNIT=WinApi.Messages
 MESSAGESUNIT=WinApi.Messages
-MK20D5UNIT=EmbeddedApi.Mk20d5
-MK20D7UNIT=EmbeddedApi.Mk20d7
-MK22F51212UNIT=EmbeddedApi.Mk22f51212
-MK64F12UNIT=EmbeddedApi.Mk64f12
-MMIOUNIT=EmbeddedApi.Mmio
+MK20D5UNIT=EmbeddedApi.mk20d5
+MK20D7UNIT=EmbeddedApi.mk20d7
+MK22F51212UNIT=EmbeddedApi.mk22f51212
+MK64F12UNIT=EmbeddedApi.mk64f12
+MMIOUNIT=EmbeddedApi.mmio
 MMXUNIT=System.CPU.MMX
 MMXUNIT=System.CPU.MMX
 MONCALLSUNIT=OS2Api.moncalls
 MONCALLSUNIT=OS2Api.moncalls
 MOUCALLSUNIT=OS2Api.moucalls
 MOUCALLSUNIT=OS2Api.moucalls
 MSMOUSEUNIT=DOSApi.MSMouse
 MSMOUSEUNIT=DOSApi.MSMouse
-MULTIBOOTUNIT=EmbeddedApi.Multiboot
+MULTIBOOTUNIT=EmbeddedApi.multiboot
 NDKUNIT=NTApi.NDK
 NDKUNIT=NTApi.NDK
 NDKUTILSUNIT=NTApi.NDKUtils
 NDKUTILSUNIT=NTApi.NDKUtils
 NETWAREUNIT=NetwareApi.NetWare
 NETWAREUNIT=NetwareApi.NetWare
 NEWEXEUNIT=OS2Api.newexe
 NEWEXEUNIT=OS2Api.newexe
-NRF51UNIT=EmbeddedApi.Nrf51
-NRF52UNIT=EmbeddedApi.Nrf52
+NRF51UNIT=EmbeddedApi.nrf51
+NRF52UNIT=EmbeddedApi.nrf52
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWNITUNIT=NetWareApi.Nwnit
 NWNITUNIT=NetWareApi.Nwnit
 NWPREUNIT=NetWareApi.Nwpre
 NWPREUNIT=NetWareApi.Nwpre
@@ -543,13 +543,13 @@ PMWSOCKUNIT=OS2Api.pmwsock
 PORTSUNIT=System.Ports
 PORTSUNIT=System.Ports
 POSIXUNIT=QNXApi.Posix
 POSIXUNIT=QNXApi.Posix
 PROFILEUNIT=DOSApi.Profile
 PROFILEUNIT=DOSApi.Profile
-RASPI2UNIT=EmbeddedApi.Raspi2
-RASPI3UNIT=EmbeddedApi.Raspi3
-RASPIUARTUNIT=EmbeddedApi.Raspiuart
+RASPI2UNIT=EmbeddedApi.raspi2
+RASPI3UNIT=EmbeddedApi.raspi3
+RASPIUARTUNIT=EmbeddedApi.raspiuart
 RTLCONSTSUNIT=System.RtlConsts
 RTLCONSTSUNIT=System.RtlConsts
-SAM3X8EUNIT=EmbeddedApi.Sam3x8e
-SAMD51P19AUNIT=EmbeddedApi.Samd51p19a
-SC32442BUNIT=EmbeddedApi .Sc32442b
+SAM3X8EUNIT=EmbeddedApi.sam3x8e
+SAMD51P19AUNIT=EmbeddedApi.samd51p19a
+SC32442BUNIT=EmbeddedApi .sc32442b
 SFPU128UNIT=System.SoftFpu128
 SFPU128UNIT=System.SoftFpu128
 SFPUX80UNIT=System.SoftFpuX80
 SFPUX80UNIT=System.SoftFpuX80
 SHAREMEMUNIT=WinApi.ShareMem
 SHAREMEMUNIT=WinApi.ShareMem
@@ -557,25 +557,25 @@ SIGNALSUNIT=WinApi.Signals
 SO32DLLUNIT=OS2Api.so32dll
 SO32DLLUNIT=OS2Api.so32dll
 SOFTFPUUNIT=System.SoftFPU
 SOFTFPUUNIT=System.SoftFPU
 SORTBASEUNIT=System.SortBase
 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
+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
 STRINGSUNIT=System.Strings
 SYMBIANUNIT=SymbianApi.Symbian
 SYMBIANUNIT=SymbianApi.Symbian
 SYSALLUNIT=PalmApi.Sysall
 SYSALLUNIT=PalmApi.Sysall
@@ -611,7 +611,7 @@ WINPROCSUNIT=WinApi.WinProcs
 WINSYSUTUNIT=WinApi.WinSysUt
 WINSYSUTUNIT=WinApi.WinSysUt
 WINTYPESUNIT=WinApi.WinTypes
 WINTYPESUNIT=WinApi.WinTypes
 X86UNIT=System.X86
 X86UNIT=System.X86
-XMC4500UNIT=EmbeddedApi.Xmc4500
+XMC4500UNIT=EmbeddedApi.xmc4500
 EXEINFOUNIT=System.ExeInfo
 EXEINFOUNIT=System.ExeInfo
 ERRORSUNIT=UnixApi.Errors
 ERRORSUNIT=UnixApi.Errors
 else
 else
@@ -2276,23 +2276,23 @@ SOFTFPU_DEPS=$(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
@@ -2663,10 +2663,13 @@ BLOCKRTL_DEPS=$(INC)/blockrtl.pp \
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 	$(COMPILER) $(BLOCKRTL_OPT) $<
 	$(COMPILER) $(BLOCKRTL_OPT) $<
+ifndef WININCDIR
+  WININCDIR = $(WINDIR)/wininc
+endif
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 windows$(PPUEXT): $(WINDOWS_DEPS)
 windows$(PPUEXT): $(WINDOWS_DEPS)
-	$(COMPILER) $(WINDOWS_OPT) $<
+	$(COMPILER) -Fi$(WININC) $(WINDOWS_OPT) $<
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
@@ -2675,6 +2678,18 @@ windirs$(PPUEXT): $(WINDIRS_DEPS)
 	$(COMPILER) $(WINDIRS_OPT) $<
 	$(COMPILER) $(WINDIRS_OPT) $<
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDIRS_OPT) $<
 	$(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=$(BSDINC)/sysctl.pp $(SYSTEMUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) \
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)

+ 70 - 55
rtl/win32/Makefile

@@ -461,17 +461,17 @@ ESPIDF_40400UNIT=System.Espidf_40400
 EXEUNIT=OS2Api.exe
 EXEUNIT=OS2Api.exe
 EXEINFOUNIT=System.Exeinfo
 EXEINFOUNIT=System.Exeinfo
 EXTPASUNIT=extpas
 EXTPASUNIT=extpas
-FE310G000UNIT=EmbeddedApi.Fe310g000
-FE310G002UNIT=EmbeddedApi.Fe310g002
+FE310G000UNIT=EmbeddedApi.fe310g000
+FE310G002UNIT=EmbeddedApi.fe310g002
 FGLUNIT=System.FGL
 FGLUNIT=System.FGL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCYLIXUNIT=fpcylix
 FPCYLIXUNIT=fpcylix
 FPWIDESTRINGUNIT=System.FPWideString
 FPWIDESTRINGUNIT=System.FPWideString
 FREEBSDUNIT=FreeBSDApi.FreeBSD
 FREEBSDUNIT=FreeBSDApi.FreeBSD
-GD32VF103XXUNIT=EmbeddedApi.Gd32vf103xx
+GD32VF103XXUNIT=EmbeddedApi.gd32vf103xx
 GETOPTSUNIT=System.GetOpts
 GETOPTSUNIT=System.GetOpts
 GO32UNIT=DOSApi.GO32
 GO32UNIT=DOSApi.GO32
-GPIOUNIT=EmbeddedApi.Gpio
+GPIOUNIT=EmbeddedApi.gpio
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPTRCUNIT=heaptrc
 HEAPTRCUNIT=heaptrc
 INITCUNIT=System.InitC
 INITCUNIT=System.InitC
@@ -483,40 +483,40 @@ LIBCUNIT=NetwareLibCApi.Libc
 LINEINFOUNIT=System.LineInfo
 LINEINFOUNIT=System.LineInfo
 LINUXUNIT=LinuxApi
 LINUXUNIT=LinuxApi
 LINUXVCSUNIT=LinuxApi.Vcs
 LINUXVCSUNIT=LinuxApi.Vcs
-LM3FURYUNIT=EmbeddedApi.Lm3fury
-LM3TEMPESTUNIT=EmbeddedApi.Lm3tempest
-LM4F120UNIT=EmbeddedApi.Lm4f120
+LM3FURYUNIT=EmbeddedApi.lm3fury
+LM3TEMPESTUNIT=EmbeddedApi.lm3tempest
+LM4F120UNIT=EmbeddedApi.lm4f120
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFOGDBUNIT=System.LineInfo.Gdb
 LNFOGDBUNIT=System.LineInfo.Gdb
-LPC11XXUNIT=EmbeddedApi.Lpc11xx
-LPC122XUNIT=EmbeddedApi.Lpc122x
-LPC13XXUNIT=EmbeddedApi.Lpc13xx
-LPC1768UNIT=EmbeddedApi.Lpc1768
-LPC21X4UNIT=EmbeddedApi.Lpc21x4
-LPC8XXUNIT=EmbeddedApi.Lpc8xx
+LPC11XXUNIT=EmbeddedApi.lpc11xx
+LPC122XUNIT=EmbeddedApi.lpc122x
+LPC13XXUNIT=EmbeddedApi.lpc13xx
+LPC1768UNIT=EmbeddedApi.lpc1768
+LPC21X4UNIT=EmbeddedApi.lpc21x4
+LPC8XXUNIT=EmbeddedApi.lpc8xx
 LSTRINGSUNIT=System.LStrings
 LSTRINGSUNIT=System.LStrings
 MACOSUNIT=MacOSApi.MacOS
 MACOSUNIT=MacOSApi.MacOS
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACUTILSUNIT=MacOSApi.MacUtils
 MACUTILSUNIT=MacOSApi.MacUtils
-MAILBOXUNIT=EmbeddedApi.Mailbox
+MAILBOXUNIT=EmbeddedApi.mailbox
 MATHUNIT=System.Math
 MATHUNIT=System.Math
 MESSAGESUNIT=WinApi.Messages
 MESSAGESUNIT=WinApi.Messages
-MK20D5UNIT=EmbeddedApi.Mk20d5
-MK20D7UNIT=EmbeddedApi.Mk20d7
-MK22F51212UNIT=EmbeddedApi.Mk22f51212
-MK64F12UNIT=EmbeddedApi.Mk64f12
-MMIOUNIT=EmbeddedApi.Mmio
+MK20D5UNIT=EmbeddedApi.mk20d5
+MK20D7UNIT=EmbeddedApi.mk20d7
+MK22F51212UNIT=EmbeddedApi.mk22f51212
+MK64F12UNIT=EmbeddedApi.mk64f12
+MMIOUNIT=EmbeddedApi.mmio
 MMXUNIT=System.CPU.MMX
 MMXUNIT=System.CPU.MMX
 MONCALLSUNIT=OS2Api.moncalls
 MONCALLSUNIT=OS2Api.moncalls
 MOUCALLSUNIT=OS2Api.moucalls
 MOUCALLSUNIT=OS2Api.moucalls
 MSMOUSEUNIT=DOSApi.MSMouse
 MSMOUSEUNIT=DOSApi.MSMouse
-MULTIBOOTUNIT=EmbeddedApi.Multiboot
+MULTIBOOTUNIT=EmbeddedApi.multiboot
 NDKUNIT=NTApi.NDK
 NDKUNIT=NTApi.NDK
 NDKUTILSUNIT=NTApi.NDKUtils
 NDKUTILSUNIT=NTApi.NDKUtils
 NETWAREUNIT=NetwareApi.NetWare
 NETWAREUNIT=NetwareApi.NetWare
 NEWEXEUNIT=OS2Api.newexe
 NEWEXEUNIT=OS2Api.newexe
-NRF51UNIT=EmbeddedApi.Nrf51
-NRF52UNIT=EmbeddedApi.Nrf52
+NRF51UNIT=EmbeddedApi.nrf51
+NRF52UNIT=EmbeddedApi.nrf52
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWNITUNIT=NetWareApi.Nwnit
 NWNITUNIT=NetWareApi.Nwnit
 NWPREUNIT=NetWareApi.Nwpre
 NWPREUNIT=NetWareApi.Nwpre
@@ -542,13 +542,13 @@ PMWSOCKUNIT=OS2Api.pmwsock
 PORTSUNIT=System.Ports
 PORTSUNIT=System.Ports
 POSIXUNIT=QNXApi.Posix
 POSIXUNIT=QNXApi.Posix
 PROFILEUNIT=DOSApi.Profile
 PROFILEUNIT=DOSApi.Profile
-RASPI2UNIT=EmbeddedApi.Raspi2
-RASPI3UNIT=EmbeddedApi.Raspi3
-RASPIUARTUNIT=EmbeddedApi.Raspiuart
+RASPI2UNIT=EmbeddedApi.raspi2
+RASPI3UNIT=EmbeddedApi.raspi3
+RASPIUARTUNIT=EmbeddedApi.raspiuart
 RTLCONSTSUNIT=System.RtlConsts
 RTLCONSTSUNIT=System.RtlConsts
-SAM3X8EUNIT=EmbeddedApi.Sam3x8e
-SAMD51P19AUNIT=EmbeddedApi.Samd51p19a
-SC32442BUNIT=EmbeddedApi .Sc32442b
+SAM3X8EUNIT=EmbeddedApi.sam3x8e
+SAMD51P19AUNIT=EmbeddedApi.samd51p19a
+SC32442BUNIT=EmbeddedApi .sc32442b
 SFPU128UNIT=System.SoftFpu128
 SFPU128UNIT=System.SoftFpu128
 SFPUX80UNIT=System.SoftFpuX80
 SFPUX80UNIT=System.SoftFpuX80
 SHAREMEMUNIT=WinApi.ShareMem
 SHAREMEMUNIT=WinApi.ShareMem
@@ -556,25 +556,25 @@ SIGNALSUNIT=WinApi.Signals
 SO32DLLUNIT=OS2Api.so32dll
 SO32DLLUNIT=OS2Api.so32dll
 SOFTFPUUNIT=System.SoftFPU
 SOFTFPUUNIT=System.SoftFPU
 SORTBASEUNIT=System.SortBase
 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
+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
 STRINGSUNIT=System.Strings
 SYMBIANUNIT=SymbianApi.Symbian
 SYMBIANUNIT=SymbianApi.Symbian
 SYSALLUNIT=PalmApi.Sysall
 SYSALLUNIT=PalmApi.Sysall
@@ -610,7 +610,7 @@ WINPROCSUNIT=WinApi.WinProcs
 WINSYSUTUNIT=WinApi.WinSysUt
 WINSYSUTUNIT=WinApi.WinSysUt
 WINTYPESUNIT=WinApi.WinTypes
 WINTYPESUNIT=WinApi.WinTypes
 X86UNIT=System.X86
 X86UNIT=System.X86
-XMC4500UNIT=EmbeddedApi.Xmc4500
+XMC4500UNIT=EmbeddedApi.xmc4500
 EXEINFOUNIT=System.ExeInfo
 EXEINFOUNIT=System.ExeInfo
 ERRORSUNIT=UnixApi.Errors
 ERRORSUNIT=UnixApi.Errors
 else
 else
@@ -2290,23 +2290,23 @@ SOFTFPU_DEPS=$(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
@@ -2677,10 +2677,13 @@ BLOCKRTL_DEPS=$(INC)/blockrtl.pp \
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 	$(COMPILER) $(BLOCKRTL_OPT) $<
 	$(COMPILER) $(BLOCKRTL_OPT) $<
+ifndef WININCDIR
+  WININCDIR = $(WINDIR)/wininc
+endif
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 windows$(PPUEXT): $(WINDOWS_DEPS)
 windows$(PPUEXT): $(WINDOWS_DEPS)
-	$(COMPILER) $(WINDOWS_OPT) $<
+	$(COMPILER) -Fi$(WININC) $(WINDOWS_OPT) $<
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
@@ -2689,6 +2692,18 @@ windirs$(PPUEXT): $(WINDIRS_DEPS)
 	$(COMPILER) $(WINDIRS_OPT) $<
 	$(COMPILER) $(WINDIRS_OPT) $<
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDIRS_OPT) $<
 	$(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=$(BSDINC)/sysctl.pp $(SYSTEMUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) \
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)

+ 70 - 55
rtl/win64/Makefile

@@ -461,17 +461,17 @@ ESPIDF_40400UNIT=System.Espidf_40400
 EXEUNIT=OS2Api.exe
 EXEUNIT=OS2Api.exe
 EXEINFOUNIT=System.Exeinfo
 EXEINFOUNIT=System.Exeinfo
 EXTPASUNIT=extpas
 EXTPASUNIT=extpas
-FE310G000UNIT=EmbeddedApi.Fe310g000
-FE310G002UNIT=EmbeddedApi.Fe310g002
+FE310G000UNIT=EmbeddedApi.fe310g000
+FE310G002UNIT=EmbeddedApi.fe310g002
 FGLUNIT=System.FGL
 FGLUNIT=System.FGL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCYLIXUNIT=fpcylix
 FPCYLIXUNIT=fpcylix
 FPWIDESTRINGUNIT=System.FPWideString
 FPWIDESTRINGUNIT=System.FPWideString
 FREEBSDUNIT=FreeBSDApi.FreeBSD
 FREEBSDUNIT=FreeBSDApi.FreeBSD
-GD32VF103XXUNIT=EmbeddedApi.Gd32vf103xx
+GD32VF103XXUNIT=EmbeddedApi.gd32vf103xx
 GETOPTSUNIT=System.GetOpts
 GETOPTSUNIT=System.GetOpts
 GO32UNIT=DOSApi.GO32
 GO32UNIT=DOSApi.GO32
-GPIOUNIT=EmbeddedApi.Gpio
+GPIOUNIT=EmbeddedApi.gpio
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPTRCUNIT=heaptrc
 HEAPTRCUNIT=heaptrc
 INITCUNIT=System.InitC
 INITCUNIT=System.InitC
@@ -483,40 +483,40 @@ LIBCUNIT=NetwareLibCApi.Libc
 LINEINFOUNIT=System.LineInfo
 LINEINFOUNIT=System.LineInfo
 LINUXUNIT=LinuxApi
 LINUXUNIT=LinuxApi
 LINUXVCSUNIT=LinuxApi.Vcs
 LINUXVCSUNIT=LinuxApi.Vcs
-LM3FURYUNIT=EmbeddedApi.Lm3fury
-LM3TEMPESTUNIT=EmbeddedApi.Lm3tempest
-LM4F120UNIT=EmbeddedApi.Lm4f120
+LM3FURYUNIT=EmbeddedApi.lm3fury
+LM3TEMPESTUNIT=EmbeddedApi.lm3tempest
+LM4F120UNIT=EmbeddedApi.lm4f120
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFOGDBUNIT=System.LineInfo.Gdb
 LNFOGDBUNIT=System.LineInfo.Gdb
-LPC11XXUNIT=EmbeddedApi.Lpc11xx
-LPC122XUNIT=EmbeddedApi.Lpc122x
-LPC13XXUNIT=EmbeddedApi.Lpc13xx
-LPC1768UNIT=EmbeddedApi.Lpc1768
-LPC21X4UNIT=EmbeddedApi.Lpc21x4
-LPC8XXUNIT=EmbeddedApi.Lpc8xx
+LPC11XXUNIT=EmbeddedApi.lpc11xx
+LPC122XUNIT=EmbeddedApi.lpc122x
+LPC13XXUNIT=EmbeddedApi.lpc13xx
+LPC1768UNIT=EmbeddedApi.lpc1768
+LPC21X4UNIT=EmbeddedApi.lpc21x4
+LPC8XXUNIT=EmbeddedApi.lpc8xx
 LSTRINGSUNIT=System.LStrings
 LSTRINGSUNIT=System.LStrings
 MACOSUNIT=MacOSApi.MacOS
 MACOSUNIT=MacOSApi.MacOS
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACUTILSUNIT=MacOSApi.MacUtils
 MACUTILSUNIT=MacOSApi.MacUtils
-MAILBOXUNIT=EmbeddedApi.Mailbox
+MAILBOXUNIT=EmbeddedApi.mailbox
 MATHUNIT=System.Math
 MATHUNIT=System.Math
 MESSAGESUNIT=WinApi.Messages
 MESSAGESUNIT=WinApi.Messages
-MK20D5UNIT=EmbeddedApi.Mk20d5
-MK20D7UNIT=EmbeddedApi.Mk20d7
-MK22F51212UNIT=EmbeddedApi.Mk22f51212
-MK64F12UNIT=EmbeddedApi.Mk64f12
-MMIOUNIT=EmbeddedApi.Mmio
+MK20D5UNIT=EmbeddedApi.mk20d5
+MK20D7UNIT=EmbeddedApi.mk20d7
+MK22F51212UNIT=EmbeddedApi.mk22f51212
+MK64F12UNIT=EmbeddedApi.mk64f12
+MMIOUNIT=EmbeddedApi.mmio
 MMXUNIT=System.CPU.MMX
 MMXUNIT=System.CPU.MMX
 MONCALLSUNIT=OS2Api.moncalls
 MONCALLSUNIT=OS2Api.moncalls
 MOUCALLSUNIT=OS2Api.moucalls
 MOUCALLSUNIT=OS2Api.moucalls
 MSMOUSEUNIT=DOSApi.MSMouse
 MSMOUSEUNIT=DOSApi.MSMouse
-MULTIBOOTUNIT=EmbeddedApi.Multiboot
+MULTIBOOTUNIT=EmbeddedApi.multiboot
 NDKUNIT=NTApi.NDK
 NDKUNIT=NTApi.NDK
 NDKUTILSUNIT=NTApi.NDKUtils
 NDKUTILSUNIT=NTApi.NDKUtils
 NETWAREUNIT=NetwareApi.NetWare
 NETWAREUNIT=NetwareApi.NetWare
 NEWEXEUNIT=OS2Api.newexe
 NEWEXEUNIT=OS2Api.newexe
-NRF51UNIT=EmbeddedApi.Nrf51
-NRF52UNIT=EmbeddedApi.Nrf52
+NRF51UNIT=EmbeddedApi.nrf51
+NRF52UNIT=EmbeddedApi.nrf52
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWNITUNIT=NetWareApi.Nwnit
 NWNITUNIT=NetWareApi.Nwnit
 NWPREUNIT=NetWareApi.Nwpre
 NWPREUNIT=NetWareApi.Nwpre
@@ -542,13 +542,13 @@ PMWSOCKUNIT=OS2Api.pmwsock
 PORTSUNIT=System.Ports
 PORTSUNIT=System.Ports
 POSIXUNIT=QNXApi.Posix
 POSIXUNIT=QNXApi.Posix
 PROFILEUNIT=DOSApi.Profile
 PROFILEUNIT=DOSApi.Profile
-RASPI2UNIT=EmbeddedApi.Raspi2
-RASPI3UNIT=EmbeddedApi.Raspi3
-RASPIUARTUNIT=EmbeddedApi.Raspiuart
+RASPI2UNIT=EmbeddedApi.raspi2
+RASPI3UNIT=EmbeddedApi.raspi3
+RASPIUARTUNIT=EmbeddedApi.raspiuart
 RTLCONSTSUNIT=System.RtlConsts
 RTLCONSTSUNIT=System.RtlConsts
-SAM3X8EUNIT=EmbeddedApi.Sam3x8e
-SAMD51P19AUNIT=EmbeddedApi.Samd51p19a
-SC32442BUNIT=EmbeddedApi .Sc32442b
+SAM3X8EUNIT=EmbeddedApi.sam3x8e
+SAMD51P19AUNIT=EmbeddedApi.samd51p19a
+SC32442BUNIT=EmbeddedApi .sc32442b
 SFPU128UNIT=System.SoftFpu128
 SFPU128UNIT=System.SoftFpu128
 SFPUX80UNIT=System.SoftFpuX80
 SFPUX80UNIT=System.SoftFpuX80
 SHAREMEMUNIT=WinApi.ShareMem
 SHAREMEMUNIT=WinApi.ShareMem
@@ -556,25 +556,25 @@ SIGNALSUNIT=WinApi.Signals
 SO32DLLUNIT=OS2Api.so32dll
 SO32DLLUNIT=OS2Api.so32dll
 SOFTFPUUNIT=System.SoftFPU
 SOFTFPUUNIT=System.SoftFPU
 SORTBASEUNIT=System.SortBase
 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
+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
 STRINGSUNIT=System.Strings
 SYMBIANUNIT=SymbianApi.Symbian
 SYMBIANUNIT=SymbianApi.Symbian
 SYSALLUNIT=PalmApi.Sysall
 SYSALLUNIT=PalmApi.Sysall
@@ -610,7 +610,7 @@ WINPROCSUNIT=WinApi.WinProcs
 WINSYSUTUNIT=WinApi.WinSysUt
 WINSYSUTUNIT=WinApi.WinSysUt
 WINTYPESUNIT=WinApi.WinTypes
 WINTYPESUNIT=WinApi.WinTypes
 X86UNIT=System.X86
 X86UNIT=System.X86
-XMC4500UNIT=EmbeddedApi.Xmc4500
+XMC4500UNIT=EmbeddedApi.xmc4500
 EXEINFOUNIT=System.ExeInfo
 EXEINFOUNIT=System.ExeInfo
 ERRORSUNIT=UnixApi.Errors
 ERRORSUNIT=UnixApi.Errors
 else
 else
@@ -2311,23 +2311,23 @@ SOFTFPU_DEPS=$(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
@@ -2698,10 +2698,13 @@ BLOCKRTL_DEPS=$(INC)/blockrtl.pp \
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 	$(COMPILER) $(BLOCKRTL_OPT) $<
 	$(COMPILER) $(BLOCKRTL_OPT) $<
+ifndef WININCDIR
+  WININCDIR = $(WINDIR)/wininc
+endif
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 windows$(PPUEXT): $(WINDOWS_DEPS)
 windows$(PPUEXT): $(WINDOWS_DEPS)
-	$(COMPILER) $(WINDOWS_OPT) $<
+	$(COMPILER) -Fi$(WININC) $(WINDOWS_OPT) $<
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
@@ -2710,6 +2713,18 @@ windirs$(PPUEXT): $(WINDIRS_DEPS)
 	$(COMPILER) $(WINDIRS_OPT) $<
 	$(COMPILER) $(WINDIRS_OPT) $<
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDIRS_OPT) $<
 	$(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=$(BSDINC)/sysctl.pp $(SYSTEMUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) \
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)

+ 77 - 59
rtl/wince/Makefile

@@ -461,17 +461,17 @@ ESPIDF_40400UNIT=System.Espidf_40400
 EXEUNIT=OS2Api.exe
 EXEUNIT=OS2Api.exe
 EXEINFOUNIT=System.Exeinfo
 EXEINFOUNIT=System.Exeinfo
 EXTPASUNIT=extpas
 EXTPASUNIT=extpas
-FE310G000UNIT=EmbeddedApi.Fe310g000
-FE310G002UNIT=EmbeddedApi.Fe310g002
+FE310G000UNIT=EmbeddedApi.fe310g000
+FE310G002UNIT=EmbeddedApi.fe310g002
 FGLUNIT=System.FGL
 FGLUNIT=System.FGL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCYLIXUNIT=fpcylix
 FPCYLIXUNIT=fpcylix
 FPWIDESTRINGUNIT=System.FPWideString
 FPWIDESTRINGUNIT=System.FPWideString
 FREEBSDUNIT=FreeBSDApi.FreeBSD
 FREEBSDUNIT=FreeBSDApi.FreeBSD
-GD32VF103XXUNIT=EmbeddedApi.Gd32vf103xx
+GD32VF103XXUNIT=EmbeddedApi.gd32vf103xx
 GETOPTSUNIT=System.GetOpts
 GETOPTSUNIT=System.GetOpts
 GO32UNIT=DOSApi.GO32
 GO32UNIT=DOSApi.GO32
-GPIOUNIT=EmbeddedApi.Gpio
+GPIOUNIT=EmbeddedApi.gpio
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPTRCUNIT=heaptrc
 HEAPTRCUNIT=heaptrc
 INITCUNIT=System.InitC
 INITCUNIT=System.InitC
@@ -483,40 +483,40 @@ LIBCUNIT=NetwareLibCApi.Libc
 LINEINFOUNIT=System.LineInfo
 LINEINFOUNIT=System.LineInfo
 LINUXUNIT=LinuxApi
 LINUXUNIT=LinuxApi
 LINUXVCSUNIT=LinuxApi.Vcs
 LINUXVCSUNIT=LinuxApi.Vcs
-LM3FURYUNIT=EmbeddedApi.Lm3fury
-LM3TEMPESTUNIT=EmbeddedApi.Lm3tempest
-LM4F120UNIT=EmbeddedApi.Lm4f120
+LM3FURYUNIT=EmbeddedApi.lm3fury
+LM3TEMPESTUNIT=EmbeddedApi.lm3tempest
+LM4F120UNIT=EmbeddedApi.lm4f120
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFOGDBUNIT=System.LineInfo.Gdb
 LNFOGDBUNIT=System.LineInfo.Gdb
-LPC11XXUNIT=EmbeddedApi.Lpc11xx
-LPC122XUNIT=EmbeddedApi.Lpc122x
-LPC13XXUNIT=EmbeddedApi.Lpc13xx
-LPC1768UNIT=EmbeddedApi.Lpc1768
-LPC21X4UNIT=EmbeddedApi.Lpc21x4
-LPC8XXUNIT=EmbeddedApi.Lpc8xx
+LPC11XXUNIT=EmbeddedApi.lpc11xx
+LPC122XUNIT=EmbeddedApi.lpc122x
+LPC13XXUNIT=EmbeddedApi.lpc13xx
+LPC1768UNIT=EmbeddedApi.lpc1768
+LPC21X4UNIT=EmbeddedApi.lpc21x4
+LPC8XXUNIT=EmbeddedApi.lpc8xx
 LSTRINGSUNIT=System.LStrings
 LSTRINGSUNIT=System.LStrings
 MACOSUNIT=MacOSApi.MacOS
 MACOSUNIT=MacOSApi.MacOS
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACUTILSUNIT=MacOSApi.MacUtils
 MACUTILSUNIT=MacOSApi.MacUtils
-MAILBOXUNIT=EmbeddedApi.Mailbox
+MAILBOXUNIT=EmbeddedApi.mailbox
 MATHUNIT=System.Math
 MATHUNIT=System.Math
 MESSAGESUNIT=WinApi.Messages
 MESSAGESUNIT=WinApi.Messages
-MK20D5UNIT=EmbeddedApi.Mk20d5
-MK20D7UNIT=EmbeddedApi.Mk20d7
-MK22F51212UNIT=EmbeddedApi.Mk22f51212
-MK64F12UNIT=EmbeddedApi.Mk64f12
-MMIOUNIT=EmbeddedApi.Mmio
+MK20D5UNIT=EmbeddedApi.mk20d5
+MK20D7UNIT=EmbeddedApi.mk20d7
+MK22F51212UNIT=EmbeddedApi.mk22f51212
+MK64F12UNIT=EmbeddedApi.mk64f12
+MMIOUNIT=EmbeddedApi.mmio
 MMXUNIT=System.CPU.MMX
 MMXUNIT=System.CPU.MMX
 MONCALLSUNIT=OS2Api.moncalls
 MONCALLSUNIT=OS2Api.moncalls
 MOUCALLSUNIT=OS2Api.moucalls
 MOUCALLSUNIT=OS2Api.moucalls
 MSMOUSEUNIT=DOSApi.MSMouse
 MSMOUSEUNIT=DOSApi.MSMouse
-MULTIBOOTUNIT=EmbeddedApi.Multiboot
+MULTIBOOTUNIT=EmbeddedApi.multiboot
 NDKUNIT=NTApi.NDK
 NDKUNIT=NTApi.NDK
 NDKUTILSUNIT=NTApi.NDKUtils
 NDKUTILSUNIT=NTApi.NDKUtils
 NETWAREUNIT=NetwareApi.NetWare
 NETWAREUNIT=NetwareApi.NetWare
 NEWEXEUNIT=OS2Api.newexe
 NEWEXEUNIT=OS2Api.newexe
-NRF51UNIT=EmbeddedApi.Nrf51
-NRF52UNIT=EmbeddedApi.Nrf52
+NRF51UNIT=EmbeddedApi.nrf51
+NRF52UNIT=EmbeddedApi.nrf52
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWNITUNIT=NetWareApi.Nwnit
 NWNITUNIT=NetWareApi.Nwnit
 NWPREUNIT=NetWareApi.Nwpre
 NWPREUNIT=NetWareApi.Nwpre
@@ -542,13 +542,13 @@ PMWSOCKUNIT=OS2Api.pmwsock
 PORTSUNIT=System.Ports
 PORTSUNIT=System.Ports
 POSIXUNIT=QNXApi.Posix
 POSIXUNIT=QNXApi.Posix
 PROFILEUNIT=DOSApi.Profile
 PROFILEUNIT=DOSApi.Profile
-RASPI2UNIT=EmbeddedApi.Raspi2
-RASPI3UNIT=EmbeddedApi.Raspi3
-RASPIUARTUNIT=EmbeddedApi.Raspiuart
+RASPI2UNIT=EmbeddedApi.raspi2
+RASPI3UNIT=EmbeddedApi.raspi3
+RASPIUARTUNIT=EmbeddedApi.raspiuart
 RTLCONSTSUNIT=System.RtlConsts
 RTLCONSTSUNIT=System.RtlConsts
-SAM3X8EUNIT=EmbeddedApi.Sam3x8e
-SAMD51P19AUNIT=EmbeddedApi.Samd51p19a
-SC32442BUNIT=EmbeddedApi .Sc32442b
+SAM3X8EUNIT=EmbeddedApi.sam3x8e
+SAMD51P19AUNIT=EmbeddedApi.samd51p19a
+SC32442BUNIT=EmbeddedApi .sc32442b
 SFPU128UNIT=System.SoftFpu128
 SFPU128UNIT=System.SoftFpu128
 SFPUX80UNIT=System.SoftFpuX80
 SFPUX80UNIT=System.SoftFpuX80
 SHAREMEMUNIT=WinApi.ShareMem
 SHAREMEMUNIT=WinApi.ShareMem
@@ -556,25 +556,25 @@ SIGNALSUNIT=WinApi.Signals
 SO32DLLUNIT=OS2Api.so32dll
 SO32DLLUNIT=OS2Api.so32dll
 SOFTFPUUNIT=System.SoftFPU
 SOFTFPUUNIT=System.SoftFPU
 SORTBASEUNIT=System.SortBase
 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
+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
 STRINGSUNIT=System.Strings
 SYMBIANUNIT=SymbianApi.Symbian
 SYMBIANUNIT=SymbianApi.Symbian
 SYSALLUNIT=PalmApi.Sysall
 SYSALLUNIT=PalmApi.Sysall
@@ -610,7 +610,7 @@ WINPROCSUNIT=WinApi.WinProcs
 WINSYSUTUNIT=WinApi.WinSysUt
 WINSYSUTUNIT=WinApi.WinSysUt
 WINTYPESUNIT=WinApi.WinTypes
 WINTYPESUNIT=WinApi.WinTypes
 X86UNIT=System.X86
 X86UNIT=System.X86
-XMC4500UNIT=EmbeddedApi.Xmc4500
+XMC4500UNIT=EmbeddedApi.xmc4500
 EXEINFOUNIT=System.ExeInfo
 EXEINFOUNIT=System.ExeInfo
 ERRORSUNIT=UnixApi.Errors
 ERRORSUNIT=UnixApi.Errors
 else
 else
@@ -875,13 +875,15 @@ RTL=..
 INC=$(RTL)/inc
 INC=$(RTL)/inc
 COMMON=$(RTL)/common
 COMMON=$(RTL)/common
 PROCINC=$(RTL)/$(CPU_TARGET)
 PROCINC=$(RTL)/$(CPU_TARGET)
-WININC=./wininc
 WINDIR=../win
 WINDIR=../win
+WININC=$(WINDIR)/wininc
 UNITPREFIX=rtl
 UNITPREFIX=rtl
 SYSTEMUNIT=system
 SYSTEMUNIT=system
 PRT0=wprt0
 PRT0=wprt0
 ifeq ($(ARCH),i386)
 ifeq ($(ARCH),i386)
-CPU_UNITS=cpu mmx
+CPU_UNITS=$(CPUUNIT) $(MMXUNIT)
+CPU_DEPS_CPU=$(SYSUTILSUNIT)$(PPUEXT) 
+MMX_DEPS_CPU=$(CPUUNIT)$(PPUEXT) 
 endif
 endif
 ifdef RELEASE
 ifdef RELEASE
 override FPCOPT+=-Ur
 override FPCOPT+=-Ur
@@ -2269,23 +2271,23 @@ SOFTFPU_DEPS=$(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
@@ -2656,10 +2658,13 @@ BLOCKRTL_DEPS=$(INC)/blockrtl.pp \
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 	$(COMPILER) $(BLOCKRTL_OPT) $<
 	$(COMPILER) $(BLOCKRTL_OPT) $<
+ifndef WININCDIR
+  WININCDIR = $(WINDIR)/wininc
+endif
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 windows$(PPUEXT): $(WINDOWS_DEPS)
 windows$(PPUEXT): $(WINDOWS_DEPS)
-	$(COMPILER) $(WINDOWS_OPT) $<
+	$(COMPILER) -Fi$(WININC) $(WINDOWS_OPT) $<
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
@@ -2668,6 +2673,18 @@ windirs$(PPUEXT): $(WINDIRS_DEPS)
 	$(COMPILER) $(WINDIRS_OPT) $<
 	$(COMPILER) $(WINDIRS_OPT) $<
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDIRS_OPT) $<
 	$(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=$(BSDINC)/sysctl.pp $(SYSTEMUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) \
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)
@@ -2811,11 +2828,12 @@ OS2Api.newexe$(PPUEXT) : $(NSOS2DIR)/OS2Api.newexe.pas $(NEWEXE_DEPS)
 SYSTEMPPU=$(addsuffix $(PPUEXT),$(SYSTEMUNIT))
 SYSTEMPPU=$(addsuffix $(PPUEXT),$(SYSTEMUNIT))
 include $(INC)/makefile.inc
 include $(INC)/makefile.inc
 SYSINCDEPS=$(addprefix $(INC)/,$(SYSINCNAMES))
 SYSINCDEPS=$(addprefix $(INC)/,$(SYSINCNAMES))
+WINDIR = .
+WININC = $(WINDIR)/wininc
 include $(PROCINC)/makefile.cpu
 include $(PROCINC)/makefile.cpu
 SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
 SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
 SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS) winres.inc
 SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS) winres.inc
-$(MESSAGESUNIT)$(PPUEXT): messages.pp $(WININC)/messages.inc windows$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
-	$(COMPILER) -I$(WININC) messages.pp
+WINMESSAGESDIR=$(OSDIR)
 sharemem$(PPUEXT) : $(WINDIR)/sharemem.pp system$(PPUEXT)
 sharemem$(PPUEXT) : $(WINDIR)/sharemem.pp system$(PPUEXT)
 	$(COMPILER) $(WINDIR)/sharemem.pp
 	$(COMPILER) $(WINDIR)/sharemem.pp
 fpcmemdll.dll : $(WINDIR)/fpcmemdll.pp system$(PPUEXT)
 fpcmemdll.dll : $(WINDIR)/fpcmemdll.pp system$(PPUEXT)

+ 70 - 55
rtl/zxspectrum/Makefile

@@ -462,17 +462,17 @@ ESPIDF_40400UNIT=System.Espidf_40400
 EXEUNIT=OS2Api.exe
 EXEUNIT=OS2Api.exe
 EXEINFOUNIT=System.Exeinfo
 EXEINFOUNIT=System.Exeinfo
 EXTPASUNIT=extpas
 EXTPASUNIT=extpas
-FE310G000UNIT=EmbeddedApi.Fe310g000
-FE310G002UNIT=EmbeddedApi.Fe310g002
+FE310G000UNIT=EmbeddedApi.fe310g000
+FE310G002UNIT=EmbeddedApi.fe310g002
 FGLUNIT=System.FGL
 FGLUNIT=System.FGL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCMEMDLLUNIT=System.FPCMemDLL
 FPCYLIXUNIT=fpcylix
 FPCYLIXUNIT=fpcylix
 FPWIDESTRINGUNIT=System.FPWideString
 FPWIDESTRINGUNIT=System.FPWideString
 FREEBSDUNIT=FreeBSDApi.FreeBSD
 FREEBSDUNIT=FreeBSDApi.FreeBSD
-GD32VF103XXUNIT=EmbeddedApi.Gd32vf103xx
+GD32VF103XXUNIT=EmbeddedApi.gd32vf103xx
 GETOPTSUNIT=System.GetOpts
 GETOPTSUNIT=System.GetOpts
 GO32UNIT=DOSApi.GO32
 GO32UNIT=DOSApi.GO32
-GPIOUNIT=EmbeddedApi.Gpio
+GPIOUNIT=EmbeddedApi.gpio
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPMGRUNIT=EmbeddedApi.HeapMGR
 HEAPTRCUNIT=heaptrc
 HEAPTRCUNIT=heaptrc
 INITCUNIT=System.InitC
 INITCUNIT=System.InitC
@@ -484,40 +484,40 @@ LIBCUNIT=NetwareLibCApi.Libc
 LINEINFOUNIT=System.LineInfo
 LINEINFOUNIT=System.LineInfo
 LINUXUNIT=LinuxApi
 LINUXUNIT=LinuxApi
 LINUXVCSUNIT=LinuxApi.Vcs
 LINUXVCSUNIT=LinuxApi.Vcs
-LM3FURYUNIT=EmbeddedApi.Lm3fury
-LM3TEMPESTUNIT=EmbeddedApi.Lm3tempest
-LM4F120UNIT=EmbeddedApi.Lm4f120
+LM3FURYUNIT=EmbeddedApi.lm3fury
+LM3TEMPESTUNIT=EmbeddedApi.lm3tempest
+LM4F120UNIT=EmbeddedApi.lm4f120
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFODWRFUNIT=System.LineInfo.Dwarf
 LNFOGDBUNIT=System.LineInfo.Gdb
 LNFOGDBUNIT=System.LineInfo.Gdb
-LPC11XXUNIT=EmbeddedApi.Lpc11xx
-LPC122XUNIT=EmbeddedApi.Lpc122x
-LPC13XXUNIT=EmbeddedApi.Lpc13xx
-LPC1768UNIT=EmbeddedApi.Lpc1768
-LPC21X4UNIT=EmbeddedApi.Lpc21x4
-LPC8XXUNIT=EmbeddedApi.Lpc8xx
+LPC11XXUNIT=EmbeddedApi.lpc11xx
+LPC122XUNIT=EmbeddedApi.lpc122x
+LPC13XXUNIT=EmbeddedApi.lpc13xx
+LPC1768UNIT=EmbeddedApi.lpc1768
+LPC21X4UNIT=EmbeddedApi.lpc21x4
+LPC8XXUNIT=EmbeddedApi.lpc8xx
 LSTRINGSUNIT=System.LStrings
 LSTRINGSUNIT=System.LStrings
 MACOSUNIT=MacOSApi.MacOS
 MACOSUNIT=MacOSApi.MacOS
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACOSTPUNIT=MacOSApi.MacOSTP
 MACUTILSUNIT=MacOSApi.MacUtils
 MACUTILSUNIT=MacOSApi.MacUtils
-MAILBOXUNIT=EmbeddedApi.Mailbox
+MAILBOXUNIT=EmbeddedApi.mailbox
 MATHUNIT=System.Math
 MATHUNIT=System.Math
 MESSAGESUNIT=WinApi.Messages
 MESSAGESUNIT=WinApi.Messages
-MK20D5UNIT=EmbeddedApi.Mk20d5
-MK20D7UNIT=EmbeddedApi.Mk20d7
-MK22F51212UNIT=EmbeddedApi.Mk22f51212
-MK64F12UNIT=EmbeddedApi.Mk64f12
-MMIOUNIT=EmbeddedApi.Mmio
+MK20D5UNIT=EmbeddedApi.mk20d5
+MK20D7UNIT=EmbeddedApi.mk20d7
+MK22F51212UNIT=EmbeddedApi.mk22f51212
+MK64F12UNIT=EmbeddedApi.mk64f12
+MMIOUNIT=EmbeddedApi.mmio
 MMXUNIT=System.CPU.MMX
 MMXUNIT=System.CPU.MMX
 MONCALLSUNIT=OS2Api.moncalls
 MONCALLSUNIT=OS2Api.moncalls
 MOUCALLSUNIT=OS2Api.moucalls
 MOUCALLSUNIT=OS2Api.moucalls
 MSMOUSEUNIT=DOSApi.MSMouse
 MSMOUSEUNIT=DOSApi.MSMouse
-MULTIBOOTUNIT=EmbeddedApi.Multiboot
+MULTIBOOTUNIT=EmbeddedApi.multiboot
 NDKUNIT=NTApi.NDK
 NDKUNIT=NTApi.NDK
 NDKUTILSUNIT=NTApi.NDKUtils
 NDKUTILSUNIT=NTApi.NDKUtils
 NETWAREUNIT=NetwareApi.NetWare
 NETWAREUNIT=NetwareApi.NetWare
 NEWEXEUNIT=OS2Api.newexe
 NEWEXEUNIT=OS2Api.newexe
-NRF51UNIT=EmbeddedApi.Nrf51
-NRF52UNIT=EmbeddedApi.Nrf52
+NRF51UNIT=EmbeddedApi.nrf51
+NRF52UNIT=EmbeddedApi.nrf52
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWCALLSUNIT=NetWareApi.Nwcalls
 NWNITUNIT=NetWareApi.Nwnit
 NWNITUNIT=NetWareApi.Nwnit
 NWPREUNIT=NetWareApi.Nwpre
 NWPREUNIT=NetWareApi.Nwpre
@@ -543,13 +543,13 @@ PMWSOCKUNIT=OS2Api.pmwsock
 PORTSUNIT=System.Ports
 PORTSUNIT=System.Ports
 POSIXUNIT=QNXApi.Posix
 POSIXUNIT=QNXApi.Posix
 PROFILEUNIT=DOSApi.Profile
 PROFILEUNIT=DOSApi.Profile
-RASPI2UNIT=EmbeddedApi.Raspi2
-RASPI3UNIT=EmbeddedApi.Raspi3
-RASPIUARTUNIT=EmbeddedApi.Raspiuart
+RASPI2UNIT=EmbeddedApi.raspi2
+RASPI3UNIT=EmbeddedApi.raspi3
+RASPIUARTUNIT=EmbeddedApi.raspiuart
 RTLCONSTSUNIT=System.RtlConsts
 RTLCONSTSUNIT=System.RtlConsts
-SAM3X8EUNIT=EmbeddedApi.Sam3x8e
-SAMD51P19AUNIT=EmbeddedApi.Samd51p19a
-SC32442BUNIT=EmbeddedApi .Sc32442b
+SAM3X8EUNIT=EmbeddedApi.sam3x8e
+SAMD51P19AUNIT=EmbeddedApi.samd51p19a
+SC32442BUNIT=EmbeddedApi .sc32442b
 SFPU128UNIT=System.SoftFpu128
 SFPU128UNIT=System.SoftFpu128
 SFPUX80UNIT=System.SoftFpuX80
 SFPUX80UNIT=System.SoftFpuX80
 SHAREMEMUNIT=WinApi.ShareMem
 SHAREMEMUNIT=WinApi.ShareMem
@@ -557,25 +557,25 @@ SIGNALSUNIT=WinApi.Signals
 SO32DLLUNIT=OS2Api.so32dll
 SO32DLLUNIT=OS2Api.so32dll
 SOFTFPUUNIT=System.SoftFPU
 SOFTFPUUNIT=System.SoftFPU
 SORTBASEUNIT=System.SortBase
 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
+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
 STRINGSUNIT=System.Strings
 SYMBIANUNIT=SymbianApi.Symbian
 SYMBIANUNIT=SymbianApi.Symbian
 SYSALLUNIT=PalmApi.Sysall
 SYSALLUNIT=PalmApi.Sysall
@@ -611,7 +611,7 @@ WINPROCSUNIT=WinApi.WinProcs
 WINSYSUTUNIT=WinApi.WinSysUt
 WINSYSUTUNIT=WinApi.WinSysUt
 WINTYPESUNIT=WinApi.WinTypes
 WINTYPESUNIT=WinApi.WinTypes
 X86UNIT=System.X86
 X86UNIT=System.X86
-XMC4500UNIT=EmbeddedApi.Xmc4500
+XMC4500UNIT=EmbeddedApi.xmc4500
 EXEINFOUNIT=System.ExeInfo
 EXEINFOUNIT=System.ExeInfo
 ERRORSUNIT=UnixApi.Errors
 ERRORSUNIT=UnixApi.Errors
 else
 else
@@ -2243,23 +2243,23 @@ SOFTFPU_DEPS=$(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
 softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
 System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
-	$(COMPILER) $(SOFTFPU_OPT) $<
+	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
-	$(COMPILER) $(SFPUX80_OPT) $<
+	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 	     $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
 sfpu128$(PPUEXT) : $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
 System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
-	$(COMPILER) $(SFPUX128_OPT) $<
+	$(COMPILER) -Sg $(SFPUX128_OPT) $<
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
 	       $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
@@ -2630,10 +2630,13 @@ BLOCKRTL_DEPS=$(INC)/blockrtl.pp \
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 	      $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 	$(COMPILER) $(BLOCKRTL_OPT) $<
 	$(COMPILER) $(BLOCKRTL_OPT) $<
+ifndef WININCDIR
+  WININCDIR = $(WINDIR)/wininc
+endif
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 	     $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
 windows$(PPUEXT): $(WINDOWS_DEPS)
 windows$(PPUEXT): $(WINDOWS_DEPS)
-	$(COMPILER) $(WINDOWS_OPT) $<
+	$(COMPILER) -Fi$(WININC) $(WINDOWS_OPT) $<
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
@@ -2642,6 +2645,18 @@ windirs$(PPUEXT): $(WINDIRS_DEPS)
 	$(COMPILER) $(WINDIRS_OPT) $<
 	$(COMPILER) $(WINDIRS_OPT) $<
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
 	$(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDIRS_OPT) $<
 	$(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=$(BSDINC)/sysctl.pp $(SYSTEMUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) \
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 	    $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)
 sysctl$(PPUEXT) : $(SYSCTL_DEPS)