瀏覽代碼

+ buildrtl unit for win64

git-svn-id: trunk@6528 -
florian 18 年之前
父節點
當前提交
614f4894a3
共有 6 個文件被更改,包括 236 次插入297 次删除
  1. 1 0
      .gitattributes
  2. 1 1
      rtl/win32/Makefile
  3. 1 1
      rtl/win32/Makefile.fpc
  4. 207 132
      rtl/win64/Makefile
  5. 8 163
      rtl/win64/Makefile.fpc
  6. 18 0
      rtl/win64/buildrtl.pp

+ 1 - 0
.gitattributes

@@ -5381,6 +5381,7 @@ rtl/win32/winsysut.pp svneol=native#text/plain
 rtl/win32/wprt0.as -text
 rtl/win64/Makefile svneol=native#text/plain
 rtl/win64/Makefile.fpc svneol=native#text/plain
+rtl/win64/buildrtl.pp svneol=native#text/plain
 rtl/win64/classes.pp svneol=native#text/plain
 rtl/win64/system.pp svneol=native#text/plain
 rtl/win64/windows.pp svneol=native#text/plain

+ 1 - 1
rtl/win32/Makefile

@@ -1,5 +1,5 @@
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2007/02/05]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2007/02/16]
 #
 default: all
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-win64 x86_64-embedded arm-linux arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian powerpc64-linux powerpc64-embedded

+ 1 - 1
rtl/win32/Makefile.fpc

@@ -98,7 +98,7 @@ wdllprt0$(OEXT) : wdllprt0.as
 wcygprt0$(OEXT) : wcygprt0.as
 
 #
-# System Units (System, Objpas, Strings)
+# Unit specific rules
 #
 
 system$(PPUEXT) : system.pp $(SYSDEPS)

+ 207 - 132
rtl/win64/Makefile

@@ -1,5 +1,5 @@
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2007/01/25]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2007/02/16]
 #
 default: all
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-win64 x86_64-embedded arm-linux arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian powerpc64-linux powerpc64-embedded
@@ -246,157 +246,310 @@ endif
 OBJPASDIR=$(RTL)/objpas
 WINDOWS_SOURCE_FILES=$(addprefix $(WININC)/,$(addsuffix .inc,$(WINDOWS_FILES)))
 ifeq ($(FULL_TARGET),i386-linux)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo lnfodwrf heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts sockets printer charset ucomplex fmtbcd winevent video mouse keyboard dynlibs crt messages sharemem
+override TARGET_UNITS+=system objpas macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),i386-go32v2)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo lnfodwrf heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts sockets printer charset ucomplex fmtbcd winevent video mouse keyboard dynlibs crt messages sharemem
+override TARGET_UNITS+=system objpas macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),i386-win32)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo lnfodwrf heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts sockets printer charset ucomplex fmtbcd winevent video mouse keyboard dynlibs crt messages sharemem
+override TARGET_UNITS+=system objpas macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),i386-os2)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo lnfodwrf heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts sockets printer charset ucomplex fmtbcd winevent video mouse keyboard dynlibs crt messages sharemem
+override TARGET_UNITS+=system objpas macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),i386-freebsd)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo lnfodwrf heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts sockets printer charset ucomplex fmtbcd winevent video mouse keyboard dynlibs crt messages sharemem
+override TARGET_UNITS+=system objpas macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),i386-beos)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo lnfodwrf heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts sockets printer charset ucomplex fmtbcd winevent video mouse keyboard dynlibs crt messages sharemem
+override TARGET_UNITS+=system objpas macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),i386-netbsd)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo lnfodwrf heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts sockets printer charset ucomplex fmtbcd winevent video mouse keyboard dynlibs crt messages sharemem
+override TARGET_UNITS+=system objpas macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),i386-solaris)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo lnfodwrf heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts sockets printer charset ucomplex fmtbcd winevent video mouse keyboard dynlibs crt messages sharemem
+override TARGET_UNITS+=system objpas macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),i386-qnx)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo lnfodwrf heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts sockets printer charset ucomplex fmtbcd winevent video mouse keyboard dynlibs crt messages sharemem
+override TARGET_UNITS+=system objpas macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),i386-netware)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo lnfodwrf heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts sockets printer charset ucomplex fmtbcd winevent video mouse keyboard dynlibs crt messages sharemem
+override TARGET_UNITS+=system objpas macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),i386-openbsd)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo lnfodwrf heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts sockets printer charset ucomplex fmtbcd winevent video mouse keyboard dynlibs crt messages sharemem
+override TARGET_UNITS+=system objpas macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),i386-wdosx)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo lnfodwrf heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts sockets printer charset ucomplex fmtbcd winevent video mouse keyboard dynlibs crt messages sharemem
+override TARGET_UNITS+=system objpas macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),i386-darwin)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo lnfodwrf heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts sockets printer charset ucomplex fmtbcd winevent video mouse keyboard dynlibs crt messages sharemem
+override TARGET_UNITS+=system objpas macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),i386-emx)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo lnfodwrf heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts sockets printer charset ucomplex fmtbcd winevent video mouse keyboard dynlibs crt messages sharemem
+override TARGET_UNITS+=system objpas macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),i386-watcom)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo lnfodwrf heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts sockets printer charset ucomplex fmtbcd winevent video mouse keyboard dynlibs crt messages sharemem
+override TARGET_UNITS+=system objpas macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),i386-netwlibc)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo lnfodwrf heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts sockets printer charset ucomplex fmtbcd winevent video mouse keyboard dynlibs crt messages sharemem
+override TARGET_UNITS+=system objpas macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),i386-wince)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo lnfodwrf heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts sockets printer charset ucomplex fmtbcd winevent video mouse keyboard dynlibs crt messages sharemem
+override TARGET_UNITS+=system objpas macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),i386-embedded)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo lnfodwrf heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts sockets printer charset ucomplex fmtbcd winevent video mouse keyboard dynlibs crt messages sharemem
+override TARGET_UNITS+=system objpas macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),i386-symbian)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo lnfodwrf heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts sockets printer charset ucomplex fmtbcd winevent video mouse keyboard dynlibs crt messages sharemem
+override TARGET_UNITS+=system objpas macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),m68k-linux)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo lnfodwrf heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts sockets printer charset ucomplex fmtbcd winevent video mouse keyboard dynlibs crt messages sharemem
+override TARGET_UNITS+=system objpas macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),m68k-freebsd)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo lnfodwrf heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts sockets printer charset ucomplex fmtbcd winevent video mouse keyboard dynlibs crt messages sharemem
+override TARGET_UNITS+=system objpas macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),m68k-netbsd)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo lnfodwrf heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts sockets printer charset ucomplex fmtbcd winevent video mouse keyboard dynlibs crt messages sharemem
+override TARGET_UNITS+=system objpas macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),m68k-amiga)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo lnfodwrf heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts sockets printer charset ucomplex fmtbcd winevent video mouse keyboard dynlibs crt messages sharemem
+override TARGET_UNITS+=system objpas macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),m68k-atari)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo lnfodwrf heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts sockets printer charset ucomplex fmtbcd winevent video mouse keyboard dynlibs crt messages sharemem
+override TARGET_UNITS+=system objpas macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),m68k-openbsd)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo lnfodwrf heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts sockets printer charset ucomplex fmtbcd winevent video mouse keyboard dynlibs crt messages sharemem
+override TARGET_UNITS+=system objpas macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),m68k-palmos)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo lnfodwrf heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts sockets printer charset ucomplex fmtbcd winevent video mouse keyboard dynlibs crt messages sharemem
+override TARGET_UNITS+=system objpas macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),m68k-embedded)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo lnfodwrf heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts sockets printer charset ucomplex fmtbcd winevent video mouse keyboard dynlibs crt messages sharemem
+override TARGET_UNITS+=system objpas macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),powerpc-linux)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo lnfodwrf heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts sockets printer charset ucomplex fmtbcd winevent video mouse keyboard dynlibs crt messages sharemem
+override TARGET_UNITS+=system objpas macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),powerpc-netbsd)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo lnfodwrf heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts sockets printer charset ucomplex fmtbcd winevent video mouse keyboard dynlibs crt messages sharemem
+override TARGET_UNITS+=system objpas macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),powerpc-amiga)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo lnfodwrf heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts sockets printer charset ucomplex fmtbcd winevent video mouse keyboard dynlibs crt messages sharemem
+override TARGET_UNITS+=system objpas macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),powerpc-macos)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo lnfodwrf heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts sockets printer charset ucomplex fmtbcd winevent video mouse keyboard dynlibs crt messages sharemem
+override TARGET_UNITS+=system objpas macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),powerpc-darwin)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo lnfodwrf heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts sockets printer charset ucomplex fmtbcd winevent video mouse keyboard dynlibs crt messages sharemem
+override TARGET_UNITS+=system objpas macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),powerpc-morphos)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo lnfodwrf heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts sockets printer charset ucomplex fmtbcd winevent video mouse keyboard dynlibs crt messages sharemem
+override TARGET_UNITS+=system objpas macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),powerpc-embedded)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo lnfodwrf heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts sockets printer charset ucomplex fmtbcd winevent video mouse keyboard dynlibs crt messages sharemem
+override TARGET_UNITS+=system objpas macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),sparc-linux)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo lnfodwrf heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts sockets printer charset ucomplex fmtbcd winevent video mouse keyboard dynlibs crt messages sharemem
+override TARGET_UNITS+=system objpas macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),sparc-netbsd)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo lnfodwrf heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts sockets printer charset ucomplex fmtbcd winevent video mouse keyboard dynlibs crt messages sharemem
+override TARGET_UNITS+=system objpas macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),sparc-solaris)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo lnfodwrf heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts sockets printer charset ucomplex fmtbcd winevent video mouse keyboard dynlibs crt messages sharemem
+override TARGET_UNITS+=system objpas macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),sparc-embedded)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo lnfodwrf heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts sockets printer charset ucomplex fmtbcd winevent video mouse keyboard dynlibs crt messages sharemem
+override TARGET_UNITS+=system objpas macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),x86_64-linux)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo lnfodwrf heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts sockets printer charset ucomplex fmtbcd winevent video mouse keyboard dynlibs crt messages sharemem
+override TARGET_UNITS+=system objpas macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),x86_64-freebsd)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo lnfodwrf heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts sockets printer charset ucomplex fmtbcd winevent video mouse keyboard dynlibs crt messages sharemem
+override TARGET_UNITS+=system objpas macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),x86_64-win64)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo lnfodwrf heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts sockets printer charset ucomplex fmtbcd winevent video mouse keyboard dynlibs crt messages sharemem
+override TARGET_UNITS+=system objpas macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),x86_64-embedded)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo lnfodwrf heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts sockets printer charset ucomplex fmtbcd winevent video mouse keyboard dynlibs crt messages sharemem
+override TARGET_UNITS+=system objpas macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),arm-linux)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo lnfodwrf heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts sockets printer charset ucomplex fmtbcd winevent video mouse keyboard dynlibs crt messages sharemem
+override TARGET_UNITS+=system objpas macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),arm-palmos)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo lnfodwrf heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts sockets printer charset ucomplex fmtbcd winevent video mouse keyboard dynlibs crt messages sharemem
+override TARGET_UNITS+=system objpas macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),arm-wince)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo lnfodwrf heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts sockets printer charset ucomplex fmtbcd winevent video mouse keyboard dynlibs crt messages sharemem
+override TARGET_UNITS+=system objpas macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),arm-gba)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo lnfodwrf heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts sockets printer charset ucomplex fmtbcd winevent video mouse keyboard dynlibs crt messages sharemem
+override TARGET_UNITS+=system objpas macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),arm-nds)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo lnfodwrf heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts sockets printer charset ucomplex fmtbcd winevent video mouse keyboard dynlibs crt messages sharemem
+override TARGET_UNITS+=system objpas macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),arm-embedded)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo lnfodwrf heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts sockets printer charset ucomplex fmtbcd winevent video mouse keyboard dynlibs crt messages sharemem
+override TARGET_UNITS+=system objpas macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),arm-symbian)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo lnfodwrf heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts sockets printer charset ucomplex fmtbcd winevent video mouse keyboard dynlibs crt messages sharemem
+override TARGET_UNITS+=system objpas macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),powerpc64-linux)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo lnfodwrf heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts sockets printer charset ucomplex fmtbcd winevent video mouse keyboard dynlibs crt messages sharemem
+override TARGET_UNITS+=system objpas macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),powerpc64-embedded)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo lnfodwrf heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts sockets printer charset ucomplex fmtbcd winevent video mouse keyboard dynlibs crt messages sharemem
+override TARGET_UNITS+=system objpas macpas buildrtl
+endif
+ifeq ($(FULL_TARGET),i386-linux)
+override TARGET_IMPLICITUNITS+=ctypes strings lineinfo lnfodwrf heaptrc matrix dos crt objects messages windows winsock winsock2 cmem dynlibs rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts convutils stdconvs sockets printer charset ucomplex fmtbcd winevent video mouse keyboard sharemem
+endif
+ifeq ($(FULL_TARGET),i386-go32v2)
+override TARGET_IMPLICITUNITS+=ctypes strings lineinfo lnfodwrf heaptrc matrix dos crt objects messages windows winsock winsock2 cmem dynlibs rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts convutils stdconvs sockets printer charset ucomplex fmtbcd winevent video mouse keyboard sharemem
+endif
+ifeq ($(FULL_TARGET),i386-win32)
+override TARGET_IMPLICITUNITS+=ctypes strings lineinfo lnfodwrf heaptrc matrix dos crt objects messages windows winsock winsock2 cmem dynlibs rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts convutils stdconvs sockets printer charset ucomplex fmtbcd winevent video mouse keyboard sharemem
+endif
+ifeq ($(FULL_TARGET),i386-os2)
+override TARGET_IMPLICITUNITS+=ctypes strings lineinfo lnfodwrf heaptrc matrix dos crt objects messages windows winsock winsock2 cmem dynlibs rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts convutils stdconvs sockets printer charset ucomplex fmtbcd winevent video mouse keyboard sharemem
+endif
+ifeq ($(FULL_TARGET),i386-freebsd)
+override TARGET_IMPLICITUNITS+=ctypes strings lineinfo lnfodwrf heaptrc matrix dos crt objects messages windows winsock winsock2 cmem dynlibs rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts convutils stdconvs sockets printer charset ucomplex fmtbcd winevent video mouse keyboard sharemem
+endif
+ifeq ($(FULL_TARGET),i386-beos)
+override TARGET_IMPLICITUNITS+=ctypes strings lineinfo lnfodwrf heaptrc matrix dos crt objects messages windows winsock winsock2 cmem dynlibs rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts convutils stdconvs sockets printer charset ucomplex fmtbcd winevent video mouse keyboard sharemem
+endif
+ifeq ($(FULL_TARGET),i386-netbsd)
+override TARGET_IMPLICITUNITS+=ctypes strings lineinfo lnfodwrf heaptrc matrix dos crt objects messages windows winsock winsock2 cmem dynlibs rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts convutils stdconvs sockets printer charset ucomplex fmtbcd winevent video mouse keyboard sharemem
+endif
+ifeq ($(FULL_TARGET),i386-solaris)
+override TARGET_IMPLICITUNITS+=ctypes strings lineinfo lnfodwrf heaptrc matrix dos crt objects messages windows winsock winsock2 cmem dynlibs rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts convutils stdconvs sockets printer charset ucomplex fmtbcd winevent video mouse keyboard sharemem
+endif
+ifeq ($(FULL_TARGET),i386-qnx)
+override TARGET_IMPLICITUNITS+=ctypes strings lineinfo lnfodwrf heaptrc matrix dos crt objects messages windows winsock winsock2 cmem dynlibs rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts convutils stdconvs sockets printer charset ucomplex fmtbcd winevent video mouse keyboard sharemem
+endif
+ifeq ($(FULL_TARGET),i386-netware)
+override TARGET_IMPLICITUNITS+=ctypes strings lineinfo lnfodwrf heaptrc matrix dos crt objects messages windows winsock winsock2 cmem dynlibs rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts convutils stdconvs sockets printer charset ucomplex fmtbcd winevent video mouse keyboard sharemem
+endif
+ifeq ($(FULL_TARGET),i386-openbsd)
+override TARGET_IMPLICITUNITS+=ctypes strings lineinfo lnfodwrf heaptrc matrix dos crt objects messages windows winsock winsock2 cmem dynlibs rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts convutils stdconvs sockets printer charset ucomplex fmtbcd winevent video mouse keyboard sharemem
+endif
+ifeq ($(FULL_TARGET),i386-wdosx)
+override TARGET_IMPLICITUNITS+=ctypes strings lineinfo lnfodwrf heaptrc matrix dos crt objects messages windows winsock winsock2 cmem dynlibs rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts convutils stdconvs sockets printer charset ucomplex fmtbcd winevent video mouse keyboard sharemem
+endif
+ifeq ($(FULL_TARGET),i386-darwin)
+override TARGET_IMPLICITUNITS+=ctypes strings lineinfo lnfodwrf heaptrc matrix dos crt objects messages windows winsock winsock2 cmem dynlibs rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts convutils stdconvs sockets printer charset ucomplex fmtbcd winevent video mouse keyboard sharemem
+endif
+ifeq ($(FULL_TARGET),i386-emx)
+override TARGET_IMPLICITUNITS+=ctypes strings lineinfo lnfodwrf heaptrc matrix dos crt objects messages windows winsock winsock2 cmem dynlibs rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts convutils stdconvs sockets printer charset ucomplex fmtbcd winevent video mouse keyboard sharemem
+endif
+ifeq ($(FULL_TARGET),i386-watcom)
+override TARGET_IMPLICITUNITS+=ctypes strings lineinfo lnfodwrf heaptrc matrix dos crt objects messages windows winsock winsock2 cmem dynlibs rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts convutils stdconvs sockets printer charset ucomplex fmtbcd winevent video mouse keyboard sharemem
+endif
+ifeq ($(FULL_TARGET),i386-netwlibc)
+override TARGET_IMPLICITUNITS+=ctypes strings lineinfo lnfodwrf heaptrc matrix dos crt objects messages windows winsock winsock2 cmem dynlibs rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts convutils stdconvs sockets printer charset ucomplex fmtbcd winevent video mouse keyboard sharemem
+endif
+ifeq ($(FULL_TARGET),i386-wince)
+override TARGET_IMPLICITUNITS+=ctypes strings lineinfo lnfodwrf heaptrc matrix dos crt objects messages windows winsock winsock2 cmem dynlibs rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts convutils stdconvs sockets printer charset ucomplex fmtbcd winevent video mouse keyboard sharemem
+endif
+ifeq ($(FULL_TARGET),i386-embedded)
+override TARGET_IMPLICITUNITS+=ctypes strings lineinfo lnfodwrf heaptrc matrix dos crt objects messages windows winsock winsock2 cmem dynlibs rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts convutils stdconvs sockets printer charset ucomplex fmtbcd winevent video mouse keyboard sharemem
+endif
+ifeq ($(FULL_TARGET),i386-symbian)
+override TARGET_IMPLICITUNITS+=ctypes strings lineinfo lnfodwrf heaptrc matrix dos crt objects messages windows winsock winsock2 cmem dynlibs rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts convutils stdconvs sockets printer charset ucomplex fmtbcd winevent video mouse keyboard sharemem
+endif
+ifeq ($(FULL_TARGET),m68k-linux)
+override TARGET_IMPLICITUNITS+=ctypes strings lineinfo lnfodwrf heaptrc matrix dos crt objects messages windows winsock winsock2 cmem dynlibs rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts convutils stdconvs sockets printer charset ucomplex fmtbcd winevent video mouse keyboard sharemem
+endif
+ifeq ($(FULL_TARGET),m68k-freebsd)
+override TARGET_IMPLICITUNITS+=ctypes strings lineinfo lnfodwrf heaptrc matrix dos crt objects messages windows winsock winsock2 cmem dynlibs rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts convutils stdconvs sockets printer charset ucomplex fmtbcd winevent video mouse keyboard sharemem
+endif
+ifeq ($(FULL_TARGET),m68k-netbsd)
+override TARGET_IMPLICITUNITS+=ctypes strings lineinfo lnfodwrf heaptrc matrix dos crt objects messages windows winsock winsock2 cmem dynlibs rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts convutils stdconvs sockets printer charset ucomplex fmtbcd winevent video mouse keyboard sharemem
+endif
+ifeq ($(FULL_TARGET),m68k-amiga)
+override TARGET_IMPLICITUNITS+=ctypes strings lineinfo lnfodwrf heaptrc matrix dos crt objects messages windows winsock winsock2 cmem dynlibs rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts convutils stdconvs sockets printer charset ucomplex fmtbcd winevent video mouse keyboard sharemem
+endif
+ifeq ($(FULL_TARGET),m68k-atari)
+override TARGET_IMPLICITUNITS+=ctypes strings lineinfo lnfodwrf heaptrc matrix dos crt objects messages windows winsock winsock2 cmem dynlibs rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts convutils stdconvs sockets printer charset ucomplex fmtbcd winevent video mouse keyboard sharemem
+endif
+ifeq ($(FULL_TARGET),m68k-openbsd)
+override TARGET_IMPLICITUNITS+=ctypes strings lineinfo lnfodwrf heaptrc matrix dos crt objects messages windows winsock winsock2 cmem dynlibs rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts convutils stdconvs sockets printer charset ucomplex fmtbcd winevent video mouse keyboard sharemem
+endif
+ifeq ($(FULL_TARGET),m68k-palmos)
+override TARGET_IMPLICITUNITS+=ctypes strings lineinfo lnfodwrf heaptrc matrix dos crt objects messages windows winsock winsock2 cmem dynlibs rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts convutils stdconvs sockets printer charset ucomplex fmtbcd winevent video mouse keyboard sharemem
+endif
+ifeq ($(FULL_TARGET),m68k-embedded)
+override TARGET_IMPLICITUNITS+=ctypes strings lineinfo lnfodwrf heaptrc matrix dos crt objects messages windows winsock winsock2 cmem dynlibs rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts convutils stdconvs sockets printer charset ucomplex fmtbcd winevent video mouse keyboard sharemem
+endif
+ifeq ($(FULL_TARGET),powerpc-linux)
+override TARGET_IMPLICITUNITS+=ctypes strings lineinfo lnfodwrf heaptrc matrix dos crt objects messages windows winsock winsock2 cmem dynlibs rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts convutils stdconvs sockets printer charset ucomplex fmtbcd winevent video mouse keyboard sharemem
+endif
+ifeq ($(FULL_TARGET),powerpc-netbsd)
+override TARGET_IMPLICITUNITS+=ctypes strings lineinfo lnfodwrf heaptrc matrix dos crt objects messages windows winsock winsock2 cmem dynlibs rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts convutils stdconvs sockets printer charset ucomplex fmtbcd winevent video mouse keyboard sharemem
+endif
+ifeq ($(FULL_TARGET),powerpc-amiga)
+override TARGET_IMPLICITUNITS+=ctypes strings lineinfo lnfodwrf heaptrc matrix dos crt objects messages windows winsock winsock2 cmem dynlibs rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts convutils stdconvs sockets printer charset ucomplex fmtbcd winevent video mouse keyboard sharemem
+endif
+ifeq ($(FULL_TARGET),powerpc-macos)
+override TARGET_IMPLICITUNITS+=ctypes strings lineinfo lnfodwrf heaptrc matrix dos crt objects messages windows winsock winsock2 cmem dynlibs rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts convutils stdconvs sockets printer charset ucomplex fmtbcd winevent video mouse keyboard sharemem
+endif
+ifeq ($(FULL_TARGET),powerpc-darwin)
+override TARGET_IMPLICITUNITS+=ctypes strings lineinfo lnfodwrf heaptrc matrix dos crt objects messages windows winsock winsock2 cmem dynlibs rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts convutils stdconvs sockets printer charset ucomplex fmtbcd winevent video mouse keyboard sharemem
+endif
+ifeq ($(FULL_TARGET),powerpc-morphos)
+override TARGET_IMPLICITUNITS+=ctypes strings lineinfo lnfodwrf heaptrc matrix dos crt objects messages windows winsock winsock2 cmem dynlibs rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts convutils stdconvs sockets printer charset ucomplex fmtbcd winevent video mouse keyboard sharemem
+endif
+ifeq ($(FULL_TARGET),powerpc-embedded)
+override TARGET_IMPLICITUNITS+=ctypes strings lineinfo lnfodwrf heaptrc matrix dos crt objects messages windows winsock winsock2 cmem dynlibs rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts convutils stdconvs sockets printer charset ucomplex fmtbcd winevent video mouse keyboard sharemem
+endif
+ifeq ($(FULL_TARGET),sparc-linux)
+override TARGET_IMPLICITUNITS+=ctypes strings lineinfo lnfodwrf heaptrc matrix dos crt objects messages windows winsock winsock2 cmem dynlibs rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts convutils stdconvs sockets printer charset ucomplex fmtbcd winevent video mouse keyboard sharemem
+endif
+ifeq ($(FULL_TARGET),sparc-netbsd)
+override TARGET_IMPLICITUNITS+=ctypes strings lineinfo lnfodwrf heaptrc matrix dos crt objects messages windows winsock winsock2 cmem dynlibs rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts convutils stdconvs sockets printer charset ucomplex fmtbcd winevent video mouse keyboard sharemem
+endif
+ifeq ($(FULL_TARGET),sparc-solaris)
+override TARGET_IMPLICITUNITS+=ctypes strings lineinfo lnfodwrf heaptrc matrix dos crt objects messages windows winsock winsock2 cmem dynlibs rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts convutils stdconvs sockets printer charset ucomplex fmtbcd winevent video mouse keyboard sharemem
+endif
+ifeq ($(FULL_TARGET),sparc-embedded)
+override TARGET_IMPLICITUNITS+=ctypes strings lineinfo lnfodwrf heaptrc matrix dos crt objects messages windows winsock winsock2 cmem dynlibs rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts convutils stdconvs sockets printer charset ucomplex fmtbcd winevent video mouse keyboard sharemem
+endif
+ifeq ($(FULL_TARGET),x86_64-linux)
+override TARGET_IMPLICITUNITS+=ctypes strings lineinfo lnfodwrf heaptrc matrix dos crt objects messages windows winsock winsock2 cmem dynlibs rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts convutils stdconvs sockets printer charset ucomplex fmtbcd winevent video mouse keyboard sharemem
+endif
+ifeq ($(FULL_TARGET),x86_64-freebsd)
+override TARGET_IMPLICITUNITS+=ctypes strings lineinfo lnfodwrf heaptrc matrix dos crt objects messages windows winsock winsock2 cmem dynlibs rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts convutils stdconvs sockets printer charset ucomplex fmtbcd winevent video mouse keyboard sharemem
+endif
+ifeq ($(FULL_TARGET),x86_64-win64)
+override TARGET_IMPLICITUNITS+=ctypes strings lineinfo lnfodwrf heaptrc matrix dos crt objects messages windows winsock winsock2 cmem dynlibs rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts convutils stdconvs sockets printer charset ucomplex fmtbcd winevent video mouse keyboard sharemem
+endif
+ifeq ($(FULL_TARGET),x86_64-embedded)
+override TARGET_IMPLICITUNITS+=ctypes strings lineinfo lnfodwrf heaptrc matrix dos crt objects messages windows winsock winsock2 cmem dynlibs rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts convutils stdconvs sockets printer charset ucomplex fmtbcd winevent video mouse keyboard sharemem
+endif
+ifeq ($(FULL_TARGET),arm-linux)
+override TARGET_IMPLICITUNITS+=ctypes strings lineinfo lnfodwrf heaptrc matrix dos crt objects messages windows winsock winsock2 cmem dynlibs rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts convutils stdconvs sockets printer charset ucomplex fmtbcd winevent video mouse keyboard sharemem
+endif
+ifeq ($(FULL_TARGET),arm-palmos)
+override TARGET_IMPLICITUNITS+=ctypes strings lineinfo lnfodwrf heaptrc matrix dos crt objects messages windows winsock winsock2 cmem dynlibs rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts convutils stdconvs sockets printer charset ucomplex fmtbcd winevent video mouse keyboard sharemem
+endif
+ifeq ($(FULL_TARGET),arm-wince)
+override TARGET_IMPLICITUNITS+=ctypes strings lineinfo lnfodwrf heaptrc matrix dos crt objects messages windows winsock winsock2 cmem dynlibs rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts convutils stdconvs sockets printer charset ucomplex fmtbcd winevent video mouse keyboard sharemem
+endif
+ifeq ($(FULL_TARGET),arm-gba)
+override TARGET_IMPLICITUNITS+=ctypes strings lineinfo lnfodwrf heaptrc matrix dos crt objects messages windows winsock winsock2 cmem dynlibs rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts convutils stdconvs sockets printer charset ucomplex fmtbcd winevent video mouse keyboard sharemem
+endif
+ifeq ($(FULL_TARGET),arm-nds)
+override TARGET_IMPLICITUNITS+=ctypes strings lineinfo lnfodwrf heaptrc matrix dos crt objects messages windows winsock winsock2 cmem dynlibs rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts convutils stdconvs sockets printer charset ucomplex fmtbcd winevent video mouse keyboard sharemem
+endif
+ifeq ($(FULL_TARGET),arm-embedded)
+override TARGET_IMPLICITUNITS+=ctypes strings lineinfo lnfodwrf heaptrc matrix dos crt objects messages windows winsock winsock2 cmem dynlibs rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts convutils stdconvs sockets printer charset ucomplex fmtbcd winevent video mouse keyboard sharemem
+endif
+ifeq ($(FULL_TARGET),arm-symbian)
+override TARGET_IMPLICITUNITS+=ctypes strings lineinfo lnfodwrf heaptrc matrix dos crt objects messages windows winsock winsock2 cmem dynlibs rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts convutils stdconvs sockets printer charset ucomplex fmtbcd winevent video mouse keyboard sharemem
+endif
+ifeq ($(FULL_TARGET),powerpc64-linux)
+override TARGET_IMPLICITUNITS+=ctypes strings lineinfo lnfodwrf heaptrc matrix dos crt objects messages windows winsock winsock2 cmem dynlibs rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts convutils stdconvs sockets printer charset ucomplex fmtbcd winevent video mouse keyboard sharemem
+endif
+ifeq ($(FULL_TARGET),powerpc64-embedded)
+override TARGET_IMPLICITUNITS+=ctypes strings lineinfo lnfodwrf heaptrc matrix dos crt objects messages windows winsock winsock2 cmem dynlibs rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo fgl classes getopts convutils stdconvs sockets printer charset ucomplex fmtbcd winevent video mouse keyboard sharemem
 endif
 ifeq ($(FULL_TARGET),i386-linux)
 override TARGET_LOADERS+=$(LOADERS)
@@ -2294,89 +2447,11 @@ SYSINCDEPS=$(addprefix $(INC)/,$(SYSINCNAMES))
 include $(PROCINC)/makefile.cpu
 SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
 SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS)
-wprt0$(OEXT) : wprt0.as
-gprt0$(OEXT) : gprt0.as
-wdllprt0$(OEXT) : wdllprt0.as
-wcygprt0$(OEXT) : wcygprt0.as
 system$(PPUEXT) : system.pp $(SYSDEPS)
 	$(COMPILER) -Us -Sg system.pp -Fi../win
 objpas$(PPUEXT): $(OBJPASDIR)/objpas.pp $(INC)/except.inc system$(PPUEXT)
 	$(COMPILER) -I$(OBJPASDIR) $(OBJPASDIR)/objpas.pp
-strings$(PPUEXT) : $(INC)/strings.pp $(INC)/stringsi.inc \
-		   $(PROCINC)/strings.inc $(PROCINC)/stringss.inc \
-		   system$(PPUEXT)
-windows$(PPUEXT) : windows.pp $(WINDOWS_SOURCE_FILES) system$(PPUEXT)
-	$(COMPILER) -I$(WININC) windows.pp
-messages$(PPUEXT): $(WINDIR)/messages.pp $(WININC)/messages.inc system$(PPUEXT)
-	$(COMPILER) -I$(WININC) $(WINDIR)/messages.pp
-opengl32$(PPUEXT) : opengl32.pp windows$(PPUEXT) system$(PPUEXT)
-winsock$(PPUEXT) : $(WINDIR)/winsock.pp windows$(PPUEXT) system$(PPUEXT)
-winsock2$(PPUEXT) : $(WINDIR)/winsock2.pp windows$(PPUEXT) system$(PPUEXT)
-sockets$(PPUEXT) : $(WINDIR)/sockets.pp windows$(PPUEXT) winsock$(PPUEXT) system$(PPUEXT) \
-		   $(INC)/sockets.inc $(INC)/socketsh.inc
-dynlibs$(PPUEXT) : $(INC)/dynlibs.pp windows$(PPUEXT)
-	$(COMPILER) -I$(WINDIR) $(INC)/dynlibs.pp
-dos$(PPUEXT) : $(WINDIR)/dos.pp $(INC)/filerec.inc $(INC)/textrec.inc strings$(PPUEXT) system$(PPUEXT)
-	$(COMPILER) $(WINDIR)/dos.pp
-crt$(PPUEXT) : $(WINDIR)/crt.pp $(INC)/textrec.inc system$(PPUEXT) objpas$(PPUEXT) dos$(PPUEXT) windows$(PPUEXT)
-objects$(PPUEXT) : $(INC)/objects.pp dos$(PPUEXT) strings$(PPUEXT) system$(PPUEXT)
-printer$(PPUEXT) : $(WINDIR)/printer.pp system$(PPUEXT)
-sysutils$(PPUEXT) : $(WINDIR)/sysutils.pp $(wildcard $(OBJPASDIR)/sysutils/*.inc) \
-		    objpas$(PPUEXT) dos$(PPUEXT) windows$(PPUEXT) sysconst$(PPUEXT) system$(PPUEXT)
-	$(COMPILER) -Fi$(OBJPASDIR)/sysutils $(WINDIR)/sysutils.pp
-classes$(PPUEXT) : classes.pp $(wildcard $(OBJPASDIR)/classes/*.inc) \
-		   sysutils$(PPUEXT) typinfo$(PPUEXT) rtlconsts$(PPUEXT) \
-		   sysconst$(PPUEXT) system$(PPUEXT) fgl$(PPUEXT)
-	$(COMPILER) -Fi../win -Fi$(OBJPASDIR)/classes classes.pp
-fgl$(PPUEXT) : $(OBJPASDIR)/fgl.pp objpas$(PPUEXT) types$(PPUEXT) system$(PPUEXT) sysutils$(PPUEXT)
-	$(COMPILER) $(OBJPASDIR)/fgl.pp
-winsysut$(PPUEXT) : winsysut.pp sysutils$(PPUEXT) system$(PPUEXT)
-typinfo$(PPUEXT): $(OBJPASDIR)/typinfo.pp objpas$(PPUEXT) system$(PPUEXT)
-	$(COMPILER) -Sg $(OBJPASDIR)/typinfo.pp
-math$(PPUEXT): $(OBJPASDIR)/math.pp objpas$(PPUEXT) sysutils$(PPUEXT) system$(PPUEXT)
-	$(COMPILER) $(OBJPASDIR)/math.pp
-varutils$(PPUEXT) : $(OBJPASDIR)/cvarutil.inc $(OBJPASDIR)/varutils.inc \
-		    $(OBJPASDIR)/varutilh.inc $(WINDIR)/varutils.pp sysutils$(PPUEXT)
-	$(COMPILER) -Fi$(OBJPASDIR) $(WINDIR)/varutils.pp
-variants$(PPUEXT) : $(INC)/variants.pp varutils$(PPUEXT) sysutils$(PPUEXT) sysconst$(PPUEXT) typinfo$(PPUEXT) rtlconsts$(PPUEXT) system$(PPUEXT)
-	$(COMPILER) -Fi$(INC) $(INC)/variants.pp
-fmtbcd$(PPUEXT) : $(OBJPASDIR)/fmtbcd.pp objpas$(PPUEXT) sysutils$(PPUEXT) variants$(PPUEXT) classes$(PPUEXT) system$(PPUEXT)
-	$(COMPILER) $(OBJPASDIR)/fmtbcd.pp
-types$(PPUEXT) : $(OBJPASDIR)/types.pp objpas$(PPUEXT) system$(PPUEXT)
-	$(COMPILER) $(OBJPASDIR)/types.pp
-rtlconsts$(PPUEXT) : objpas$(PPUEXT) $(OBJPASDIR)/rtlconsts.pp
-	$(COMPILER) $(OBJPASDIR)/rtlconsts.pp
-sysconst$(PPUEXT) : $(OBJPASDIR)/sysconst.pp objpas$(PPUEXT) system$(PPUEXT)
-	$(COMPILER) $(OBJPASDIR)/sysconst.pp
-dateutils$(PPUEXT) : $(OBJPASDIR)/dateutils.pp system$(PPUEXT)
-	$(COMPILER) -I$(OBJPASDIR) $(OBJPASDIR)/dateutils.pp
-convutils$(PPUEXT) : $(OBJPASDIR)/convutils.pp system$(PPUEXT)
-	$(COMPILER) -I$(OBJPASDIR) $(OBJPASDIR)/convutils.pp
-strutils$(PPUEXT) : $(OBJPASDIR)/strutils.pp system$(PPUEXT)
-	$(COMPILER) -I$(OBJPASDIR) $(OBJPASDIR)/strutils.pp
 macpas$(PPUEXT) : $(INC)/macpas.pp system$(PPUEXT)
 	$(COMPILER) $(INC)/macpas.pp $(REDIR)
-cpu$(PPUEXT) : $(PROCINC)/cpu.pp system$(PPUEXT)
-mmx$(PPUEXT) : $(PROCINC)/mmx.pp cpu$(PPUEXT) system$(PPUEXT)
-getopts$(PPUEXT) : $(INC)/getopts.pp system$(PPUEXT)
-heaptrc$(PPUEXT) : $(INC)/heaptrc.pp system$(PPUEXT)
-	$(COMPILER) -Sg $(INC)/heaptrc.pp
-lineinfo$(PPUEXT) : $(INC)/lineinfo.pp system$(PPUEXT)
-lnfodwrf$(PPUEXT) : $(INC)/lnfodwrf.pp system$(PPUEXT)
-charset$(PPUEXT) : $(INC)/charset.pp system$(PPUEXT)
-cmem$(PPUEXT) : $(INC)/cmem.pp system$(PPUEXT)
-ucomplex$(PPUEXT) : $(INC)/ucomplex.pp math$(PPUEXT) system$(PPUEXT)
-callspec$(PPUEXT) : $(INC)/callspec.pp system$(PPUEXT)
-ctypes$(PPUEXT) :  $(INC)/ctypes.pp system$(PPUEXT)
-	$(COMPILER) $(INC)/ctypes.pp -Fi../win
-variants$(PPUEXT) : $(INC)/variants.pp varutils$(PPUEXT) typinfo$(PPUEXT) system$(PPUEXT)
-winevent$(PPUEXT) : $(WINDIR)/winevent.pp windows$(PPUEXT) system$(PPUEXT)
-	$(COMPILER) $(WINDIR)/winevent.pp
-video$(PPUEXT) : $(WINDIR)/video.pp windows$(PPUEXT) dos$(PPUEXT) system$(PPUEXT)
-	$(COMPILER) $(WINDIR)/video.pp
-mouse$(PPUEXT) : $(WINDIR)/mouse.pp windows$(PPUEXT) dos$(PPUEXT) winevent$(PPUEXT) system$(PPUEXT)
-	$(COMPILER) $(WINDIR)/mouse.pp
-keyboard$(PPUEXT) : $(WINDIR)/keyboard.pp windows$(PPUEXT) dos$(PPUEXT) winevent$(PPUEXT) system$(PPUEXT)
-	$(COMPILER) $(WINDIR)/keyboard.pp
-sharemem$(PPUEXT) : $(WINDIR)/sharemem.pp system$(PPUEXT)
-fpcmemdll.dll : $(WINDIR)/fpcmemdll.pp system$(PPUEXT)
+buildrtl$(PPUEXT): buildrtl.pp system$(PPUEXT) objpas$(PPUEXT) macpas$(PPUEXT)
+	$(COMPILER) -Fi$(OBJPASDIR)/sysutils -Fi$(OBJPASDIR)/classes -Fu$(PROCINC) -I$(WINDIR) -I$(OBJPASDIR) -I$(WININC) -Fu$(WININC) -Fu$(WINDIR) -I$(INC) -Fu$(INC) -Fu$(OBJPASDIR) buildrtl

+ 8 - 163
rtl/win64/Makefile.fpc

@@ -7,16 +7,16 @@ main=rtl
 
 [target]
 loaders=$(LOADERS)
-units=system ctypes objpas macpas strings \
+units=system objpas macpas buildrtl
+implicitunits=ctypes strings \
       lineinfo lnfodwrf heaptrc matrix \
-      dos objects \
-      windows winsock winsock2 cmem \
+      dos crt objects messages \
+      windows winsock winsock2 cmem dynlibs \
       rtlconsts sysconst sysutils math types \
       strutils convutils dateutils \
       varutils variants typinfo fgl classes getopts \
-      sockets printer charset ucomplex fmtbcd \
+      convutils stdconvs sockets printer charset ucomplex fmtbcd \
       winevent video mouse keyboard \
-      dynlibs crt messages \
       sharemem
 #      fpcmemdll
 #     winsysut signals
@@ -89,19 +89,7 @@ SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS)
 
 
 #
-# Loaders
-#
-
-wprt0$(OEXT) : wprt0.as
-
-gprt0$(OEXT) : gprt0.as
-
-wdllprt0$(OEXT) : wdllprt0.as
-
-wcygprt0$(OEXT) : wcygprt0.as
-
-#
-# System Units (System, Objpas, Strings)
+# Unit specific rules
 #
 
 system$(PPUEXT) : system.pp $(SYSDEPS)
@@ -110,152 +98,9 @@ system$(PPUEXT) : system.pp $(SYSDEPS)
 objpas$(PPUEXT): $(OBJPASDIR)/objpas.pp $(INC)/except.inc system$(PPUEXT)
         $(COMPILER) -I$(OBJPASDIR) $(OBJPASDIR)/objpas.pp
 
-strings$(PPUEXT) : $(INC)/strings.pp $(INC)/stringsi.inc \
-                   $(PROCINC)/strings.inc $(PROCINC)/stringss.inc \
-                   system$(PPUEXT)
-
-#
-# System Dependent Units
-#
-
-windows$(PPUEXT) : windows.pp $(WINDOWS_SOURCE_FILES) system$(PPUEXT)
-        $(COMPILER) -I$(WININC) windows.pp
-
-messages$(PPUEXT): $(WINDIR)/messages.pp $(WININC)/messages.inc system$(PPUEXT)
-        $(COMPILER) -I$(WININC) $(WINDIR)/messages.pp
-
-opengl32$(PPUEXT) : opengl32.pp windows$(PPUEXT) system$(PPUEXT)
-
-winsock$(PPUEXT) : $(WINDIR)/winsock.pp windows$(PPUEXT) system$(PPUEXT)
-
-winsock2$(PPUEXT) : $(WINDIR)/winsock2.pp windows$(PPUEXT) system$(PPUEXT)
-
-sockets$(PPUEXT) : $(WINDIR)/sockets.pp windows$(PPUEXT) winsock$(PPUEXT) system$(PPUEXT) \
-                   $(INC)/sockets.inc $(INC)/socketsh.inc
-
-# initc$(PPUEXT) : initc.pp system$(PPUEXT)
-
-dynlibs$(PPUEXT) : $(INC)/dynlibs.pp windows$(PPUEXT)
-	$(COMPILER) -I$(WINDIR) $(INC)/dynlibs.pp
-
-#
-# TP7 Compatible RTL Units
-#
-
-dos$(PPUEXT) : $(WINDIR)/dos.pp $(INC)/filerec.inc $(INC)/textrec.inc strings$(PPUEXT) system$(PPUEXT)
-        $(COMPILER) $(WINDIR)/dos.pp
-
-crt$(PPUEXT) : $(WINDIR)/crt.pp $(INC)/textrec.inc system$(PPUEXT) objpas$(PPUEXT) dos$(PPUEXT) windows$(PPUEXT)
-
-objects$(PPUEXT) : $(INC)/objects.pp dos$(PPUEXT) strings$(PPUEXT) system$(PPUEXT)
-
-printer$(PPUEXT) : $(WINDIR)/printer.pp system$(PPUEXT)
-
-#
-# Delphi Compatible Units
-#
-
-sysutils$(PPUEXT) : $(WINDIR)/sysutils.pp $(wildcard $(OBJPASDIR)/sysutils/*.inc) \
-                    objpas$(PPUEXT) dos$(PPUEXT) windows$(PPUEXT) sysconst$(PPUEXT) system$(PPUEXT)
-        $(COMPILER) -Fi$(OBJPASDIR)/sysutils $(WINDIR)/sysutils.pp
-
-classes$(PPUEXT) : classes.pp $(wildcard $(OBJPASDIR)/classes/*.inc) \
-                   sysutils$(PPUEXT) typinfo$(PPUEXT) rtlconsts$(PPUEXT) \
-		   sysconst$(PPUEXT) system$(PPUEXT) fgl$(PPUEXT)
-        $(COMPILER) -Fi../win -Fi$(OBJPASDIR)/classes classes.pp
-
-fgl$(PPUEXT) : $(OBJPASDIR)/fgl.pp objpas$(PPUEXT) types$(PPUEXT) system$(PPUEXT) sysutils$(PPUEXT)
-        $(COMPILER) $(OBJPASDIR)/fgl.pp
-
-winsysut$(PPUEXT) : winsysut.pp sysutils$(PPUEXT) system$(PPUEXT)
-
-typinfo$(PPUEXT): $(OBJPASDIR)/typinfo.pp objpas$(PPUEXT) system$(PPUEXT)
-        $(COMPILER) -Sg $(OBJPASDIR)/typinfo.pp
-
-math$(PPUEXT): $(OBJPASDIR)/math.pp objpas$(PPUEXT) sysutils$(PPUEXT) system$(PPUEXT)
-        $(COMPILER) $(OBJPASDIR)/math.pp
-
-varutils$(PPUEXT) : $(OBJPASDIR)/cvarutil.inc $(OBJPASDIR)/varutils.inc \
-                    $(OBJPASDIR)/varutilh.inc $(WINDIR)/varutils.pp sysutils$(PPUEXT)
-        $(COMPILER) -Fi$(OBJPASDIR) $(WINDIR)/varutils.pp
-
-variants$(PPUEXT) : $(INC)/variants.pp varutils$(PPUEXT) sysutils$(PPUEXT) sysconst$(PPUEXT) typinfo$(PPUEXT) rtlconsts$(PPUEXT) system$(PPUEXT)
-        $(COMPILER) -Fi$(INC) $(INC)/variants.pp
-
-fmtbcd$(PPUEXT) : $(OBJPASDIR)/fmtbcd.pp objpas$(PPUEXT) sysutils$(PPUEXT) variants$(PPUEXT) classes$(PPUEXT) system$(PPUEXT)
-        $(COMPILER) $(OBJPASDIR)/fmtbcd.pp
-
-types$(PPUEXT) : $(OBJPASDIR)/types.pp objpas$(PPUEXT) system$(PPUEXT)
-        $(COMPILER) $(OBJPASDIR)/types.pp
-
-rtlconsts$(PPUEXT) : objpas$(PPUEXT) $(OBJPASDIR)/rtlconsts.pp
-        $(COMPILER) $(OBJPASDIR)/rtlconsts.pp
-
-sysconst$(PPUEXT) : $(OBJPASDIR)/sysconst.pp objpas$(PPUEXT) system$(PPUEXT)
-        $(COMPILER) $(OBJPASDIR)/sysconst.pp
-
-dateutils$(PPUEXT) : $(OBJPASDIR)/dateutils.pp system$(PPUEXT)
-        $(COMPILER) -I$(OBJPASDIR) $(OBJPASDIR)/dateutils.pp
-
-convutils$(PPUEXT) : $(OBJPASDIR)/convutils.pp system$(PPUEXT)
-        $(COMPILER) -I$(OBJPASDIR) $(OBJPASDIR)/convutils.pp
-
-strutils$(PPUEXT) : $(OBJPASDIR)/strutils.pp system$(PPUEXT)
-        $(COMPILER) -I$(OBJPASDIR) $(OBJPASDIR)/strutils.pp
-
-#
-# Mac Pascal Model
-#
-
 macpas$(PPUEXT) : $(INC)/macpas.pp system$(PPUEXT)
         $(COMPILER) $(INC)/macpas.pp $(REDIR)
 
-#
-# Other system-independent RTL Units
-#
-
-cpu$(PPUEXT) : $(PROCINC)/cpu.pp system$(PPUEXT)
-
-mmx$(PPUEXT) : $(PROCINC)/mmx.pp cpu$(PPUEXT) system$(PPUEXT)
-
-getopts$(PPUEXT) : $(INC)/getopts.pp system$(PPUEXT)
-
-heaptrc$(PPUEXT) : $(INC)/heaptrc.pp system$(PPUEXT)
-        $(COMPILER) -Sg $(INC)/heaptrc.pp
-
-lineinfo$(PPUEXT) : $(INC)/lineinfo.pp system$(PPUEXT)
-
-lnfodwrf$(PPUEXT) : $(INC)/lnfodwrf.pp system$(PPUEXT)
-
-charset$(PPUEXT) : $(INC)/charset.pp system$(PPUEXT)
-
-cmem$(PPUEXT) : $(INC)/cmem.pp system$(PPUEXT)
-
-ucomplex$(PPUEXT) : $(INC)/ucomplex.pp math$(PPUEXT) system$(PPUEXT)
-
-#
-# Other system-dependent RTL Units
-#
-
-callspec$(PPUEXT) : $(INC)/callspec.pp system$(PPUEXT)
-
-ctypes$(PPUEXT) :  $(INC)/ctypes.pp system$(PPUEXT)
-        $(COMPILER) $(INC)/ctypes.pp -Fi../win
-
-variants$(PPUEXT) : $(INC)/variants.pp varutils$(PPUEXT) typinfo$(PPUEXT) system$(PPUEXT)
-
-winevent$(PPUEXT) : $(WINDIR)/winevent.pp windows$(PPUEXT) system$(PPUEXT)
-        $(COMPILER) $(WINDIR)/winevent.pp
-
-video$(PPUEXT) : $(WINDIR)/video.pp windows$(PPUEXT) dos$(PPUEXT) system$(PPUEXT)
-        $(COMPILER) $(WINDIR)/video.pp
-
-mouse$(PPUEXT) : $(WINDIR)/mouse.pp windows$(PPUEXT) dos$(PPUEXT) winevent$(PPUEXT) system$(PPUEXT)
-        $(COMPILER) $(WINDIR)/mouse.pp
-
-keyboard$(PPUEXT) : $(WINDIR)/keyboard.pp windows$(PPUEXT) dos$(PPUEXT) winevent$(PPUEXT) system$(PPUEXT)
-        $(COMPILER) $(WINDIR)/keyboard.pp
-
-sharemem$(PPUEXT) : $(WINDIR)/sharemem.pp system$(PPUEXT)
+buildrtl$(PPUEXT): buildrtl.pp system$(PPUEXT) objpas$(PPUEXT) macpas$(PPUEXT)
+        $(COMPILER) -Fi$(OBJPASDIR)/sysutils -Fi$(OBJPASDIR)/classes -Fu$(PROCINC) -I$(WINDIR) -I$(OBJPASDIR) -I$(WININC) -Fu$(WININC) -Fu$(WINDIR) -I$(INC) -Fu$(INC) -Fu$(OBJPASDIR) buildrtl
 
-fpcmemdll.dll : $(WINDIR)/fpcmemdll.pp system$(PPUEXT)

+ 18 - 0
rtl/win64/buildrtl.pp

@@ -0,0 +1,18 @@
+unit buildrtl;
+
+  interface
+
+    uses
+      ctypes, strings,
+      lineinfo, lnfodwrf, heaptrc, matrix,
+      windows, winsock, winsock2, cmem, dynlibs,
+      dos, crt, objects, messages,
+      rtlconsts, sysconst, sysutils, math, types,
+      strutils, dateutils, varutils, variants, typinfo, fgl, classes,
+      convutils, stdconvs, charset, ucomplex, getopts,
+      winevent, sockets, printer,
+      video, mouse, keyboard, fmtbcd;
+
+  implementation
+
+end.