Browse Source

Regenerate Makefile's after system rule changes

Pierre Muller 1 year ago
parent
commit
ca0fbc1de6

+ 4 - 3
rtl/aix/Makefile

@@ -2204,6 +2204,9 @@ endif
 ifndef NSSYSUTILSDIR
 ifndef NSSYSUTILSDIR
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 endif
 endif
+ifndef SYSTEMDIR
+SYSTEMDIR=$(OSDIR)
+endif
 ifndef CLASSESDIR
 ifndef CLASSESDIR
 CLASSESDIR=$(OSDIR)
 CLASSESDIR=$(OSDIR)
 endif
 endif
@@ -2251,7 +2254,7 @@ OBJC_OPT:=$(OBJC_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 endif
 endif
-$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
+$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMDIR)/$(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 	    $(SYSTEMUNIT)$(PPUEXT) \
 	    $(SYSTEMUNIT)$(PPUEXT) \
@@ -2918,5 +2921,3 @@ SYSINCDEPS=$(addprefix $(INC)/,$(SYSINCNAMES))
 include $(PROCINC)/makefile.cpu
 include $(PROCINC)/makefile.cpu
 SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
 SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
 SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS)
 SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS)
-$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMUNIT).pp $(SYSDEPS)
-	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $(SYSTEMUNIT).pp

+ 5 - 2
rtl/amiga/Makefile

@@ -2231,6 +2231,9 @@ endif
 ifndef NSSYSUTILSDIR
 ifndef NSSYSUTILSDIR
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 endif
 endif
+ifndef SYSTEMDIR
+SYSTEMDIR=$(OSDIR)
+endif
 ifndef CLASSESDIR
 ifndef CLASSESDIR
 CLASSESDIR=$(OSDIR)
 CLASSESDIR=$(OSDIR)
 endif
 endif
@@ -2278,7 +2281,7 @@ OBJC_OPT:=$(OBJC_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 endif
 endif
-$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
+$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMDIR)/$(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 	    $(SYSTEMUNIT)$(PPUEXT) \
 	    $(SYSTEMUNIT)$(PPUEXT) \
@@ -2950,7 +2953,7 @@ prt0$(OEXT) : $(CPU_TARGET)/prt0.as
 ifdef FPC_DOTTEDUNITS
 ifdef FPC_DOTTEDUNITS
 BUILDRTL_OPT:=$(BUILDRTL_OPT) -Fu$(NSINC) -Fu$(NSOSDIR) -dFPC_DOTTEDUNITS 
 BUILDRTL_OPT:=$(BUILDRTL_OPT) -Fu$(NSINC) -Fu$(NSOSDIR) -dFPC_DOTTEDUNITS 
 endif
 endif
-buildrtl$(PPUEXT): buildrtl.pp system$(PPUEXT) $(OBJPASUNIT)$(PPUEXT) $(HEAPTRCUNIT)$(PPUEXT)
+buildrtl$(PPUEXT): buildrtl.pp $(SYSTEMUNIT)$(PPUEXT) $(OBJPASUNIT)$(PPUEXT) $(HEAPTRCUNIT)$(PPUEXT)
 	$(COMPILER) -Fi$(OBJPASDIR)/sysutils -Fi$(OBJPASDIR)/classes -Fu$(CPU_TARGET) -Fu$(PROCINC) -Fu$(AMIINC) -I$(INC) -Fu$(INC) -Fu$(OBJPASDIR) $(BUILDRTL_OPT) buildrtl
 	$(COMPILER) -Fi$(OBJPASDIR)/sysutils -Fi$(OBJPASDIR)/classes -Fu$(CPU_TARGET) -Fu$(PROCINC) -Fu$(AMIINC) -I$(INC) -Fu$(INC) -Fu$(OBJPASDIR) $(BUILDRTL_OPT) buildrtl
 $(RESUNIT)$(PPUEXT) : $(INC)/$(RESUNIT).pp $(SYSTEMUNIT)$(PPUEXT)
 $(RESUNIT)$(PPUEXT) : $(INC)/$(RESUNIT).pp $(SYSTEMUNIT)$(PPUEXT)
 	$(COMPILER) -Sg $(INC)/$(RESUNIT).pp
 	$(COMPILER) -Sg $(INC)/$(RESUNIT).pp

+ 5 - 3
rtl/android/Makefile

@@ -895,6 +895,7 @@ DL_DEPS_OS=dlandroid.inc
 TERMIODIR=$(LINUXINC)
 TERMIODIR=$(LINUXINC)
 PTHREADINCDIR=$(LINUXINC)
 PTHREADINCDIR=$(LINUXINC)
 PTYPESINCDIR=$(LINUXINC)
 PTYPESINCDIR=$(LINUXINC)
+SYSTEMDIR = $(LINUXINC)
 SYSCALL_DEPS_OS=$(LINUXINC)/$(ARCH)/syscallh.inc $(LINUXINC)/$(ARCH)/sysnr.inc
 SYSCALL_DEPS_OS=$(LINUXINC)/$(ARCH)/syscallh.inc $(LINUXINC)/$(ARCH)/sysnr.inc
 SYSUTILS_DEPS_OS=$(DLUNIT)$(PPUEXT) $(UNIXUNIT)$(PPUEXT) $(ERRORSUNIT)$(PPUEXT)
 SYSUTILS_DEPS_OS=$(DLUNIT)$(PPUEXT) $(UNIXUNIT)$(PPUEXT) $(ERRORSUNIT)$(PPUEXT)
 SYSUTILSDIR=$(UNIXINC)
 SYSUTILSDIR=$(UNIXINC)
@@ -2352,6 +2353,9 @@ endif
 ifndef NSSYSUTILSDIR
 ifndef NSSYSUTILSDIR
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 endif
 endif
+ifndef SYSTEMDIR
+SYSTEMDIR=$(OSDIR)
+endif
 ifndef CLASSESDIR
 ifndef CLASSESDIR
 CLASSESDIR=$(OSDIR)
 CLASSESDIR=$(OSDIR)
 endif
 endif
@@ -2399,7 +2403,7 @@ OBJC_OPT:=$(OBJC_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 endif
 endif
-$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
+$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMDIR)/$(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 	    $(SYSTEMUNIT)$(PPUEXT) \
 	    $(SYSTEMUNIT)$(PPUEXT) \
@@ -3082,5 +3086,3 @@ prt0$(OEXT) : prt0.as
 	$(AS) $(ASTARGET) -o $(UNITTARGETDIRPREFIX)prt0$(OEXT) --defsym CPU$(CPUBITS)=1 prt0.as
 	$(AS) $(ASTARGET) -o $(UNITTARGETDIRPREFIX)prt0$(OEXT) --defsym CPU$(CPUBITS)=1 prt0.as
 dllprt0$(OEXT) : dllprt0.as
 dllprt0$(OEXT) : dllprt0.as
 	$(AS) $(ASTARGET) -o $(UNITTARGETDIRPREFIX)dllprt0$(OEXT) --defsym CPU$(CPUBITS)=1 dllprt0.as
 	$(AS) $(ASTARGET) -o $(UNITTARGETDIRPREFIX)dllprt0$(OEXT) --defsym CPU$(CPUBITS)=1 dllprt0.as
-$(SYSTEMUNIT)$(PPUEXT) : $(LINUXINC)/$(SYSTEMUNIT).pp $(SYSDEPS)
-	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $(LINUXINC)/$(SYSTEMUNIT).pp

+ 5 - 2
rtl/aros/Makefile

@@ -2246,6 +2246,9 @@ endif
 ifndef NSSYSUTILSDIR
 ifndef NSSYSUTILSDIR
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 endif
 endif
+ifndef SYSTEMDIR
+SYSTEMDIR=$(OSDIR)
+endif
 ifndef CLASSESDIR
 ifndef CLASSESDIR
 CLASSESDIR=$(OSDIR)
 CLASSESDIR=$(OSDIR)
 endif
 endif
@@ -2293,7 +2296,7 @@ OBJC_OPT:=$(OBJC_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 endif
 endif
-$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
+$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMDIR)/$(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 	    $(SYSTEMUNIT)$(PPUEXT) \
 	    $(SYSTEMUNIT)$(PPUEXT) \
@@ -2962,5 +2965,5 @@ SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
 SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS)
 SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS)
 prt0$(OEXT) : $(CPU_TARGET)/prt0.as
 prt0$(OEXT) : $(CPU_TARGET)/prt0.as
 	$(AS) -o $(UNITTARGETDIRPREFIX)prt0$(OEXT) $(CPU_TARGET)/prt0.as
 	$(AS) -o $(UNITTARGETDIRPREFIX)prt0$(OEXT) $(CPU_TARGET)/prt0.as
-buildrtl$(PPUEXT): buildrtl.pp system$(PPUEXT) $(OBJPASUNIT)$(PPUEXT) $(HEAPTRCUNIT)$(PPUEXT)
+buildrtl$(PPUEXT): buildrtl.pp $(SYSTEMUNIT)$(PPUEXT) $(OBJPASUNIT)$(PPUEXT) $(HEAPTRCUNIT)$(PPUEXT)
 	$(COMPILER) -Fi$(OBJPASDIR)/sysutils -Fi$(OBJPASDIR)/classes -Fu$(PROCINC) -Fu$(AMIINC) -I$(INC) -Fu$(INC) -Fu$(OBJPASDIR) buildrtl
 	$(COMPILER) -Fi$(OBJPASDIR)/sysutils -Fi$(OBJPASDIR)/classes -Fu$(PROCINC) -Fu$(AMIINC) -I$(INC) -Fu$(INC) -Fu$(OBJPASDIR) buildrtl

+ 5 - 2
rtl/atari/Makefile

@@ -2201,6 +2201,9 @@ endif
 ifndef NSSYSUTILSDIR
 ifndef NSSYSUTILSDIR
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 endif
 endif
+ifndef SYSTEMDIR
+SYSTEMDIR=$(OSDIR)
+endif
 ifndef CLASSESDIR
 ifndef CLASSESDIR
 CLASSESDIR=$(OSDIR)
 CLASSESDIR=$(OSDIR)
 endif
 endif
@@ -2248,7 +2251,7 @@ OBJC_OPT:=$(OBJC_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 endif
 endif
-$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
+$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMDIR)/$(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 	    $(SYSTEMUNIT)$(PPUEXT) \
 	    $(SYSTEMUNIT)$(PPUEXT) \
@@ -2915,5 +2918,5 @@ SYSINCDEPS=$(addprefix $(INC)/,$(SYSINCNAMES))
 include $(PROCINC)/makefile.cpu
 include $(PROCINC)/makefile.cpu
 SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
 SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
 SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS)
 SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS)
-buildrtl$(PPUEXT): buildrtl.pp system$(PPUEXT) $(OBJPASUNIT)$(PPUEXT) $(HEAPTRCUNIT)$(PPUEXT)
+buildrtl$(PPUEXT): buildrtl.pp $(SYSTEMUNIT)$(PPUEXT) $(OBJPASUNIT)$(PPUEXT) $(HEAPTRCUNIT)$(PPUEXT)
 	$(COMPILER) -Fi$(OBJPASDIR)/sysutils -Fi$(OBJPASDIR)/classes -Fu$(CPU_TARGET) -Fu$(PROCINC) -Fu$(AMIINC) -I$(INC) -Fu$(INC) -Fu$(OBJPASDIR) buildrtl
 	$(COMPILER) -Fi$(OBJPASDIR)/sysutils -Fi$(OBJPASDIR)/classes -Fu$(CPU_TARGET) -Fu$(PROCINC) -Fu$(AMIINC) -I$(INC) -Fu$(INC) -Fu$(OBJPASDIR) buildrtl

+ 5 - 2
rtl/beos/Makefile

@@ -897,7 +897,7 @@ DYNLIBSINCDIR=$(UNIXINC)
 override FPCOPT+= -dHASUNIX -n -dFPC_USE_LIBC -Si
 override FPCOPT+= -dHASUNIX -n -dFPC_USE_LIBC -Si
 OBJPASDIR=$(RTL)/objpas
 OBJPASDIR=$(RTL)/objpas
 ifeq ($(CPU_OS_TARGET),i386-beos)
 ifeq ($(CPU_OS_TARGET),i386-beos)
-override TARGET_UNITS+=system $(UUCHARUNIT) $(BASEUNIXUNIT) $(UNIXTYPEUNIT) $(CTYPESUNIT) $(OBJPASUNIT) $(MACPASUNIT) $(ISO7185UNIT) $(EXTPASUNIT) $(STRINGSUNIT) $(ERRORSUNIT) $(DOSUNIT) $(DLUNIT) $(CTHREADSUNIIT) $(SYSCONSTUNIT) $(SYSUTILSUNIT) $(TYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(TYPINFOUNIT)  $(SORTBASEUNIT) $(CLASSESUNIT) $(FGLUNIT) $(MATHUNIT) $(CPUUNIT) $(MMXUNIT) $(GETOPTSUNIT) $(HEAPTRCUNIT) $(LINEINFOUNIT) $(LNFODWRFUNIT) $(RTLCONSTSUNIT) $(SYSCALLUNIT) $(UNIXUNIT) $(UNIXUTILUNIT) $(TERMIOUNIT) $(INITCUNIT) $(UNIXCPUNIT)  $(CHARACTERUNIT) $(FPWIDESTRINGUNIT) $(CMEMUNIT) $(DYNLIBSUNIT) $(CWSTRINGUNIT) $(SOFTFPUUNIT) $(SFPUX80UNIT) $(UFLOATX80UNIT) $(SFPU218UNIT)  $(UFLOAT128UNIT)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(UUCHARUNIT) $(BASEUNIXUNIT) $(UNIXTYPEUNIT) $(CTYPESUNIT) $(OBJPASUNIT) $(MACPASUNIT) $(ISO7185UNIT) $(EXTPASUNIT) $(STRINGSUNIT) $(ERRORSUNIT) $(DOSUNIT) $(DLUNIT) $(CTHREADSUNIIT) $(SYSCONSTUNIT) $(SYSUTILSUNIT) $(TYPESUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(TYPINFOUNIT)  $(SORTBASEUNIT) $(CLASSESUNIT) $(FGLUNIT) $(MATHUNIT) $(CPUUNIT) $(MMXUNIT) $(GETOPTSUNIT) $(HEAPTRCUNIT) $(LINEINFOUNIT) $(LNFODWRFUNIT) $(RTLCONSTSUNIT) $(SYSCALLUNIT) $(UNIXUNIT) $(UNIXUTILUNIT) $(TERMIOUNIT) $(INITCUNIT) $(UNIXCPUNIT)  $(CHARACTERUNIT) $(FPWIDESTRINGUNIT) $(CMEMUNIT) $(DYNLIBSUNIT) $(CWSTRINGUNIT) $(SOFTFPUUNIT) $(SFPUX80UNIT) $(UFLOATX80UNIT) $(SFPU218UNIT)  $(UFLOAT128UNIT)
 endif
 endif
 ifeq ($(CPU_OS_TARGET),i386-beos)
 ifeq ($(CPU_OS_TARGET),i386-beos)
 override TARGET_IMPLICITUNITS+=$(EXEINFOUNIT) $(CP_UNITS) $(UNICODEDATAUNIT)
 override TARGET_IMPLICITUNITS+=$(EXEINFOUNIT) $(CP_UNITS) $(UNICODEDATAUNIT)
@@ -2210,6 +2210,9 @@ endif
 ifndef NSSYSUTILSDIR
 ifndef NSSYSUTILSDIR
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 endif
 endif
+ifndef SYSTEMDIR
+SYSTEMDIR=$(OSDIR)
+endif
 ifndef CLASSESDIR
 ifndef CLASSESDIR
 CLASSESDIR=$(OSDIR)
 CLASSESDIR=$(OSDIR)
 endif
 endif
@@ -2257,7 +2260,7 @@ OBJC_OPT:=$(OBJC_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 endif
 endif
-$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
+$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMDIR)/$(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 	    $(SYSTEMUNIT)$(PPUEXT) \
 	    $(SYSTEMUNIT)$(PPUEXT) \

+ 4 - 1
rtl/darwin/Makefile

@@ -2324,6 +2324,9 @@ endif
 ifndef NSSYSUTILSDIR
 ifndef NSSYSUTILSDIR
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 endif
 endif
+ifndef SYSTEMDIR
+SYSTEMDIR=$(OSDIR)
+endif
 ifndef CLASSESDIR
 ifndef CLASSESDIR
 CLASSESDIR=$(OSDIR)
 CLASSESDIR=$(OSDIR)
 endif
 endif
@@ -2371,7 +2374,7 @@ OBJC_OPT:=$(OBJC_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 endif
 endif
-$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
+$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMDIR)/$(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 	    $(SYSTEMUNIT)$(PPUEXT) \
 	    $(SYSTEMUNIT)$(PPUEXT) \

+ 6 - 4
rtl/dragonfly/Makefile

@@ -2217,6 +2217,9 @@ endif
 ifndef NSSYSUTILSDIR
 ifndef NSSYSUTILSDIR
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 endif
 endif
+ifndef SYSTEMDIR
+SYSTEMDIR=$(OSDIR)
+endif
 ifndef CLASSESDIR
 ifndef CLASSESDIR
 CLASSESDIR=$(OSDIR)
 CLASSESDIR=$(OSDIR)
 endif
 endif
@@ -2264,7 +2267,7 @@ OBJC_OPT:=$(OBJC_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 endif
 endif
-$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
+$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMDIR)/$(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 	    $(SYSTEMUNIT)$(PPUEXT) \
 	    $(SYSTEMUNIT)$(PPUEXT) \
@@ -2930,7 +2933,8 @@ include $(INC)/makefile.inc
 SYSINCDEPS=$(addprefix $(INC)/,$(SYSINCNAMES))
 SYSINCDEPS=$(addprefix $(INC)/,$(SYSINCNAMES))
 include $(PROCINC)/makefile.cpu
 include $(PROCINC)/makefile.cpu
 SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
 SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
-SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS)
+SYSDEPS = unxconst.inc $(SYSINCDEPS) $(SYSCPUDEPS)
+SYSTEMDIR = $(BSDINC)
 prt0$(OEXT) : $(CPU_TARGET)/prt0.as
 prt0$(OEXT) : $(CPU_TARGET)/prt0.as
 	$(AS) -o $(UNITTARGETDIRPREFIX)prt0$(OEXT) $(CPU_TARGET)/prt0.as
 	$(AS) -o $(UNITTARGETDIRPREFIX)prt0$(OEXT) $(CPU_TARGET)/prt0.as
 cprt0$(OEXT) : $(CPU_TARGET)/cprt0.as
 cprt0$(OEXT) : $(CPU_TARGET)/cprt0.as
@@ -2939,5 +2943,3 @@ gprt0$(OEXT) : $(CPU_TARGET)/gprt0.as
 	$(AS) -o $(UNITTARGETDIRPREFIX)gprt0$(OEXT) $(CPU_TARGET)/gprt0.as
 	$(AS) -o $(UNITTARGETDIRPREFIX)gprt0$(OEXT) $(CPU_TARGET)/gprt0.as
 dllprt0$(OEXT) : $(CPU_TARGET)/dllprt0.as
 dllprt0$(OEXT) : $(CPU_TARGET)/dllprt0.as
 	$(AS) -o $(UNITTARGETDIRPREFIX)dllprt0$(OEXT) $(CPU_TARGET)/dllprt0.as
 	$(AS) -o $(UNITTARGETDIRPREFIX)dllprt0$(OEXT) $(CPU_TARGET)/dllprt0.as
-$(SYSTEMUNIT)$(PPUEXT) : $(BSDINC)/$(SYSTEMUNIT).pp unxconst.inc $(SYSDEPS)
-	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $(BSDINC)/$(SYSTEMUNIT).pp

+ 5 - 2
rtl/embedded/Makefile

@@ -2583,6 +2583,9 @@ endif
 ifndef NSSYSUTILSDIR
 ifndef NSSYSUTILSDIR
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 endif
 endif
+ifndef SYSTEMDIR
+SYSTEMDIR=$(OSDIR)
+endif
 ifndef CLASSESDIR
 ifndef CLASSESDIR
 CLASSESDIR=$(OSDIR)
 CLASSESDIR=$(OSDIR)
 endif
 endif
@@ -2630,7 +2633,7 @@ OBJC_OPT:=$(OBJC_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 endif
 endif
-$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
+$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMDIR)/$(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 	    $(SYSTEMUNIT)$(PPUEXT) \
 	    $(SYSTEMUNIT)$(PPUEXT) \
@@ -3296,7 +3299,7 @@ SYSINCDEPS=$(addprefix $(INC)/,$(SYSINCNAMES))
 include $(PROCINC)/makefile.cpu
 include $(PROCINC)/makefile.cpu
 SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
 SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
 SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS) $(INC)/softfpu.pp
 SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS) $(INC)/softfpu.pp
[email protected]
+override FPC_SYSTEM_OPT += @system.cfg
 startup$(OEXT) : $(CPU_TARGET)/startup.s
 startup$(OEXT) : $(CPU_TARGET)/startup.s
 	$(AS) $(ASTARGET) -o $(UNITTARGETDIRPREFIX)startup$(OEXT) $(CPU_TARGET)/startup.s  -mabi=32 -march=pic32mx -mtune=pic32mx -W -EL  -msym32
 	$(AS) $(ASTARGET) -o $(UNITTARGETDIRPREFIX)startup$(OEXT) $(CPU_TARGET)/startup.s  -mabi=32 -march=pic32mx -mtune=pic32mx -W -EL  -msym32
 CONSOLEIO_DEPS= consoleio.pp $(SYSTEMUNIT)$(PPUEXT) $(OBJPASUNIT)$(PPUEXT) \
 CONSOLEIO_DEPS= consoleio.pp $(SYSTEMUNIT)$(PPUEXT) $(OBJPASUNIT)$(PPUEXT) \

+ 4 - 1
rtl/emx/Makefile

@@ -2210,6 +2210,9 @@ endif
 ifndef NSSYSUTILSDIR
 ifndef NSSYSUTILSDIR
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 endif
 endif
+ifndef SYSTEMDIR
+SYSTEMDIR=$(OSDIR)
+endif
 ifndef CLASSESDIR
 ifndef CLASSESDIR
 CLASSESDIR=$(OSDIR)
 CLASSESDIR=$(OSDIR)
 endif
 endif
@@ -2257,7 +2260,7 @@ OBJC_OPT:=$(OBJC_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 endif
 endif
-$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
+$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMDIR)/$(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 	    $(SYSTEMUNIT)$(PPUEXT) \
 	    $(SYSTEMUNIT)$(PPUEXT) \

+ 6 - 4
rtl/freebsd/Makefile

@@ -2259,6 +2259,9 @@ endif
 ifndef NSSYSUTILSDIR
 ifndef NSSYSUTILSDIR
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 endif
 endif
+ifndef SYSTEMDIR
+SYSTEMDIR=$(OSDIR)
+endif
 ifndef CLASSESDIR
 ifndef CLASSESDIR
 CLASSESDIR=$(OSDIR)
 CLASSESDIR=$(OSDIR)
 endif
 endif
@@ -2306,7 +2309,7 @@ OBJC_OPT:=$(OBJC_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 endif
 endif
-$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
+$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMDIR)/$(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 	    $(SYSTEMUNIT)$(PPUEXT) \
 	    $(SYSTEMUNIT)$(PPUEXT) \
@@ -2972,7 +2975,8 @@ include $(INC)/makefile.inc
 SYSINCDEPS=$(addprefix $(INC)/,$(SYSINCNAMES))
 SYSINCDEPS=$(addprefix $(INC)/,$(SYSINCNAMES))
 include $(PROCINC)/makefile.cpu
 include $(PROCINC)/makefile.cpu
 SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
 SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
-SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS)
+SYSDEPS = unxconst.inc $(SYSINCDEPS) $(SYSCPUDEPS)
+SYSTEMDIR = $(BSDINC)
 prt0$(OEXT) : $(CPU_TARGET)/prt0.as
 prt0$(OEXT) : $(CPU_TARGET)/prt0.as
 	$(AS) $(ASTARGET) -o $(UNITTARGETDIRPREFIX)prt0$(OEXT) $(CPU_TARGET)/prt0.as
 	$(AS) $(ASTARGET) -o $(UNITTARGETDIRPREFIX)prt0$(OEXT) $(CPU_TARGET)/prt0.as
 cprt0$(OEXT) : $(CPU_TARGET)/cprt0.as
 cprt0$(OEXT) : $(CPU_TARGET)/cprt0.as
@@ -2981,8 +2985,6 @@ gprt0$(OEXT) : $(CPU_TARGET)/gprt0.as
 	$(AS) $(ASTARGET) -o $(UNITTARGETDIRPREFIX)gprt0$(OEXT) $(CPU_TARGET)/gprt0.as
 	$(AS) $(ASTARGET) -o $(UNITTARGETDIRPREFIX)gprt0$(OEXT) $(CPU_TARGET)/gprt0.as
 dllprt0$(OEXT) : $(CPU_TARGET)/dllprt0.as
 dllprt0$(OEXT) : $(CPU_TARGET)/dllprt0.as
 	$(AS) $(ASTARGET) -o $(UNITTARGETDIRPREFIX)dllprt0$(OEXT) $(CPU_TARGET)/dllprt0.as
 	$(AS) $(ASTARGET) -o $(UNITTARGETDIRPREFIX)dllprt0$(OEXT) $(CPU_TARGET)/dllprt0.as
-$(SYSTEMUNIT)$(PPUEXT) : $(BSDINC)/$(SYSTEMUNIT).pp unxconst.inc $(SYSDEPS)
-	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $(BSDINC)/$(SYSTEMUNIT).pp
 ifeq ($(filter -dFPC_USE_LIBC,$(FPCOPT)),)
 ifeq ($(filter -dFPC_USE_LIBC,$(FPCOPT)),)
   FREEBSD_DEPS_OS+=$(SYSCALLUNIT)$(PPUEXT)
   FREEBSD_DEPS_OS+=$(SYSCALLUNIT)$(PPUEXT)
 else
 else

+ 6 - 4
rtl/freertos/Makefile

@@ -2400,6 +2400,9 @@ endif
 ifndef NSSYSUTILSDIR
 ifndef NSSYSUTILSDIR
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 endif
 endif
+ifndef SYSTEMDIR
+SYSTEMDIR=$(OSDIR)
+endif
 ifndef CLASSESDIR
 ifndef CLASSESDIR
 CLASSESDIR=$(OSDIR)
 CLASSESDIR=$(OSDIR)
 endif
 endif
@@ -2447,7 +2450,7 @@ OBJC_OPT:=$(OBJC_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 endif
 endif
-$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
+$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMDIR)/$(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 	    $(SYSTEMUNIT)$(PPUEXT) \
 	    $(SYSTEMUNIT)$(PPUEXT) \
@@ -3112,11 +3115,10 @@ include $(INC)/makefile.inc
 SYSINCDEPS=$(addprefix $(INC)/,$(SYSINCNAMES))
 SYSINCDEPS=$(addprefix $(INC)/,$(SYSINCNAMES))
 include $(PROCINC)/makefile.cpu
 include $(PROCINC)/makefile.cpu
 SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
 SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
-SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS)
+SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS) $(INC)/softfpu.pp
+override FPC_SYSTEM_OPT += @system.cfg
 startup$(OEXT) : $(CPU_TARGET)/startup.s
 startup$(OEXT) : $(CPU_TARGET)/startup.s
 	$(AS) $(ASTARGET) -o $(UNITTARGETDIRPREFIX)startup$(OEXT) $(CPU_TARGET)/startup.s  -mabi=32 -march=pic32mx -mtune=pic32mx -W -EL  -msym32
 	$(AS) $(ASTARGET) -o $(UNITTARGETDIRPREFIX)startup$(OEXT) $(CPU_TARGET)/startup.s  -mabi=32 -march=pic32mx -mtune=pic32mx -W -EL  -msym32
-$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMUNIT).pp $(SYSDEPS) $(INC)/softfpu.pp
-	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $(SYSTEMUNIT).pp @system.cfg $(REDIR)
 consoleio$(PPUEXT) : consoleio.pp $(SYSTEMUNIT)$(PPUEXT)
 consoleio$(PPUEXT) : consoleio.pp $(SYSTEMUNIT)$(PPUEXT)
 	$(COMPILER) $<
 	$(COMPILER) $<
 heapmgr$(PPUEXT) : heapmgr.pp $(SYSTEMUNIT)$(PPUEXT)
 heapmgr$(PPUEXT) : heapmgr.pp $(SYSTEMUNIT)$(PPUEXT)

+ 4 - 1
rtl/gba/Makefile

@@ -2199,6 +2199,9 @@ endif
 ifndef NSSYSUTILSDIR
 ifndef NSSYSUTILSDIR
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 endif
 endif
+ifndef SYSTEMDIR
+SYSTEMDIR=$(OSDIR)
+endif
 ifndef CLASSESDIR
 ifndef CLASSESDIR
 CLASSESDIR=$(OSDIR)
 CLASSESDIR=$(OSDIR)
 endif
 endif
@@ -2246,7 +2249,7 @@ OBJC_OPT:=$(OBJC_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 endif
 endif
-$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
+$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMDIR)/$(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 	    $(SYSTEMUNIT)$(PPUEXT) \
 	    $(SYSTEMUNIT)$(PPUEXT) \

+ 4 - 4
rtl/go32v2/Makefile

@@ -2211,6 +2211,9 @@ endif
 ifndef NSSYSUTILSDIR
 ifndef NSSYSUTILSDIR
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 endif
 endif
+ifndef SYSTEMDIR
+SYSTEMDIR=$(OSDIR)
+endif
 ifndef CLASSESDIR
 ifndef CLASSESDIR
 CLASSESDIR=$(OSDIR)
 CLASSESDIR=$(OSDIR)
 endif
 endif
@@ -2258,7 +2261,7 @@ OBJC_OPT:=$(OBJC_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 endif
 endif
-$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
+$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMDIR)/$(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 	    $(SYSTEMUNIT)$(PPUEXT) \
 	    $(SYSTEMUNIT)$(PPUEXT) \
@@ -2931,9 +2934,6 @@ exceptn$(OEXT) : exceptn.as
 	$(AS) -o $(UNITTARGETDIRPREFIX)exceptn$(OEXT) $<
 	$(AS) -o $(UNITTARGETDIRPREFIX)exceptn$(OEXT) $<
 fpu$(OEXT) : fpu.as
 fpu$(OEXT) : fpu.as
 	$(AS) -o $(UNITTARGETDIRPREFIX)fpu$(OEXT) $<
 	$(AS) -o $(UNITTARGETDIRPREFIX)fpu$(OEXT) $<
-system$(PPUEXT) : system.pp $(SYSDEPS)
-	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg system.pp
-	$(EXECPPAS)
 GO32_DEPS = go32.pp $(SYSTEMUNIT)$(PPUEXT)
 GO32_DEPS = go32.pp $(SYSTEMUNIT)$(PPUEXT)
 go32$(PPUEXT) : $(GO32_DEPS)
 go32$(PPUEXT) : $(GO32_DEPS)
 	$(COMPILER) $<
 	$(COMPILER) $<

+ 4 - 1
rtl/haiku/Makefile

@@ -2242,6 +2242,9 @@ endif
 ifndef NSSYSUTILSDIR
 ifndef NSSYSUTILSDIR
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 endif
 endif
+ifndef SYSTEMDIR
+SYSTEMDIR=$(OSDIR)
+endif
 ifndef CLASSESDIR
 ifndef CLASSESDIR
 CLASSESDIR=$(OSDIR)
 CLASSESDIR=$(OSDIR)
 endif
 endif
@@ -2289,7 +2292,7 @@ OBJC_OPT:=$(OBJC_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 endif
 endif
-$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
+$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMDIR)/$(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 	    $(SYSTEMUNIT)$(PPUEXT) \
 	    $(SYSTEMUNIT)$(PPUEXT) \

+ 5 - 2
rtl/java/Makefile

@@ -896,7 +896,7 @@ SYSINIT_UNITS=
 ifeq ($(ARCH),arm)
 ifeq ($(ARCH),arm)
 CPU_UNITS=lpc21x4 at91sam7x256 stellaris stm32f103
 CPU_UNITS=lpc21x4 at91sam7x256 stellaris stm32f103
 endif
 endif
[email protected]
+override FPC_SYSTEM_OPT += @rtl.cfg
 ifeq ($(CPU_OS_TARGET),jvm-java)
 ifeq ($(CPU_OS_TARGET),jvm-java)
 override TARGET_UNITS+=$(SYSTEMUNIT) $(UUCHARUNIT) $(OBJPASUNIT) jdk15
 override TARGET_UNITS+=$(SYSTEMUNIT) $(UUCHARUNIT) $(OBJPASUNIT) jdk15
 endif
 endif
@@ -2172,6 +2172,9 @@ endif
 ifndef NSSYSUTILSDIR
 ifndef NSSYSUTILSDIR
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 endif
 endif
+ifndef SYSTEMDIR
+SYSTEMDIR=$(OSDIR)
+endif
 ifndef CLASSESDIR
 ifndef CLASSESDIR
 CLASSESDIR=$(OSDIR)
 CLASSESDIR=$(OSDIR)
 endif
 endif
@@ -2219,7 +2222,7 @@ OBJC_OPT:=$(OBJC_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 endif
 endif
-$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
+$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMDIR)/$(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 	    $(SYSTEMUNIT)$(PPUEXT) \
 	    $(SYSTEMUNIT)$(PPUEXT) \

+ 4 - 1
rtl/linux/Makefile

@@ -2813,6 +2813,9 @@ endif
 ifndef NSSYSUTILSDIR
 ifndef NSSYSUTILSDIR
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 endif
 endif
+ifndef SYSTEMDIR
+SYSTEMDIR=$(OSDIR)
+endif
 ifndef CLASSESDIR
 ifndef CLASSESDIR
 CLASSESDIR=$(OSDIR)
 CLASSESDIR=$(OSDIR)
 endif
 endif
@@ -2860,7 +2863,7 @@ OBJC_OPT:=$(OBJC_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 endif
 endif
-$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
+$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMDIR)/$(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 	    $(SYSTEMUNIT)$(PPUEXT) \
 	    $(SYSTEMUNIT)$(PPUEXT) \

+ 4 - 1
rtl/macos/Makefile

@@ -2190,6 +2190,9 @@ endif
 ifndef NSSYSUTILSDIR
 ifndef NSSYSUTILSDIR
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 endif
 endif
+ifndef SYSTEMDIR
+SYSTEMDIR=$(OSDIR)
+endif
 ifndef CLASSESDIR
 ifndef CLASSESDIR
 CLASSESDIR=$(OSDIR)
 CLASSESDIR=$(OSDIR)
 endif
 endif
@@ -2237,7 +2240,7 @@ OBJC_OPT:=$(OBJC_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 endif
 endif
-$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
+$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMDIR)/$(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 	    $(SYSTEMUNIT)$(PPUEXT) \
 	    $(SYSTEMUNIT)$(PPUEXT) \

+ 5 - 4
rtl/morphos/Makefile

@@ -2173,6 +2173,9 @@ endif
 ifndef NSSYSUTILSDIR
 ifndef NSSYSUTILSDIR
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 endif
 endif
+ifndef SYSTEMDIR
+SYSTEMDIR=$(OSDIR)
+endif
 ifndef CLASSESDIR
 ifndef CLASSESDIR
 CLASSESDIR=$(OSDIR)
 CLASSESDIR=$(OSDIR)
 endif
 endif
@@ -2220,7 +2223,7 @@ OBJC_OPT:=$(OBJC_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 endif
 endif
-$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
+$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMDIR)/$(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 	    $(SYSTEMUNIT)$(PPUEXT) \
 	    $(SYSTEMUNIT)$(PPUEXT) \
@@ -2889,7 +2892,5 @@ SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
 SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS)
 SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS)
 %$(OEXT) : %.as
 %$(OEXT) : %.as
 	$(AS) -o $(UNITTARGETDIRPREFIX)$*$(OEXT) $*.as
 	$(AS) -o $(UNITTARGETDIRPREFIX)$*$(OEXT) $*.as
-$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMUNIT).pp $(SYSDEPS)
-	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $(SYSTEMUNIT).pp $(REDIR)
-buildrtl$(PPUEXT): buildrtl.pp system$(PPUEXT) $(OBJPASUNIT)$(PPUEXT) $(HEAPTRCUNIT)$(PPUEXT)
+buildrtl$(PPUEXT): buildrtl.pp $(SYSTEMUNIT)$(PPUEXT) $(OBJPASUNIT)$(PPUEXT) $(HEAPTRCUNIT)$(PPUEXT)
 	$(COMPILER) -Fi$(OBJPASDIR)/sysutils -Fi$(OBJPASDIR)/classes -Fu$(PROCINC) -Fu$(AMIINC) -I$(INC) -Fu$(INC) -Fu$(OBJPASDIR) buildrtl
 	$(COMPILER) -Fi$(OBJPASDIR)/sysutils -Fi$(OBJPASDIR)/classes -Fu$(PROCINC) -Fu$(AMIINC) -I$(INC) -Fu$(INC) -Fu$(OBJPASDIR) buildrtl

+ 4 - 1
rtl/msdos/Makefile

@@ -2204,6 +2204,9 @@ endif
 ifndef NSSYSUTILSDIR
 ifndef NSSYSUTILSDIR
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 endif
 endif
+ifndef SYSTEMDIR
+SYSTEMDIR=$(OSDIR)
+endif
 ifndef CLASSESDIR
 ifndef CLASSESDIR
 CLASSESDIR=$(OSDIR)
 CLASSESDIR=$(OSDIR)
 endif
 endif
@@ -2251,7 +2254,7 @@ OBJC_OPT:=$(OBJC_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 endif
 endif
-$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
+$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMDIR)/$(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 	    $(SYSTEMUNIT)$(PPUEXT) \
 	    $(SYSTEMUNIT)$(PPUEXT) \

+ 7 - 7
rtl/msxdos/Makefile

@@ -897,7 +897,7 @@ ifdef NO_EXCEPTIONS_IN_SYSTEM
 override FPCOPT+=-dNO_EXCEPTIONS_IN_SYSTEM
 override FPCOPT+=-dNO_EXCEPTIONS_IN_SYSTEM
 endif
 endif
 ifeq ($(CPU_OS_TARGET),z80-msxdos)
 ifeq ($(CPU_OS_TARGET),z80-msxdos)
-override TARGET_UNITS+=system si_prc $(UUCHARUNIT) $(OBJPASUNIT) $(ISO7185UNIT) $(STRINGSUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(GETOPTSUNIT) $(EXEINFOUNIT) $(HEAPTRCUNIT)
+override TARGET_UNITS+=$(SYSTEMUNIT) si_prc $(UUCHARUNIT) $(OBJPASUNIT) $(ISO7185UNIT) $(STRINGSUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(GETOPTSUNIT) $(EXEINFOUNIT) $(HEAPTRCUNIT)
 endif
 endif
 ifeq ($(CPU_OS_TARGET),z80-msxdos)
 ifeq ($(CPU_OS_TARGET),z80-msxdos)
 override TARGET_IMPLICITUNITS+=$(CP_UNITS)
 override TARGET_IMPLICITUNITS+=$(CP_UNITS)
@@ -2174,6 +2174,9 @@ endif
 ifndef NSSYSUTILSDIR
 ifndef NSSYSUTILSDIR
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 endif
 endif
+ifndef SYSTEMDIR
+SYSTEMDIR=$(OSDIR)
+endif
 ifndef CLASSESDIR
 ifndef CLASSESDIR
 CLASSESDIR=$(OSDIR)
 CLASSESDIR=$(OSDIR)
 endif
 endif
@@ -2221,7 +2224,7 @@ OBJC_OPT:=$(OBJC_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 endif
 endif
-$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
+$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMDIR)/$(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 	    $(SYSTEMUNIT)$(PPUEXT) \
 	    $(SYSTEMUNIT)$(PPUEXT) \
@@ -2886,12 +2889,9 @@ include $(INC)/makefile.inc
 SYSINCDEPS=$(addprefix $(INC)/,$(SYSINCNAMES))
 SYSINCDEPS=$(addprefix $(INC)/,$(SYSINCNAMES))
 include $(PROCINC)/makefile.cpu
 include $(PROCINC)/makefile.cpu
 SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
 SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
-SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS)
+SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS) $(INC)/tnyheaph.inc $(INC)/tinyheap.inc registers.inc
 ifneq ($(findstring -dTEST_I8086_SMARTLINK_SECTIONS,$(FPCOPT)),)
 ifneq ($(findstring -dTEST_I8086_SMARTLINK_SECTIONS,$(FPCOPT)),)
 override NASM_OPT+=-D__I8086_SMARTLINK_SECTIONS__
 override NASM_OPT+=-D__I8086_SMARTLINK_SECTIONS__
 endif
 endif
-system$(PPUEXT) : system.pp $(SYSDEPS) $(INC)/tnyheaph.inc $(INC)/tinyheap.inc registers.inc
-	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg system.pp
-	$(EXECPPAS)
-si_prc$(PPUEXT) : system$(PPUEXT)
+si_prc$(PPUEXT) : $(SYSTEMUNIT)$(PPUEXT)
 	$(COMPILER) si_prc.pp
 	$(COMPILER) si_prc.pp

+ 6 - 5
rtl/nativent/Makefile

@@ -900,7 +900,7 @@ DLLS=fpcmemdll
 OBJPASDIR=$(RTL)/objpas
 OBJPASDIR=$(RTL)/objpas
 WINDOWS_SOURCE_FILES=$(addprefix $(WININC)/,$(addsuffix .inc,$(WINDOWS_FILES)))
 WINDOWS_SOURCE_FILES=$(addprefix $(WININC)/,$(addsuffix .inc,$(WINDOWS_FILES)))
 ifeq ($(CPU_OS_TARGET),i386-nativent)
 ifeq ($(CPU_OS_TARGET),i386-nativent)
-override TARGET_UNITS+=system $(UUCHARUNIT) $(OBJPASUNIT) $(ISO7185UNIT) $(EXTPASUNIT) $(CPALLUNIT) buildrtl
+override TARGET_UNITS+=$(SYSTEMUNIT) $(UUCHARUNIT) $(OBJPASUNIT) $(ISO7185UNIT) $(EXTPASUNIT) $(CPALLUNIT) buildrtl
 endif
 endif
 ifeq ($(CPU_OS_TARGET),i386-nativent)
 ifeq ($(CPU_OS_TARGET),i386-nativent)
 override TARGET_IMPLICITUNITS+=ndk ndkutils ddk $(CTYPESUNIT) $(STRINGSUNIT) $(DOSUNIT) $(RTLCONSTSUNIT) $(SYSCONSTUNIT) $(SYSUTILSUNIT) $(MATHUNIT) $(TYPESUNIT) $(TYPINFOUNIT) $(FGLUNIT) $(CLASSESUNIT) $(CPU_UNITS) $(CHARSETUNIT) $(GETOPTSUNIT) $(SOFTFPUUNIT) $(SFPUX80UNIT) $(UFLOATX80UNIT) $(SFPU128UNIT) $(UFLOAT128UNIT) $(CP_UNITS)
 override TARGET_IMPLICITUNITS+=ndk ndkutils ddk $(CTYPESUNIT) $(STRINGSUNIT) $(DOSUNIT) $(RTLCONSTSUNIT) $(SYSCONSTUNIT) $(SYSUTILSUNIT) $(MATHUNIT) $(TYPESUNIT) $(TYPINFOUNIT) $(FGLUNIT) $(CLASSESUNIT) $(CPU_UNITS) $(CHARSETUNIT) $(GETOPTSUNIT) $(SOFTFPUUNIT) $(SFPUX80UNIT) $(UFLOATX80UNIT) $(SFPU128UNIT) $(UFLOAT128UNIT) $(CP_UNITS)
@@ -2180,6 +2180,9 @@ endif
 ifndef NSSYSUTILSDIR
 ifndef NSSYSUTILSDIR
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 endif
 endif
+ifndef SYSTEMDIR
+SYSTEMDIR=$(OSDIR)
+endif
 ifndef CLASSESDIR
 ifndef CLASSESDIR
 CLASSESDIR=$(OSDIR)
 CLASSESDIR=$(OSDIR)
 endif
 endif
@@ -2227,7 +2230,7 @@ OBJC_OPT:=$(OBJC_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 endif
 endif
-$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
+$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMDIR)/$(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 	    $(SYSTEMUNIT)$(PPUEXT) \
 	    $(SYSTEMUNIT)$(PPUEXT) \
@@ -2895,7 +2898,5 @@ SYSINCDEPS=$(addprefix $(INC)/,$(SYSINCNAMES))
 include $(PROCINC)/makefile.cpu
 include $(PROCINC)/makefile.cpu
 SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
 SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
 SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS)
 SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS)
-system$(PPUEXT) : system.pp $(SYSDEPS)
-	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg system.pp
-buildrtl$(PPUEXT): buildrtl.pp system$(PPUEXT) $(OBJPASUNIT)$(PPUEXT)
+buildrtl$(PPUEXT): buildrtl.pp $(SYSTEMUNIT)$(PPUEXT) $(OBJPASUNIT)$(PPUEXT)
 	$(COMPILER) -Fi$(OBJPASDIR)/sysutils -Fi$(OBJPASDIR)/classes -Fu$(PROCINC) -I$(OBJPASDIR) -Fi$(DDKINC) -I$(INC) -Fu$(INC) -Fu$(OBJPASDIR) buildrtl
 	$(COMPILER) -Fi$(OBJPASDIR)/sysutils -Fi$(OBJPASDIR)/classes -Fu$(PROCINC) -I$(OBJPASDIR) -Fi$(DDKINC) -I$(INC) -Fu$(INC) -Fu$(OBJPASDIR) buildrtl

+ 5 - 3
rtl/nds/Makefile

@@ -2202,6 +2202,9 @@ endif
 ifndef NSSYSUTILSDIR
 ifndef NSSYSUTILSDIR
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 endif
 endif
+ifndef SYSTEMDIR
+SYSTEMDIR=$(OSDIR)
+endif
 ifndef CLASSESDIR
 ifndef CLASSESDIR
 CLASSESDIR=$(OSDIR)
 CLASSESDIR=$(OSDIR)
 endif
 endif
@@ -2249,7 +2252,7 @@ OBJC_OPT:=$(OBJC_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 endif
 endif
-$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
+$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMDIR)/$(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 	    $(SYSTEMUNIT)$(PPUEXT) \
 	    $(SYSTEMUNIT)$(PPUEXT) \
@@ -2916,6 +2919,7 @@ SYSINCDEPS=$(addprefix $(INC)/,$(SYSINCNAMES))
 include $(PROCINC)/makefile.cpu
 include $(PROCINC)/makefile.cpu
 SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
 SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
 SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS) $(INC)/softfpu.pp
 SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS) $(INC)/softfpu.pp
+override FPC_SYSTEM_OPT += @rtl.cfg
 prt07$(OEXT) : prt07.as
 prt07$(OEXT) : prt07.as
 	$(AS) $(ASTARGET) -o $(UNITTARGETDIRPREFIX)prt07$(OEXT) prt07.as
 	$(AS) $(ASTARGET) -o $(UNITTARGETDIRPREFIX)prt07$(OEXT) prt07.as
 prt09$(OEXT) : prt09.as
 prt09$(OEXT) : prt09.as
@@ -2924,5 +2928,3 @@ cprt07$(OEXT) : cprt07.as
 	$(AS) $(ASTARGET) -o $(UNITTARGETDIRPREFIX)cprt07$(OEXT) cprt07.as
 	$(AS) $(ASTARGET) -o $(UNITTARGETDIRPREFIX)cprt07$(OEXT) cprt07.as
 cprt09$(OEXT) : cprt09.as
 cprt09$(OEXT) : cprt09.as
 	$(AS) $(ASTARGET) -o $(UNITTARGETDIRPREFIX)cprt09$(OEXT) cprt09.as
 	$(AS) $(ASTARGET) -o $(UNITTARGETDIRPREFIX)cprt09$(OEXT) cprt09.as
-$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMUNIT).pp $(SYSDEPS) $(INC)/softfpu.pp
-	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg @rtl.cfg $(SYSTEMUNIT).pp $(REDIR)

+ 6 - 4
rtl/netbsd/Makefile

@@ -2311,6 +2311,9 @@ endif
 ifndef NSSYSUTILSDIR
 ifndef NSSYSUTILSDIR
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 endif
 endif
+ifndef SYSTEMDIR
+SYSTEMDIR=$(OSDIR)
+endif
 ifndef CLASSESDIR
 ifndef CLASSESDIR
 CLASSESDIR=$(OSDIR)
 CLASSESDIR=$(OSDIR)
 endif
 endif
@@ -2358,7 +2361,7 @@ OBJC_OPT:=$(OBJC_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 endif
 endif
-$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
+$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMDIR)/$(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 	    $(SYSTEMUNIT)$(PPUEXT) \
 	    $(SYSTEMUNIT)$(PPUEXT) \
@@ -3024,12 +3027,11 @@ include $(INC)/makefile.inc
 SYSINCDEPS=$(addprefix $(INC)/,$(SYSINCNAMES))
 SYSINCDEPS=$(addprefix $(INC)/,$(SYSINCNAMES))
 include $(PROCINC)/makefile.cpu
 include $(PROCINC)/makefile.cpu
 SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
 SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
-SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS)
+SYSDEPS = sysconst.inc systypes.inc syscalls.inc $(SYSINCDEPS) $(SYSCPUDEPS)
+SYSTEMDIR = $(BSDINC)
 prt0$(OEXT) : $(CPU_TARGET)/$(PRT0).as
 prt0$(OEXT) : $(CPU_TARGET)/$(PRT0).as
 	$(AS) -o $(UNITTARGETDIRPREFIX)prt0$(OEXT) $(CPU_TARGET)/$(PRT0).as
 	$(AS) -o $(UNITTARGETDIRPREFIX)prt0$(OEXT) $(CPU_TARGET)/$(PRT0).as
 cprt0$(OEXT) : $(CPU_TARGET)/cprt0.as
 cprt0$(OEXT) : $(CPU_TARGET)/cprt0.as
 	$(AS) -o $(UNITTARGETDIRPREFIX)cprt0$(OEXT) $(CPU_TARGET)/cprt0.as
 	$(AS) -o $(UNITTARGETDIRPREFIX)cprt0$(OEXT) $(CPU_TARGET)/cprt0.as
 dllprt0$(OEXT) : $(CPU_TARGET)/dllprt0.as
 dllprt0$(OEXT) : $(CPU_TARGET)/dllprt0.as
 	$(AS) -o $(UNITTARGETDIRPREFIX)dllprt0$(OEXT) $(CPU_TARGET)/dllprt0.as
 	$(AS) -o $(UNITTARGETDIRPREFIX)dllprt0$(OEXT) $(CPU_TARGET)/dllprt0.as
-$(SYSTEMUNIT)$(PPUEXT) : $(BSDINC)/$(SYSTEMUNIT).pp sysconst.inc systypes.inc syscalls.inc $(SYSDEPS)
-	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $(BSDINC)/$(SYSTEMUNIT).pp

+ 4 - 1
rtl/netware/Makefile

@@ -2217,6 +2217,9 @@ endif
 ifndef NSSYSUTILSDIR
 ifndef NSSYSUTILSDIR
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 endif
 endif
+ifndef SYSTEMDIR
+SYSTEMDIR=$(OSDIR)
+endif
 ifndef CLASSESDIR
 ifndef CLASSESDIR
 CLASSESDIR=$(OSDIR)
 CLASSESDIR=$(OSDIR)
 endif
 endif
@@ -2264,7 +2267,7 @@ OBJC_OPT:=$(OBJC_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 endif
 endif
-$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
+$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMDIR)/$(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 	    $(SYSTEMUNIT)$(PPUEXT) \
 	    $(SYSTEMUNIT)$(PPUEXT) \

+ 5 - 5
rtl/netwlibc/Makefile

@@ -2205,6 +2205,9 @@ endif
 ifndef NSSYSUTILSDIR
 ifndef NSSYSUTILSDIR
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 endif
 endif
+ifndef SYSTEMDIR
+SYSTEMDIR=$(OSDIR)
+endif
 ifndef CLASSESDIR
 ifndef CLASSESDIR
 CLASSESDIR=$(OSDIR)
 CLASSESDIR=$(OSDIR)
 endif
 endif
@@ -2252,7 +2255,7 @@ OBJC_OPT:=$(OBJC_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 endif
 endif
-$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
+$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMDIR)/$(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 	    $(SYSTEMUNIT)$(PPUEXT) \
 	    $(SYSTEMUNIT)$(PPUEXT) \
@@ -2919,7 +2922,7 @@ include $(INC)/makefile.inc
 SYSINCDEPS=$(addprefix $(INC)/,$(SYSINCNAMES))
 SYSINCDEPS=$(addprefix $(INC)/,$(SYSINCNAMES))
 include $(PROCINC)/makefile.cpu
 include $(PROCINC)/makefile.cpu
 SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
 SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
-SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS)
+SYSDEPS = libc.pp $(SYSINCDEPS) $(SYSCPUDEPS)
 copyimpfiles:
 copyimpfiles:
 	$(COPY) $(IMPFILES) $(COMPILER_UNITTARGETDIR)
 	$(COPY) $(IMPFILES) $(COMPILER_UNITTARGETDIR)
 nwplibc$(OEXT) :
 nwplibc$(OEXT) :
@@ -2928,9 +2931,6 @@ nwl_main$(OEXT) : nwl_main.as
 	$(AS) -o $(UNITTARGETDIRPREFIX)nwl_main$(OEXT) nwl_main.as
 	$(AS) -o $(UNITTARGETDIRPREFIX)nwl_main$(OEXT) nwl_main.as
 nwl_dlle$(OEXT) : nwl_dlle.as
 nwl_dlle$(OEXT) : nwl_dlle.as
 	$(AS) -o $(UNITTARGETDIRPREFIX)nwl_dlle$(OEXT) nwl_dlle.as
 	$(AS) -o $(UNITTARGETDIRPREFIX)nwl_dlle$(OEXT) nwl_dlle.as
-$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMUNIT).pp libc.pp $(SYSDEPS)
-	$(COPY) $(IMPFILES) $(COMPILER_UNITTARGETDIR)
-	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $(SYSTEMUNIT).pp
 netware$(PPUEXT) : netware.pp $(SYSTEMUNIT)$(PPUEXT)
 netware$(PPUEXT) : netware.pp $(SYSTEMUNIT)$(PPUEXT)
 	$(COMPILER) -I$(WININC) netware.pp
 	$(COMPILER) -I$(WININC) netware.pp
 nwsnut$(PPUEXT) : nwsnut.pp ../netware/nwsnut.pp libc$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
 nwsnut$(PPUEXT) : nwsnut.pp ../netware/nwsnut.pp libc$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)

+ 6 - 4
rtl/openbsd/Makefile

@@ -2244,6 +2244,9 @@ endif
 ifndef NSSYSUTILSDIR
 ifndef NSSYSUTILSDIR
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 endif
 endif
+ifndef SYSTEMDIR
+SYSTEMDIR=$(OSDIR)
+endif
 ifndef CLASSESDIR
 ifndef CLASSESDIR
 CLASSESDIR=$(OSDIR)
 CLASSESDIR=$(OSDIR)
 endif
 endif
@@ -2291,7 +2294,7 @@ OBJC_OPT:=$(OBJC_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 endif
 endif
-$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
+$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMDIR)/$(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 	    $(SYSTEMUNIT)$(PPUEXT) \
 	    $(SYSTEMUNIT)$(PPUEXT) \
@@ -2957,7 +2960,8 @@ include $(INC)/makefile.inc
 SYSINCDEPS=$(addprefix $(INC)/,$(SYSINCNAMES))
 SYSINCDEPS=$(addprefix $(INC)/,$(SYSINCNAMES))
 include $(PROCINC)/makefile.cpu
 include $(PROCINC)/makefile.cpu
 SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
 SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
-SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS)
+SYSDEPS= sysconst.inc systypes.inc syscalls.inc $(SYSINCDEPS) $(SYSCPUDEPS)
+SYSTEMDIR = $(BSDINC)
 prt0$(OEXT) : $(CPU_TARGET)/$(PRT0).as
 prt0$(OEXT) : $(CPU_TARGET)/$(PRT0).as
 	$(AS) -o $(UNITTARGETDIRPREFIX)prt0$(OEXT) $(CPU_TARGET)/$(PRT0).as
 	$(AS) -o $(UNITTARGETDIRPREFIX)prt0$(OEXT) $(CPU_TARGET)/$(PRT0).as
 si_prc$(PPUEXT) : si_prc.pp si_intf.inc si_impl.inc $(ARCH)/openbsd_ident.inc $(ARCH)/si_prc.inc $(SYSTEMUNIT)$(PPUEXT)
 si_prc$(PPUEXT) : si_prc.pp si_intf.inc si_impl.inc $(ARCH)/openbsd_ident.inc $(ARCH)/si_prc.inc $(SYSTEMUNIT)$(PPUEXT)
@@ -2968,5 +2972,3 @@ si_dll$(PPUEXT) : si_dll.pp si_intf.inc si_impl.inc $(ARCH)/openbsd_ident.inc $(
 	$(COMPILER) $<
 	$(COMPILER) $<
 si_g$(PPUEXT) : si_g.pp si_intf.inc si_impl.inc $(ARCH)/openbsd_ident.inc $(ARCH)/si_g.inc $(SYSTEMUNIT)$(PPUEXT)
 si_g$(PPUEXT) : si_g.pp si_intf.inc si_impl.inc $(ARCH)/openbsd_ident.inc $(ARCH)/si_g.inc $(SYSTEMUNIT)$(PPUEXT)
 	$(COMPILER) $<
 	$(COMPILER) $<
-$(SYSTEMUNIT)$(PPUEXT) : $(BSDINC)/$(SYSTEMUNIT).pp sysconst.inc systypes.inc syscalls.inc $(SYSDEPS)
-	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $(BSDINC)/$(SYSTEMUNIT).pp

+ 4 - 1
rtl/os2/Makefile

@@ -2209,6 +2209,9 @@ endif
 ifndef NSSYSUTILSDIR
 ifndef NSSYSUTILSDIR
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 endif
 endif
+ifndef SYSTEMDIR
+SYSTEMDIR=$(OSDIR)
+endif
 ifndef CLASSESDIR
 ifndef CLASSESDIR
 CLASSESDIR=$(OSDIR)
 CLASSESDIR=$(OSDIR)
 endif
 endif
@@ -2256,7 +2259,7 @@ OBJC_OPT:=$(OBJC_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 endif
 endif
-$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
+$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMDIR)/$(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 	    $(SYSTEMUNIT)$(PPUEXT) \
 	    $(SYSTEMUNIT)$(PPUEXT) \

+ 5 - 3
rtl/palmos/Makefile

@@ -2212,6 +2212,9 @@ endif
 ifndef NSSYSUTILSDIR
 ifndef NSSYSUTILSDIR
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 endif
 endif
+ifndef SYSTEMDIR
+SYSTEMDIR=$(OSDIR)
+endif
 ifndef CLASSESDIR
 ifndef CLASSESDIR
 CLASSESDIR=$(OSDIR)
 CLASSESDIR=$(OSDIR)
 endif
 endif
@@ -2259,7 +2262,7 @@ OBJC_OPT:=$(OBJC_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 endif
 endif
-$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
+$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMDIR)/$(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 	    $(SYSTEMUNIT)$(PPUEXT) \
 	    $(SYSTEMUNIT)$(PPUEXT) \
@@ -2927,10 +2930,9 @@ SYSINCDEPS=$(addprefix $(INC)/,$(SYSINCNAMES))
 include $(PROCINC)/makefile.cpu
 include $(PROCINC)/makefile.cpu
 SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
 SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
 SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS)
 SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS)
+override FPC_SYSTEM_OPT += @rtl.cfg
 $(PRT0)$(OEXT) : $(CPU_TARGET)/$(PRT0).as
 $(PRT0)$(OEXT) : $(CPU_TARGET)/$(PRT0).as
 	$(AS) $(ASTARGET) -o $(UNITTARGETDIRPREFIX)$(PRT0)$(OEXT) $(CPU_TARGET)/$(PRT0).as
 	$(AS) $(ASTARGET) -o $(UNITTARGETDIRPREFIX)$(PRT0)$(OEXT) $(CPU_TARGET)/$(PRT0).as
-$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMUNIT).pp $(SYSDEPS)
-	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg @rtl.cfg $(SYSTEMUNIT).pp
 si_prc$(PPUEXT): si_prc.pp palmos.inc $(SYSTEMUNIT)$(PPUEXT)
 si_prc$(PPUEXT): si_prc.pp palmos.inc $(SYSTEMUNIT)$(PPUEXT)
 systraps$(PPUEXT) : systraps.pp $(SYSTEMUNIT)$(PPUEXT)
 systraps$(PPUEXT) : systraps.pp $(SYSTEMUNIT)$(PPUEXT)
 	$(COMPILER) systraps.pp
 	$(COMPILER) systraps.pp

+ 6 - 4
rtl/sinclairql/Makefile

@@ -2201,6 +2201,9 @@ endif
 ifndef NSSYSUTILSDIR
 ifndef NSSYSUTILSDIR
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 endif
 endif
+ifndef SYSTEMDIR
+SYSTEMDIR=$(OSDIR)
+endif
 ifndef CLASSESDIR
 ifndef CLASSESDIR
 CLASSESDIR=$(OSDIR)
 CLASSESDIR=$(OSDIR)
 endif
 endif
@@ -2248,7 +2251,7 @@ OBJC_OPT:=$(OBJC_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 endif
 endif
-$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
+$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMDIR)/$(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 	    $(SYSTEMUNIT)$(PPUEXT) \
 	    $(SYSTEMUNIT)$(PPUEXT) \
@@ -2915,7 +2918,6 @@ SYSINCDEPS=$(addprefix $(INC)/,$(SYSINCNAMES))
 include $(PROCINC)/makefile.cpu
 include $(PROCINC)/makefile.cpu
 SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
 SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
 SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS) qdos.inc qdosh.inc qdosfuncs.inc sms.inc
 SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS) qdos.inc qdosh.inc qdosfuncs.inc sms.inc
-$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMUNIT).pp $(SYSDEPS)
-	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg @rtl.cfg $(SYSTEMUNIT).pp $(REDIR)
-buildrtl$(PPUEXT): buildrtl.pp system$(PPUEXT) $(OBJPASUNIT)$(PPUEXT)
+override FPC_SYSTEM_OPT += @rtl.cfg
+buildrtl$(PPUEXT): buildrtl.pp $(SYSTEMUNIT)$(PPUEXT) $(OBJPASUNIT)$(PPUEXT)
 	$(COMPILER) -Fi$(OBJPASDIR)/sysutils -Fi$(OBJPASDIR)/classes -Fu$(CPU_TARGET) -Fu$(PROCINC) -Fu$(AMIINC) -I$(INC) -Fu$(INC) -Fu$(OBJPASDIR) buildrtl
 	$(COMPILER) -Fi$(OBJPASDIR)/sysutils -Fi$(OBJPASDIR)/classes -Fu$(CPU_TARGET) -Fu$(PROCINC) -Fu$(AMIINC) -I$(INC) -Fu$(INC) -Fu$(OBJPASDIR) buildrtl

+ 4 - 3
rtl/solaris/Makefile

@@ -2217,6 +2217,9 @@ endif
 ifndef NSSYSUTILSDIR
 ifndef NSSYSUTILSDIR
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 endif
 endif
+ifndef SYSTEMDIR
+SYSTEMDIR=$(OSDIR)
+endif
 ifndef CLASSESDIR
 ifndef CLASSESDIR
 CLASSESDIR=$(OSDIR)
 CLASSESDIR=$(OSDIR)
 endif
 endif
@@ -2264,7 +2267,7 @@ OBJC_OPT:=$(OBJC_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 endif
 endif
-$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
+$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMDIR)/$(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 	    $(SYSTEMUNIT)$(PPUEXT) \
 	    $(SYSTEMUNIT)$(PPUEXT) \
@@ -2931,5 +2934,3 @@ SYSINCDEPS=$(addprefix $(INC)/,$(SYSINCNAMES))
 include $(PROCINC)/makefile.cpu
 include $(PROCINC)/makefile.cpu
 SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
 SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
 SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS)
 SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS)
-$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMUNIT).pp $(SYSDEPS)
-	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $(SYSTEMUNIT).pp

+ 5 - 2
rtl/symbian/Makefile

@@ -2195,6 +2195,9 @@ endif
 ifndef NSSYSUTILSDIR
 ifndef NSSYSUTILSDIR
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 endif
 endif
+ifndef SYSTEMDIR
+SYSTEMDIR=$(OSDIR)
+endif
 ifndef CLASSESDIR
 ifndef CLASSESDIR
 CLASSESDIR=$(OSDIR)
 CLASSESDIR=$(OSDIR)
 endif
 endif
@@ -2242,7 +2245,7 @@ OBJC_OPT:=$(OBJC_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 endif
 endif
-$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
+$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMDIR)/$(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 	    $(SYSTEMUNIT)$(PPUEXT) \
 	    $(SYSTEMUNIT)$(PPUEXT) \
@@ -2910,5 +2913,5 @@ SYSINCDEPS=$(addprefix $(INC)/,$(SYSINCNAMES))
 include $(PROCINC)/makefile.cpu
 include $(PROCINC)/makefile.cpu
 SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
 SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
 SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS)
 SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS)
-buildrtl$(PPUEXT): buildrtl.pp system$(PPUEXT) $(OBJPASUNIT)$(PPUEXT) # $(MACPASUNIT)$(PPUEXT)
+buildrtl$(PPUEXT): buildrtl.pp $(SYSTEMUNIT)$(PPUEXT) $(OBJPASUNIT)$(PPUEXT) # $(MACPASUNIT)$(PPUEXT)
 	$(COMPILER) -Fi$(OBJPASDIR)/sysutils -Fi$(OBJPASDIR)/classes -Fu$(PROCINC) -I$(OBJPASDIR) -I$(INC) -I$(SYMBIANINC) -I$(UIQINC) -Fu$(INC) -Fu$(OBJPASDIR) buildrtl
 	$(COMPILER) -Fi$(OBJPASDIR)/sysutils -Fi$(OBJPASDIR)/classes -Fu$(PROCINC) -I$(OBJPASDIR) -I$(INC) -I$(SYMBIANINC) -I$(UIQINC) -Fu$(INC) -Fu$(OBJPASDIR) buildrtl

+ 5 - 2
rtl/wasi/Makefile

@@ -898,7 +898,7 @@ endif
 ifdef NO_EXCEPTIONS_IN_SYSTEM
 ifdef NO_EXCEPTIONS_IN_SYSTEM
 override FPCOPT+=-dNO_EXCEPTIONS_IN_SYSTEM
 override FPCOPT+=-dNO_EXCEPTIONS_IN_SYSTEM
 endif
 endif
-FPC_SYSTEM_OPT=-Fiwasiinc
+override FPC_SYSTEM_OPT += -Fiwasiinc
 DOS_DEPS_OS=$(WASIAPIUNIT)$(PPUEXT) $(WASIUTILUNIT)$(PPUEXT)
 DOS_DEPS_OS=$(WASIAPIUNIT)$(PPUEXT) $(WASIUTILUNIT)$(PPUEXT)
 ifeq ($(CPU_OS_TARGET),wasm32-wasi)
 ifeq ($(CPU_OS_TARGET),wasm32-wasi)
 override TARGET_UNITS+=$(SYSTEMUNIT) $(SYSINIT_UNITS) $(OBJPASUNIT) $(EXTPASUNIT) $(MACPASUNIT) $(ISO7185UNIT) $(UUCHARUNIT) $(WASIAPIUNIT) $(CTYPESUNIT) $(STRINGSUNIT) $(SYSCONSTUNIT)  $(SYSUTILSUNIT) $(SORTBASEUNIT) $(MATHUNIT) $(RTLCONSTSUNIT) $(TYPESUNIT)  $(TYPINFOUNIT)  $(FGLUNIT) $(GETOPTSUNIT) $(CHARSETUNIT)  $(CPALLUNIT) $(CHARACTERUNIT) $(FPWIDESTRINGUNIT)  $(CLASSESUNIT) $(DOSUNIT) $(RESUNIT) $(HEAPTRCUNIT) $(WASIUTILUNIT)  $(WEBASSEMBLYUNIT)
 override TARGET_UNITS+=$(SYSTEMUNIT) $(SYSINIT_UNITS) $(OBJPASUNIT) $(EXTPASUNIT) $(MACPASUNIT) $(ISO7185UNIT) $(UUCHARUNIT) $(WASIAPIUNIT) $(CTYPESUNIT) $(STRINGSUNIT) $(SYSCONSTUNIT)  $(SYSUTILSUNIT) $(SORTBASEUNIT) $(MATHUNIT) $(RTLCONSTSUNIT) $(TYPESUNIT)  $(TYPINFOUNIT)  $(FGLUNIT) $(GETOPTSUNIT) $(CHARSETUNIT)  $(CPALLUNIT) $(CHARACTERUNIT) $(FPWIDESTRINGUNIT)  $(CLASSESUNIT) $(DOSUNIT) $(RESUNIT) $(HEAPTRCUNIT) $(WASIUTILUNIT)  $(WEBASSEMBLYUNIT)
@@ -2178,6 +2178,9 @@ endif
 ifndef NSSYSUTILSDIR
 ifndef NSSYSUTILSDIR
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 endif
 endif
+ifndef SYSTEMDIR
+SYSTEMDIR=$(OSDIR)
+endif
 ifndef CLASSESDIR
 ifndef CLASSESDIR
 CLASSESDIR=$(OSDIR)
 CLASSESDIR=$(OSDIR)
 endif
 endif
@@ -2225,7 +2228,7 @@ OBJC_OPT:=$(OBJC_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 endif
 endif
-$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
+$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMDIR)/$(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 	    $(SYSTEMUNIT)$(PPUEXT) \
 	    $(SYSTEMUNIT)$(PPUEXT) \

+ 4 - 1
rtl/watcom/Makefile

@@ -2208,6 +2208,9 @@ endif
 ifndef NSSYSUTILSDIR
 ifndef NSSYSUTILSDIR
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 endif
 endif
+ifndef SYSTEMDIR
+SYSTEMDIR=$(OSDIR)
+endif
 ifndef CLASSESDIR
 ifndef CLASSESDIR
 CLASSESDIR=$(OSDIR)
 CLASSESDIR=$(OSDIR)
 endif
 endif
@@ -2255,7 +2258,7 @@ OBJC_OPT:=$(OBJC_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 endif
 endif
-$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
+$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMDIR)/$(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 	    $(SYSTEMUNIT)$(PPUEXT) \
 	    $(SYSTEMUNIT)$(PPUEXT) \

+ 5 - 2
rtl/wii/Makefile

@@ -888,7 +888,7 @@ COMMON=$(RTL)/common
 PROCINC=$(RTL)/$(CPU_TARGET)
 PROCINC=$(RTL)/$(CPU_TARGET)
 UNITPREFIX=rtl
 UNITPREFIX=rtl
 SYSTEMUNIT=system
 SYSTEMUNIT=system
-override [email protected]
+override FPC_SYSTEM_OPT += @rtl.cfg
 ifdef RELEASE
 ifdef RELEASE
 override FPCOPT+=-Ur
 override FPCOPT+=-Ur
 endif
 endif
@@ -2171,6 +2171,9 @@ endif
 ifndef NSSYSUTILSDIR
 ifndef NSSYSUTILSDIR
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 endif
 endif
+ifndef SYSTEMDIR
+SYSTEMDIR=$(OSDIR)
+endif
 ifndef CLASSESDIR
 ifndef CLASSESDIR
 CLASSESDIR=$(OSDIR)
 CLASSESDIR=$(OSDIR)
 endif
 endif
@@ -2218,7 +2221,7 @@ OBJC_OPT:=$(OBJC_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 endif
 endif
-$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
+$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMDIR)/$(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 	    $(SYSTEMUNIT)$(PPUEXT) \
 	    $(SYSTEMUNIT)$(PPUEXT) \

+ 8 - 8
rtl/win16/Makefile

@@ -900,7 +900,7 @@ ifdef NO_EXCEPTIONS_IN_SYSTEM
 override FPCOPT+=-dNO_EXCEPTIONS_IN_SYSTEM
 override FPCOPT+=-dNO_EXCEPTIONS_IN_SYSTEM
 endif
 endif
 ifeq ($(CPU_OS_TARGET),i8086-win16)
 ifeq ($(CPU_OS_TARGET),i8086-win16)
-override TARGET_UNITS+=system $(UUCHARUNIT) $(OBJPASUNIT) $(STRINGSUNIT) $(ISO7185UNIT) $(EXTPASUNIT) $(DOSUNIT) $(WINTYPESUNIT) $(WINPROCSUNIT) $(WIN31UNIT) $(PORTSUNIT) $(DYNLIBSUNIT) $(SORTBASEUNIT) $(SYSCONSTUNIT) $(RTLCONSTSUNIT) $(SYSUTILSUNIT) $(MATHUNIT) $(TYPESUNIT) $(TYPINFOUNIT) $(FGLUNIT) $(CLASSESUNIT) $(CHARSETUNIT) $(CPUUNIT) $(GETOPTSUNIT) $(CPALLUNIT) $(UNICODEDATAUNIT) $(CHARACTERUNIT) $(CTYPESUNIT)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(UUCHARUNIT) $(OBJPASUNIT) $(STRINGSUNIT) $(ISO7185UNIT) $(EXTPASUNIT) $(DOSUNIT) $(WINTYPESUNIT) $(WINPROCSUNIT) $(WIN31UNIT) $(PORTSUNIT) $(DYNLIBSUNIT) $(SORTBASEUNIT) $(SYSCONSTUNIT) $(RTLCONSTSUNIT) $(SYSUTILSUNIT) $(MATHUNIT) $(TYPESUNIT) $(TYPINFOUNIT) $(FGLUNIT) $(CLASSESUNIT) $(CHARSETUNIT) $(CPUUNIT) $(GETOPTSUNIT) $(CPALLUNIT) $(UNICODEDATAUNIT) $(CHARACTERUNIT) $(CTYPESUNIT)
 endif
 endif
 ifeq ($(CPU_OS_TARGET),i8086-win16)
 ifeq ($(CPU_OS_TARGET),i8086-win16)
 override TARGET_IMPLICITUNITS+=$(CP_UNITS)
 override TARGET_IMPLICITUNITS+=$(CP_UNITS)
@@ -2207,6 +2207,9 @@ endif
 ifndef NSSYSUTILSDIR
 ifndef NSSYSUTILSDIR
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 endif
 endif
+ifndef SYSTEMDIR
+SYSTEMDIR=$(OSDIR)
+endif
 ifndef CLASSESDIR
 ifndef CLASSESDIR
 CLASSESDIR=$(OSDIR)
 CLASSESDIR=$(OSDIR)
 endif
 endif
@@ -2254,7 +2257,7 @@ OBJC_OPT:=$(OBJC_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 endif
 endif
-$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
+$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMDIR)/$(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 	    $(SYSTEMUNIT)$(PPUEXT) \
 	    $(SYSTEMUNIT)$(PPUEXT) \
@@ -2919,7 +2922,9 @@ include $(INC)/makefile.inc
 SYSINCDEPS=$(addprefix $(INC)/,$(SYSINCNAMES))
 SYSINCDEPS=$(addprefix $(INC)/,$(SYSINCNAMES))
 include $(PROCINC)/makefile.cpu
 include $(PROCINC)/makefile.cpu
 SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
 SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
-SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS)
+SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS) wintypes.inc winprocsh.inc winprocs.inc \
+		  glbheap.inc glbheaph.inc locheap.inc locheaph.inc \
+		  sysdl.inc sysdlh.inc
 prt0s$(OEXT) : prt0s.asm prt0comn.asm
 prt0s$(OEXT) : prt0s.asm prt0comn.asm
 	$(MAKE) $(COMPILER_UNITTARGETDIR)
 	$(MAKE) $(COMPILER_UNITTARGETDIR)
 	$(NASM) -f obj -o $(UNITTARGETDIRPREFIX)prt0s$(OEXT) prt0s.asm
 	$(NASM) -f obj -o $(UNITTARGETDIRPREFIX)prt0s$(OEXT) prt0s.asm
@@ -2935,8 +2940,3 @@ prt0l$(OEXT) : prt0l.asm prt0comn.asm
 prt0h$(OEXT) : prt0h.asm prt0comn.asm
 prt0h$(OEXT) : prt0h.asm prt0comn.asm
 	$(MAKE) $(COMPILER_UNITTARGETDIR)
 	$(MAKE) $(COMPILER_UNITTARGETDIR)
 	$(NASM) -f obj -o $(UNITTARGETDIRPREFIX)prt0h$(OEXT) prt0h.asm
 	$(NASM) -f obj -o $(UNITTARGETDIRPREFIX)prt0h$(OEXT) prt0h.asm
-system$(PPUEXT) : system.pp $(SYSDEPS) wintypes.inc winprocsh.inc winprocs.inc \
-		  glbheap.inc glbheaph.inc locheap.inc locheaph.inc \
-		  sysdl.inc sysdlh.inc
-	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg system.pp
-	$(EXECPPAS)

+ 7 - 5
rtl/win32/Makefile

@@ -887,14 +887,13 @@ COMMON=$(RTL)/common
 PROCINC=$(RTL)/$(CPU_TARGET)
 PROCINC=$(RTL)/$(CPU_TARGET)
 WININC=../win/wininc
 WININC=../win/wininc
 WINDIR=../win
 WINDIR=../win
-OSDIR=win32
 NSOSDIR=$(NSDIR)/windows
 NSOSDIR=$(NSDIR)/windows
 UNITPREFIX=rtl
 UNITPREFIX=rtl
 SYSTEMUNIT=system
 SYSTEMUNIT=system
 DLLS=fpcmemdll
 DLLS=fpcmemdll
 CPU_UNITS=$(CPUUNIT) $(SIGNALSUNIT) $(MMXUNIT)
 CPU_UNITS=$(CPUUNIT) $(SIGNALSUNIT) $(MMXUNIT)
 OBJPASDIR=$(RTL)/objpas
 OBJPASDIR=$(RTL)/objpas
-FPC_SYSTEM_OPT=-Fu$(WINDIR)
+override FPC_SYSTEM_OPT += -Fu$(WINDIR)
 SYSUTILSDIR=$(WINDIR)
 SYSUTILSDIR=$(WINDIR)
 SYSUTILS_OPT=-Fi$(WINDIR)
 SYSUTILS_OPT=-Fi$(WINDIR)
 SYSUTILS_DEPS_OS=$(WINDOWSUNIT)$(PPUEXT) $(WINDIRSUNIT)$(PPUEXT)
 SYSUTILS_DEPS_OS=$(WINDOWSUNIT)$(PPUEXT) $(WINDIRSUNIT)$(PPUEXT)
@@ -908,7 +907,7 @@ EXTPAS_DEPS_OS=buildrtl$(PPUEXT)
 FPWIDESTRING_DEPS_OS=$(WINDOWSUNIT)$(PPUEXT)
 FPWIDESTRING_DEPS_OS=$(WINDOWSUNIT)$(PPUEXT)
 TYPES_DEPS_OS=$(WINDOWSUNIT)$(PPUEXT)
 TYPES_DEPS_OS=$(WINDOWSUNIT)$(PPUEXT)
 ifeq ($(CPU_OS_TARGET),i386-win32)
 ifeq ($(CPU_OS_TARGET),i386-win32)
-override TARGET_UNITS+=system $(UUCHARUNIT) $(OBJPASUNIT) $(MACPASUNIT) $(ISO7185UNIT) $(WINDOWSUNIT) $(SYSUTILSUNIT) buildrtl $(CHARSETUNIT) $(CPALLUNIT) $(LINEINFOUNIT) $(LNFODWRFUNIT)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(UUCHARUNIT) $(OBJPASUNIT) $(MACPASUNIT) $(ISO7185UNIT) $(WINDOWSUNIT) $(SYSUTILSUNIT) buildrtl $(CHARSETUNIT) $(CPALLUNIT) $(LINEINFOUNIT) $(LNFODWRFUNIT)
 endif
 endif
 ifeq ($(CPU_OS_TARGET),i386-win32)
 ifeq ($(CPU_OS_TARGET),i386-win32)
 override TARGET_IMPLICITUNITS+=sysinitpas sysinitcyg sysinitgprof $(INITCUNIT) $(EXTPASUNIT) $(HEAPTRCUNIT) $(WINSYSUTUNIT) $(CTYPESUNIT) $(STRINGSUNIT) $(DOSUNIT) $(MESSAGESUNIT) $(CMEMUNIT) $(DYNLIBSUNIT) $(RTLCONSTSUNIT) $(SYSCONSTUNIT) $(MATHUNIT) $(TYPESUNIT) $(TYPINFOUNIT) $(SORTBASEUNIT) $(FGLUNIT) $(CLASSESUNIT) $(GETOPTSUNIT) $(CHARACTERUNIT) $(FPWIDESTRINGUNIT) $(SHAREMEMUNIT) $(EXEINFOUNIT) $(FPINTRESUNIT) $(WINDIRSUNIT) $(SOFTFPUUNIT) $(SFPUX80UNIT) $(UFLOATX80UNIT) $(SFPU128UNIT) $(UFLOAT128UNIT) $(CP_UNITS) $(UNICODEDATAUNIT) $(CPU_UNITS)
 override TARGET_IMPLICITUNITS+=sysinitpas sysinitcyg sysinitgprof $(INITCUNIT) $(EXTPASUNIT) $(HEAPTRCUNIT) $(WINSYSUTUNIT) $(CTYPESUNIT) $(STRINGSUNIT) $(DOSUNIT) $(MESSAGESUNIT) $(CMEMUNIT) $(DYNLIBSUNIT) $(RTLCONSTSUNIT) $(SYSCONSTUNIT) $(MATHUNIT) $(TYPESUNIT) $(TYPINFOUNIT) $(SORTBASEUNIT) $(FGLUNIT) $(CLASSESUNIT) $(GETOPTSUNIT) $(CHARACTERUNIT) $(FPWIDESTRINGUNIT) $(SHAREMEMUNIT) $(EXEINFOUNIT) $(FPINTRESUNIT) $(WINDIRSUNIT) $(SOFTFPUUNIT) $(SFPUX80UNIT) $(UFLOATX80UNIT) $(SFPU128UNIT) $(UFLOAT128UNIT) $(CP_UNITS) $(UNICODEDATAUNIT) $(CPU_UNITS)
@@ -2219,6 +2218,9 @@ endif
 ifndef NSSYSUTILSDIR
 ifndef NSSYSUTILSDIR
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 endif
 endif
+ifndef SYSTEMDIR
+SYSTEMDIR=$(OSDIR)
+endif
 ifndef CLASSESDIR
 ifndef CLASSESDIR
 CLASSESDIR=$(OSDIR)
 CLASSESDIR=$(OSDIR)
 endif
 endif
@@ -2266,7 +2268,7 @@ OBJC_OPT:=$(OBJC_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 endif
 endif
-$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
+$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMDIR)/$(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 	    $(SYSTEMUNIT)$(PPUEXT) \
 	    $(SYSTEMUNIT)$(PPUEXT) \
@@ -2940,7 +2942,7 @@ BUILDUNITPATHS=-Fu$(WININC) -Fu$(WINDIR) -Fu$(INC) -Fu$(OBJPASDIR) -Fu../$(ARCH)
 ifdef FPC_DOTTEDUNITS
 ifdef FPC_DOTTEDUNITS
 BUILDRTL_OPT:=$(BUILDRTL_OPT) -Fu$(NSINC) -Fu$(NSOSDIR) -dFPC_DOTTEDUNITS 
 BUILDRTL_OPT:=$(BUILDRTL_OPT) -Fu$(NSINC) -Fu$(NSOSDIR) -dFPC_DOTTEDUNITS 
 endif
 endif
-BUILDRTL_DEPS=buildrtl.pp system$(PPUEXT) $(OBJPASUNIT)$(PPUEXT) $(WINDOWSUNIT)$(PPUEXT) $(SYSUTILSUNIT)$(PPUEXT) \
+BUILDRTL_DEPS=buildrtl.pp $(SYSTEMUNIT)$(PPUEXT) $(OBJPASUNIT)$(PPUEXT) $(WINDOWSUNIT)$(PPUEXT) $(SYSUTILSUNIT)$(PPUEXT) \
 	      $(BUILDRTL_DEPS_OS) $(BUILDRTL_DEPS_CPU)
 	      $(BUILDRTL_DEPS_OS) $(BUILDRTL_DEPS_CPU)
 buildrtl$(PPUEXT) : $(BUILDRTL_DEPS)
 buildrtl$(PPUEXT) : $(BUILDRTL_DEPS)
 	$(COMPILER) $(BUILDUNITPATHS) $(BUILDINCLUDEPATHS) $(BUILDRTL_OPT) $<
 	$(COMPILER) $(BUILDUNITPATHS) $(BUILDINCLUDEPATHS) $(BUILDRTL_OPT) $<

+ 8 - 6
rtl/win64/Makefile

@@ -887,7 +887,6 @@ COMMON=$(RTL)/common
 PROCINC=$(RTL)/$(CPU_TARGET)
 PROCINC=$(RTL)/$(CPU_TARGET)
 WININC=../win/wininc
 WININC=../win/wininc
 WINDIR=../win
 WINDIR=../win
-OSDIR=win64
 NSOSDIR=$(NSDIR)/windows
 NSOSDIR=$(NSDIR)/windows
 SYSUTILSDIR=$(WINDIR)
 SYSUTILSDIR=$(WINDIR)
 SYSUTILS_OPT=-Fi../win
 SYSUTILS_OPT=-Fi../win
@@ -906,15 +905,15 @@ CPU_UNITS=$(CPUUNIT) $(SIGNALSUNIT)
 endif
 endif
 OBJPASDIR=$(RTL)/objpas
 OBJPASDIR=$(RTL)/objpas
 WINDOWS_SOURCE_FILES=$(addprefix $(WININC)/,$(addsuffix .inc,$(WINDOWS_FILES)))
 WINDOWS_SOURCE_FILES=$(addprefix $(WININC)/,$(addsuffix .inc,$(WINDOWS_FILES)))
-FPC_SYSTEM_OPT=-Fi../win
+override FPC_SYSTEM_OPT += -Fi../win
 EXEINFO_DEPS_OS=$(WINDOWSUNIT)$(PPUEXT)
 EXEINFO_DEPS_OS=$(WINDOWSUNIT)$(PPUEXT)
 FPWIDESTRING_DEPS_OS=$(WINDOWSUNIT)$(PPUEXT)
 FPWIDESTRING_DEPS_OS=$(WINDOWSUNIT)$(PPUEXT)
 TYPES_DEPS_OS=$(WINDOWSUNIT)$(PPUEXT)
 TYPES_DEPS_OS=$(WINDOWSUNIT)$(PPUEXT)
 ifeq ($(CPU_OS_TARGET),x86_64-win64)
 ifeq ($(CPU_OS_TARGET),x86_64-win64)
-override TARGET_UNITS+=system $(UUCHARUNIT) $(OBJPASUNIT) $(MACPASUNIT) $(ISO7185UNIT) $(WINDOWSUNIT) $(SYSUTILSUNIT) buildrtl $(CHARSETUNIT) $(CPALLUNIT) $(LINEINFOUNIT) $(LNFODWRFUNIT)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(UUCHARUNIT) $(OBJPASUNIT) $(MACPASUNIT) $(ISO7185UNIT) $(WINDOWSUNIT) $(SYSUTILSUNIT) buildrtl $(CHARSETUNIT) $(CPALLUNIT) $(LINEINFOUNIT) $(LNFODWRFUNIT)
 endif
 endif
 ifeq ($(CPU_OS_TARGET),aarch64-win64)
 ifeq ($(CPU_OS_TARGET),aarch64-win64)
-override TARGET_UNITS+=system $(UUCHARUNIT) $(OBJPASUNIT) $(MACPASUNIT) $(ISO7185UNIT) $(WINDOWSUNIT) $(SYSUTILSUNIT) buildrtl $(CHARSETUNIT) $(CPALLUNIT) $(LINEINFOUNIT) $(LNFODWRFUNIT)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(UUCHARUNIT) $(OBJPASUNIT) $(MACPASUNIT) $(ISO7185UNIT) $(WINDOWSUNIT) $(SYSUTILSUNIT) buildrtl $(CHARSETUNIT) $(CPALLUNIT) $(LINEINFOUNIT) $(LNFODWRFUNIT)
 endif
 endif
 ifeq ($(CPU_OS_TARGET),x86_64-win64)
 ifeq ($(CPU_OS_TARGET),x86_64-win64)
 override TARGET_IMPLICITUNITS+=sysinit $(EXTPASUNIT) $(HEAPTRCUNIT) $(FPINTRESUNIT) $(CTYPESUNIT) $(STRINGSUNIT) $(DOSUNIT) $(MESSAGESUNIT) $(CMEMUNIT) $(DYNLIBSUNIT) $(RTLCONSTSUNIT) $(SYSCONSTUNIT) $(MATHUNIT) $(TYPESUNIT) $(TYPINFOUNIT) $(SORTBASEUNIT) $(FGLUNIT) $(CLASSESUNIT) $(GETOPTSUNIT) $(CHARACTERUNIT) $(FPWIDESTRINGUNIT) $(SHAREMEMUNIT) $(EXEINFOUNIT) $(WINDIRSUNIT) $(SOFTFPUUNIT) $(SFPUX80UNIT) $(UFLOATX80UNIT) $(SFPU128UNIT) $(UFLOAT128UNIT) $(CP_UNITS) $(UNICODEDATAUNIT) $(CPU_UNITS)
 override TARGET_IMPLICITUNITS+=sysinit $(EXTPASUNIT) $(HEAPTRCUNIT) $(FPINTRESUNIT) $(CTYPESUNIT) $(STRINGSUNIT) $(DOSUNIT) $(MESSAGESUNIT) $(CMEMUNIT) $(DYNLIBSUNIT) $(RTLCONSTSUNIT) $(SYSCONSTUNIT) $(MATHUNIT) $(TYPESUNIT) $(TYPINFOUNIT) $(SORTBASEUNIT) $(FGLUNIT) $(CLASSESUNIT) $(GETOPTSUNIT) $(CHARACTERUNIT) $(FPWIDESTRINGUNIT) $(SHAREMEMUNIT) $(EXEINFOUNIT) $(WINDIRSUNIT) $(SOFTFPUUNIT) $(SFPUX80UNIT) $(UFLOATX80UNIT) $(SFPU128UNIT) $(UFLOAT128UNIT) $(CP_UNITS) $(UNICODEDATAUNIT) $(CPU_UNITS)
@@ -2240,6 +2239,9 @@ endif
 ifndef NSSYSUTILSDIR
 ifndef NSSYSUTILSDIR
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 endif
 endif
+ifndef SYSTEMDIR
+SYSTEMDIR=$(OSDIR)
+endif
 ifndef CLASSESDIR
 ifndef CLASSESDIR
 CLASSESDIR=$(OSDIR)
 CLASSESDIR=$(OSDIR)
 endif
 endif
@@ -2287,7 +2289,7 @@ OBJC_OPT:=$(OBJC_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 endif
 endif
-$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
+$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMDIR)/$(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 	    $(SYSTEMUNIT)$(PPUEXT) \
 	    $(SYSTEMUNIT)$(PPUEXT) \
@@ -2961,7 +2963,7 @@ BUILDUNITPATHS=-Fu$(WININC) -Fu$(WINDIR) -Fu$(INC) -Fu$(OBJPASDIR) -Fu../$(ARCH)
 ifdef FPC_DOTTEDUNITS
 ifdef FPC_DOTTEDUNITS
 BUILDRTL_OPT:=$(BUILDRTL_OPT) -Fu$(NSINC) -Fu$(NSOSDIR) -dFPC_DOTTEDUNITS 
 BUILDRTL_OPT:=$(BUILDRTL_OPT) -Fu$(NSINC) -Fu$(NSOSDIR) -dFPC_DOTTEDUNITS 
 endif
 endif
-BUILDRTL_DEPS=buildrtl.pp system$(PPUEXT) $(OBJPASUNIT)$(PPUEXT) $(WINDOWSUNIT)$(PPUEXT) $(SYSUTILSUNIT)$(PPUEXT) \
+BUILDRTL_DEPS=buildrtl.pp $(SYSTEMUNIT)$(PPUEXT) $(OBJPASUNIT)$(PPUEXT) $(WINDOWSUNIT)$(PPUEXT) $(SYSUTILSUNIT)$(PPUEXT) \
 	      $(BUILDRTL_DEPS_OS) $(BUILDRTL_DEPS_CPU)
 	      $(BUILDRTL_DEPS_OS) $(BUILDRTL_DEPS_CPU)
 buildrtl$(PPUEXT) : $(BUILDRTL_DEPS)
 buildrtl$(PPUEXT) : $(BUILDRTL_DEPS)
 	$(COMPILER) $(BUILDUNITPATHS) $(BUILDINCLUDEPATHS) $(BUILDRTL_OPT) $<
 	$(COMPILER) $(BUILDUNITPATHS) $(BUILDINCLUDEPATHS) $(BUILDRTL_OPT) $<

+ 6 - 3
rtl/wince/Makefile

@@ -2197,6 +2197,9 @@ endif
 ifndef NSSYSUTILSDIR
 ifndef NSSYSUTILSDIR
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 endif
 endif
+ifndef SYSTEMDIR
+SYSTEMDIR=$(OSDIR)
+endif
 ifndef CLASSESDIR
 ifndef CLASSESDIR
 CLASSESDIR=$(OSDIR)
 CLASSESDIR=$(OSDIR)
 endif
 endif
@@ -2244,7 +2247,7 @@ OBJC_OPT:=$(OBJC_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 endif
 endif
-$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
+$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMDIR)/$(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 	    $(SYSTEMUNIT)$(PPUEXT) \
 	    $(SYSTEMUNIT)$(PPUEXT) \
@@ -2915,7 +2918,7 @@ include $(PROCINC)/makefile.cpu
 SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
 SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
 SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS) winres.inc
 SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS) winres.inc
 WINMESSAGESDIR=$(OSDIR)
 WINMESSAGESDIR=$(OSDIR)
-sharemem$(PPUEXT) : $(WINDIR)/sharemem.pp system$(PPUEXT)
+sharemem$(PPUEXT) : $(WINDIR)/sharemem.pp $(SYSTEMUNIT)$(PPUEXT)
 	$(COMPILER) $(WINDIR)/sharemem.pp
 	$(COMPILER) $(WINDIR)/sharemem.pp
-fpcmemdll.dll : $(WINDIR)/fpcmemdll.pp system$(PPUEXT)
+fpcmemdll.dll : $(WINDIR)/fpcmemdll.pp $(SYSTEMUNIT)$(PPUEXT)
 	$(COMPILER) $(WINDIR)/fpcmemdll.pp
 	$(COMPILER) $(WINDIR)/fpcmemdll.pp

+ 6 - 6
rtl/zxspectrum/Makefile

@@ -896,7 +896,7 @@ ifdef NO_EXCEPTIONS_IN_SYSTEM
 override FPCOPT+=-dNO_EXCEPTIONS_IN_SYSTEM
 override FPCOPT+=-dNO_EXCEPTIONS_IN_SYSTEM
 endif
 endif
 ifeq ($(CPU_OS_TARGET),z80-zxspectrum)
 ifeq ($(CPU_OS_TARGET),z80-zxspectrum)
-override TARGET_UNITS+=system si_prc
+override TARGET_UNITS+=$(SYSTEMUNIT) si_prc
 endif
 endif
 override INSTALL_FPCPACKAGE=y y
 override INSTALL_FPCPACKAGE=y y
 ifeq ($(CPU_OS_TARGET),z80-zxspectrum)
 ifeq ($(CPU_OS_TARGET),z80-zxspectrum)
@@ -2170,6 +2170,9 @@ endif
 ifndef NSSYSUTILSDIR
 ifndef NSSYSUTILSDIR
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
 endif
 endif
+ifndef SYSTEMDIR
+SYSTEMDIR=$(OSDIR)
+endif
 ifndef CLASSESDIR
 ifndef CLASSESDIR
 CLASSESDIR=$(OSDIR)
 CLASSESDIR=$(OSDIR)
 endif
 endif
@@ -2217,7 +2220,7 @@ OBJC_OPT:=$(OBJC_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
 endif
 endif
-$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
+$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMDIR)/$(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 UUCHAR_DEPS=$(INC)/uuchar.pp \
 	    $(SYSTEMUNIT)$(PPUEXT) \
 	    $(SYSTEMUNIT)$(PPUEXT) \
@@ -2883,8 +2886,5 @@ SYSINCDEPS=$(addprefix $(INC)/,$(SYSINCNAMES))
 include $(PROCINC)/makefile.cpu
 include $(PROCINC)/makefile.cpu
 SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
 SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
 SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS)
 SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS)
-system$(PPUEXT) : system.pp $(SYSDEPS)
-	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg system.pp
-	$(EXECPPAS)
-si_prc$(PPUEXT) : system$(PPUEXT)
+si_prc$(PPUEXT) : $(SYSTEMUNIT)$(PPUEXT)
 	$(COMPILER) si_prc.pp
 	$(COMPILER) si_prc.pp