Browse Source

* regenerate makefiles

Nikolay Nikolov 1 month ago
parent
commit
ce59c7680c
52 changed files with 81850 additions and 25732 deletions
  1. 27 1
      Makefile
  2. 76 5
      compiler/Makefile
  3. 57 4
      compiler/utils/Makefile
  4. 31 1
      installer/Makefile
  5. 13 1
      packages/Makefile
  6. 13 1
      rtl/Makefile
  7. 1767 587
      rtl/aix/Makefile
  8. 2109 584
      rtl/amiga/Makefile
  9. 2757 638
      rtl/android/Makefile
  10. 44 4
      rtl/android/jvm/Makefile
  11. 2098 591
      rtl/aros/Makefile
  12. 2107 564
      rtl/atari/Makefile
  13. 2462 571
      rtl/beos/Makefile
  14. 1686 626
      rtl/darwin/Makefile
  15. 2123 580
      rtl/dragonfly/Makefile
  16. 1310 655
      rtl/embedded/Makefile
  17. 2115 572
      rtl/emx/Makefile
  18. 2114 607
      rtl/freebsd/Makefile
  19. 1803 638
      rtl/freertos/Makefile
  20. 1757 562
      rtl/gba/Makefile
  21. 2115 572
      rtl/go32v2/Makefile
  22. 2463 593
      rtl/haiku/Makefile
  23. 2107 564
      rtl/human68k/Makefile
  24. 1062 563
      rtl/java/Makefile
  25. 2574 776
      rtl/linux/Makefile
  26. 1756 576
      rtl/macos/Makefile
  27. 1759 564
      rtl/morphos/Makefile
  28. 1760 565
      rtl/msdos/Makefile
  29. 1410 563
      rtl/msxdos/Makefile
  30. 1765 570
      rtl/nativent/Makefile
  31. 1759 564
      rtl/nds/Makefile
  32. 2067 614
      rtl/netbsd/Makefile
  33. 2122 579
      rtl/netware/Makefile
  34. 2112 569
      rtl/netwlibc/Makefile
  35. 2101 576
      rtl/openbsd/Makefile
  36. 2114 571
      rtl/os2/Makefile
  37. 1750 570
      rtl/palmos/Makefile
  38. 1059 560
      rtl/ps1/Makefile
  39. 2107 564
      rtl/sinclairql/Makefile
  40. 1739 574
      rtl/solaris/Makefile
  41. 1413 578
      rtl/symbian/Makefile
  42. 1417 570
      rtl/wasip1/Makefile
  43. 1417 570
      rtl/wasip1threads/Makefile
  44. 1413 566
      rtl/wasip2/Makefile
  45. 2112 569
      rtl/watcom/Makefile
  46. 1401 554
      rtl/wii/Makefile
  47. 1763 568
      rtl/win16/Makefile
  48. 2124 581
      rtl/win32/Makefile
  49. 2118 593
      rtl/win64/Makefile
  50. 1418 583
      rtl/wince/Makefile
  51. 1059 560
      rtl/zxspectrum/Makefile
  52. 25 1
      utils/Makefile

+ 27 - 1
Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: help
 default: help
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads wasm32-wasip2 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads wasm32-wasip2 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux mos6502-embedded mos6502-oric
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -893,6 +893,12 @@ endif
 ifeq ($(CPU_OS_TARGET),loongarch64-linux)
 ifeq ($(CPU_OS_TARGET),loongarch64-linux)
 override TARGET_DIRS+=compiler rtl utils packages installer
 override TARGET_DIRS+=compiler rtl utils packages installer
 endif
 endif
+ifeq ($(CPU_OS_TARGET),mos6502-embedded)
+override TARGET_DIRS+=compiler rtl utils packages installer
+endif
+ifeq ($(CPU_OS_TARGET),mos6502-oric)
+override TARGET_DIRS+=compiler rtl utils packages installer
+endif
 override INSTALL_FPCPACKAGE=y
 override INSTALL_FPCPACKAGE=y
 ifdef REQUIRE_UNITSDIR
 ifdef REQUIRE_UNITSDIR
 override UNITSDIR+=$(REQUIRE_UNITSDIR)
 override UNITSDIR+=$(REQUIRE_UNITSDIR)
@@ -1418,6 +1424,9 @@ endif
 ifeq ($(CPU_TARGET),z80)
 ifeq ($(CPU_TARGET),z80)
 OEXT=.rel
 OEXT=.rel
 endif
 endif
+ifeq ($(CPU_TARGET),mos6502)
+OEXT=.rel
+endif
 SHORTSUFFIX=emb
 SHORTSUFFIX=emb
 endif
 endif
 ALL_EXEEXT+=.bin
 ALL_EXEEXT+=.bin
@@ -1440,6 +1449,9 @@ endif
 ifeq ($(OS_TARGET),wasip2)
 ifeq ($(OS_TARGET),wasip2)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),oric)
+OEXT=.rel
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -3047,6 +3059,20 @@ TARGET_DIRS_UTILS=1
 TARGET_DIRS_PACKAGES=1
 TARGET_DIRS_PACKAGES=1
 TARGET_DIRS_INSTALLER=1
 TARGET_DIRS_INSTALLER=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),mos6502-embedded)
+TARGET_DIRS_COMPILER=1
+TARGET_DIRS_RTL=1
+TARGET_DIRS_UTILS=1
+TARGET_DIRS_PACKAGES=1
+TARGET_DIRS_INSTALLER=1
+endif
+ifeq ($(CPU_OS_TARGET),mos6502-oric)
+TARGET_DIRS_COMPILER=1
+TARGET_DIRS_RTL=1
+TARGET_DIRS_UTILS=1
+TARGET_DIRS_PACKAGES=1
+TARGET_DIRS_INSTALLER=1
+endif
 ifdef TARGET_DIRS_COMPILER
 ifdef TARGET_DIRS_COMPILER
 compiler_all:
 compiler_all:
 	$(MAKE) -C compiler all
 	$(MAKE) -C compiler all

+ 76 - 5
compiler/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads wasm32-wasip2 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads wasm32-wasip2 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux mos6502-embedded mos6502-oric
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -655,7 +655,7 @@ ifdef LLVM
 ifeq ($(findstring $(PPC_TARGET),x86_64 aarch64 arm),)
 ifeq ($(findstring $(PPC_TARGET),x86_64 aarch64 arm),)
 $(error The $(PPC_TARGET) architecture is not (yet) supported by the FPC/LLVM code generator)
 $(error The $(PPC_TARGET) architecture is not (yet) supported by the FPC/LLVM code generator)
 endif
 endif
-ifeq ($(findstring $(OS_TARGET),darwin iphonesim linux),)
+ifeq ($(findstring $(OS_TARGET),darwin iphonesim linux openbsd),)
 $(error The $(OS_TARGET) target OS is not (yet) supported by the FPC/LLVM code generator)
 $(error The $(OS_TARGET) target OS is not (yet) supported by the FPC/LLVM code generator)
 endif
 endif
 override LOCALOPT+=-dllvm -Fullvm
 override LOCALOPT+=-dllvm -Fullvm
@@ -1075,6 +1075,12 @@ endif
 ifeq ($(CPU_OS_TARGET),loongarch64-linux)
 ifeq ($(CPU_OS_TARGET),loongarch64-linux)
 override TARGET_DIRS+=utils
 override TARGET_DIRS+=utils
 endif
 endif
+ifeq ($(CPU_OS_TARGET),mos6502-embedded)
+override TARGET_DIRS+=utils
+endif
+ifeq ($(CPU_OS_TARGET),mos6502-oric)
+override TARGET_DIRS+=utils
+endif
 ifeq ($(CPU_OS_TARGET),i386-linux)
 ifeq ($(CPU_OS_TARGET),i386-linux)
 override TARGET_PROGRAMS+=pp
 override TARGET_PROGRAMS+=pp
 endif
 endif
@@ -1420,6 +1426,12 @@ endif
 ifeq ($(CPU_OS_TARGET),loongarch64-linux)
 ifeq ($(CPU_OS_TARGET),loongarch64-linux)
 override TARGET_PROGRAMS+=pp
 override TARGET_PROGRAMS+=pp
 endif
 endif
+ifeq ($(CPU_OS_TARGET),mos6502-embedded)
+override TARGET_PROGRAMS+=pp
+endif
+ifeq ($(CPU_OS_TARGET),mos6502-oric)
+override TARGET_PROGRAMS+=pp
+endif
 override INSTALL_FPCPACKAGE=y
 override INSTALL_FPCPACKAGE=y
 ifeq ($(CPU_OS_TARGET),i386-linux)
 ifeq ($(CPU_OS_TARGET),i386-linux)
 override COMPILER_INCLUDEDIR+=$(CPC_TARGET)
 override COMPILER_INCLUDEDIR+=$(CPC_TARGET)
@@ -1766,6 +1778,12 @@ endif
 ifeq ($(CPU_OS_TARGET),loongarch64-linux)
 ifeq ($(CPU_OS_TARGET),loongarch64-linux)
 override COMPILER_INCLUDEDIR+=$(CPC_TARGET)
 override COMPILER_INCLUDEDIR+=$(CPC_TARGET)
 endif
 endif
+ifeq ($(CPU_OS_TARGET),mos6502-embedded)
+override COMPILER_INCLUDEDIR+=$(CPC_TARGET)
+endif
+ifeq ($(CPU_OS_TARGET),mos6502-oric)
+override COMPILER_INCLUDEDIR+=$(CPC_TARGET)
+endif
 ifeq ($(CPU_OS_TARGET),i386-linux)
 ifeq ($(CPU_OS_TARGET),i386-linux)
 override COMPILER_UNITDIR+=$(COMPILERSOURCEDIR)
 override COMPILER_UNITDIR+=$(COMPILERSOURCEDIR)
 endif
 endif
@@ -2111,6 +2129,12 @@ endif
 ifeq ($(CPU_OS_TARGET),loongarch64-linux)
 ifeq ($(CPU_OS_TARGET),loongarch64-linux)
 override COMPILER_UNITDIR+=$(COMPILERSOURCEDIR)
 override COMPILER_UNITDIR+=$(COMPILERSOURCEDIR)
 endif
 endif
+ifeq ($(CPU_OS_TARGET),mos6502-embedded)
+override COMPILER_UNITDIR+=$(COMPILERSOURCEDIR)
+endif
+ifeq ($(CPU_OS_TARGET),mos6502-oric)
+override COMPILER_UNITDIR+=$(COMPILERSOURCEDIR)
+endif
 ifeq ($(CPU_OS_TARGET),i386-linux)
 ifeq ($(CPU_OS_TARGET),i386-linux)
 override COMPILER_TARGETDIR+=$(CPU_UNITDIR)/bin/$(FULL_TARGET)
 override COMPILER_TARGETDIR+=$(CPU_UNITDIR)/bin/$(FULL_TARGET)
 endif
 endif
@@ -2456,6 +2480,12 @@ endif
 ifeq ($(CPU_OS_TARGET),loongarch64-linux)
 ifeq ($(CPU_OS_TARGET),loongarch64-linux)
 override COMPILER_TARGETDIR+=$(CPU_UNITDIR)/bin/$(FULL_TARGET)
 override COMPILER_TARGETDIR+=$(CPU_UNITDIR)/bin/$(FULL_TARGET)
 endif
 endif
+ifeq ($(CPU_OS_TARGET),mos6502-embedded)
+override COMPILER_TARGETDIR+=$(CPU_UNITDIR)/bin/$(FULL_TARGET)
+endif
+ifeq ($(CPU_OS_TARGET),mos6502-oric)
+override COMPILER_TARGETDIR+=$(CPU_UNITDIR)/bin/$(FULL_TARGET)
+endif
 ifeq ($(CPU_OS_TARGET),i386-linux)
 ifeq ($(CPU_OS_TARGET),i386-linux)
 override COMPILER_UNITTARGETDIR+=$(CPU_UNITDIR)/units/$(FULL_TARGET)
 override COMPILER_UNITTARGETDIR+=$(CPU_UNITDIR)/units/$(FULL_TARGET)
 endif
 endif
@@ -2801,6 +2831,12 @@ endif
 ifeq ($(CPU_OS_TARGET),loongarch64-linux)
 ifeq ($(CPU_OS_TARGET),loongarch64-linux)
 override COMPILER_UNITTARGETDIR+=$(CPU_UNITDIR)/units/$(FULL_TARGET)
 override COMPILER_UNITTARGETDIR+=$(CPU_UNITDIR)/units/$(FULL_TARGET)
 endif
 endif
+ifeq ($(CPU_OS_TARGET),mos6502-embedded)
+override COMPILER_UNITTARGETDIR+=$(CPU_UNITDIR)/units/$(FULL_TARGET)
+endif
+ifeq ($(CPU_OS_TARGET),mos6502-oric)
+override COMPILER_UNITTARGETDIR+=$(CPU_UNITDIR)/units/$(FULL_TARGET)
+endif
 ifdef REQUIRE_UNITSDIR
 ifdef REQUIRE_UNITSDIR
 override UNITSDIR+=$(REQUIRE_UNITSDIR)
 override UNITSDIR+=$(REQUIRE_UNITSDIR)
 endif
 endif
@@ -3120,6 +3156,7 @@ STATICLIBPREFIX=libp
 IMPORTLIBPREFIX=libimp
 IMPORTLIBPREFIX=libimp
 RSTEXT=.rsj
 RSTEXT=.rsj
 EXEDBGEXT=.dbg
 EXEDBGEXT=.dbg
+ALL_EXEEXT=.exe
 ifeq ($(OS_TARGET),go32v1)
 ifeq ($(OS_TARGET),go32v1)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=v1
 SHORTSUFFIX=v1
@@ -3216,6 +3253,7 @@ ifeq ($(OS_TARGET),atari)
 EXEEXT=.ttp
 EXEEXT=.ttp
 SHORTSUFFIX=ata
 SHORTSUFFIX=ata
 endif
 endif
+ALL_EXEEXT+=.ttp
 ifeq ($(OS_TARGET),beos)
 ifeq ($(OS_TARGET),beos)
 BATCHEXT=.sh
 BATCHEXT=.sh
 EXEEXT=
 EXEEXT=
@@ -3242,6 +3280,7 @@ STATICLIBPREFIX=
 SHORTSUFFIX=nw
 SHORTSUFFIX=nw
 IMPORTLIBPREFIX=imp
 IMPORTLIBPREFIX=imp
 endif
 endif
+ALL_EXEEXT+=.nlm
 ifeq ($(OS_TARGET),netwlibc)
 ifeq ($(OS_TARGET),netwlibc)
 EXEEXT=.nlm
 EXEEXT=.nlm
 STATICLIBPREFIX=
 STATICLIBPREFIX=
@@ -3267,6 +3306,7 @@ EXEEXT=.gba
 SHAREDLIBEXT=.so
 SHAREDLIBEXT=.so
 SHORTSUFFIX=gba
 SHORTSUFFIX=gba
 endif
 endif
+ALL_EXEEXT+=.gba
 ifeq ($(OS_TARGET),symbian)
 ifeq ($(OS_TARGET),symbian)
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=symbian
 SHORTSUFFIX=symbian
@@ -3280,6 +3320,7 @@ EXEEXT=.dol
 SHAREDLIBEXT=.so
 SHAREDLIBEXT=.so
 SHORTSUFFIX=wii
 SHORTSUFFIX=wii
 endif
 endif
+ALL_EXEEXT+=.dol
 ifeq ($(OS_TARGET),aix)
 ifeq ($(OS_TARGET),aix)
 BATCHEXT=.sh
 BATCHEXT=.sh
 EXEEXT=
 EXEEXT=
@@ -3320,8 +3361,12 @@ endif
 ifeq ($(CPU_TARGET),z80)
 ifeq ($(CPU_TARGET),z80)
 OEXT=.rel
 OEXT=.rel
 endif
 endif
+ifeq ($(CPU_TARGET),mos6502)
+OEXT=.rel
+endif
 SHORTSUFFIX=emb
 SHORTSUFFIX=emb
 endif
 endif
+ALL_EXEEXT+=.bin
 ifeq ($(OS_TARGET),win16)
 ifeq ($(OS_TARGET),win16)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 STATICLIBEXT=.a
 STATICLIBEXT=.a
@@ -3334,12 +3379,16 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ALL_EXEEXT+=.wasm
 ifeq ($(OS_TARGET),wasip1threads)
 ifeq ($(OS_TARGET),wasip1threads)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
 ifeq ($(OS_TARGET),wasip2)
 ifeq ($(OS_TARGET),wasip2)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),oric)
+OEXT=.rel
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -3940,6 +3989,12 @@ endif
 ifeq ($(CPU_OS_TARGET),loongarch64-linux)
 ifeq ($(CPU_OS_TARGET),loongarch64-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),mos6502-embedded)
+REQUIRE_PACKAGES_RTL=1
+endif
+ifeq ($(CPU_OS_TARGET),mos6502-oric)
+REQUIRE_PACKAGES_RTL=1
+endif
 ifdef REQUIRE_PACKAGES_RTL
 ifdef REQUIRE_PACKAGES_RTL
 PACKAGEDIR_RTL:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /rtl/Makefile.fpc,$(PACKAGESDIR))))))
 PACKAGEDIR_RTL:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /rtl/Makefile.fpc,$(PACKAGESDIR))))))
 ifeq ($(PACKAGEDIR_RTL),)
 ifeq ($(PACKAGEDIR_RTL),)
@@ -4171,6 +4226,7 @@ endif
 ifndef CROSSINSTALL
 ifndef CROSSINSTALL
 ifneq ($(TARGET_PROGRAMS),)
 ifneq ($(TARGET_PROGRAMS),)
 override EXEFILES=$(addsuffix $(EXEEXT),$(TARGET_PROGRAMS))
 override EXEFILES=$(addsuffix $(EXEEXT),$(TARGET_PROGRAMS))
+override ALL_EXEFILES+=$(foreach lEXEEXT,$(ALL_EXEEXT),$(addprefix $(TARGETDIRPREFIX),$(addsuffix $(lEXEEXT), $(EXEFILES))))
 override EXEOFILES:=$(addsuffix $(OEXT),$(TARGET_PROGRAMS)) $(addsuffix $(LTOEXT),$(TARGET_PROGRAMS))$(addprefix $(STATICLIBPREFIX),$(addsuffix $(STATICLIBEXT),$(TARGET_PROGRAMS))) $(addprefix $(IMPORTLIBPREFIX),$(addsuffix $(STATICLIBEXT),$(TARGET_PROGRAMS)))
 override EXEOFILES:=$(addsuffix $(OEXT),$(TARGET_PROGRAMS)) $(addsuffix $(LTOEXT),$(TARGET_PROGRAMS))$(addprefix $(STATICLIBPREFIX),$(addsuffix $(STATICLIBEXT),$(TARGET_PROGRAMS))) $(addprefix $(IMPORTLIBPREFIX),$(addsuffix $(STATICLIBEXT),$(TARGET_PROGRAMS)))
 override EXEDBGFILES:=$(addsuffix $(EXEDBGEXT),$(TARGET_PROGRAMS))
 override EXEDBGFILES:=$(addsuffix $(EXEDBGEXT),$(TARGET_PROGRAMS))
 override ALLTARGET+=fpc_exes
 override ALLTARGET+=fpc_exes
@@ -4300,6 +4356,10 @@ ifdef INSTALL_CREATEPACKAGEFPC
 ifdef FPCMAKE
 ifdef FPCMAKE
 ifdef PACKAGE_VERSION
 ifdef PACKAGE_VERSION
 ifneq ($(wildcard Makefile.fpc),)
 ifneq ($(wildcard Makefile.fpc),)
+ifdef FPCMAKENEW
+	$(MKDIR) $(INSTALL_UNITDIR)
+	$(FPCMAKENEW) -o $(INSTALL_UNITDIR)/Package.fpc -p -T$(CPU_TARGET)-$(OS_TARGET) Makefile.fpc
+else
 	$(FPCMAKE) -p -T$(CPU_TARGET)-$(OS_TARGET) Makefile.fpc
 	$(FPCMAKE) -p -T$(CPU_TARGET)-$(OS_TARGET) Makefile.fpc
 	$(MKDIR) $(INSTALL_UNITDIR)
 	$(MKDIR) $(INSTALL_UNITDIR)
 	$(INSTALL) Package.fpc $(INSTALL_UNITDIR)
 	$(INSTALL) Package.fpc $(INSTALL_UNITDIR)
@@ -4307,6 +4367,7 @@ endif
 endif
 endif
 endif
 endif
 endif
 endif
+endif
 ifdef INSTALLPPUFILES
 ifdef INSTALLPPUFILES
 	$(MKDIR) $(INSTALL_UNITDIR)
 	$(MKDIR) $(INSTALL_UNITDIR)
 	$(INSTALL) $(INSTALLPPUFILES) $(INSTALL_UNITDIR)
 	$(INSTALL) $(INSTALLPPUFILES) $(INSTALL_UNITDIR)
@@ -4431,6 +4492,7 @@ override CLEANEXEDBGFILES:=$(addprefix $(TARGETDIRPREFIX),$(CLEANEXEDBGFILES))
 endif
 endif
 ifdef CLEAN_PROGRAMS
 ifdef CLEAN_PROGRAMS
 override CLEANEXEFILES+=$(addprefix $(TARGETDIRPREFIX),$(addsuffix $(EXEEXT), $(CLEAN_PROGRAMS)))
 override CLEANEXEFILES+=$(addprefix $(TARGETDIRPREFIX),$(addsuffix $(EXEEXT), $(CLEAN_PROGRAMS)))
+override ALL_CLEANEXEFILES+=$(foreach lEXEEXT,$(ALL_EXEEXT),$(addprefix $(TARGETDIRPREFIX),$(addsuffix $(lEXEEXT), $(CLEAN_PROGRAMS))))
 override CLEANEXEDBGFILES+=$(addprefix $(TARGETDIRPREFIX),$(addsuffix $(EXEDBGEXT), $(CLEAN_PROGRAMS)))
 override CLEANEXEDBGFILES+=$(addprefix $(TARGETDIRPREFIX),$(addsuffix $(EXEDBGEXT), $(CLEAN_PROGRAMS)))
 endif
 endif
 ifdef CLEAN_UNITS
 ifdef CLEAN_UNITS
@@ -4469,12 +4531,15 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 endif
 	-$(DEL) $(FPCMADE) *$(FULL_TARGET).fpm Package.fpc *$(ASMEXT)
 	-$(DEL) $(FPCMADE) *$(FULL_TARGET).fpm Package.fpc *$(ASMEXT)
-	-$(DEL) $(FPCEXTFILE) $(REDIRFILE) script*.res link*.res *_script.res *_link.res
+	-$(DEL) $(FPCEXTFILE) $(REDIRFILE) script*.res link*.res *_script.res *_link.res symbol_order*.fpc
 	-$(DEL) $(PPAS) *_ppas$(BATCHEXT) ppas$(BATCHEXT) ppaslink$(BATCHEXT)
 	-$(DEL) $(PPAS) *_ppas$(BATCHEXT) ppas$(BATCHEXT) ppaslink$(BATCHEXT)
 fpc_cleanall: $(CLEANTARGET)
 fpc_cleanall: $(CLEANTARGET)
 ifdef CLEANEXEFILES
 ifdef CLEANEXEFILES
 	-$(DEL) $(CLEANEXEFILES)
 	-$(DEL) $(CLEANEXEFILES)
 endif
 endif
+ifdef ALL_CLEANEXEFILES
+	-$(DEL) $(ALL_CLEANEXEFILES)
+endif
 ifdef COMPILER_UNITTARGETDIR
 ifdef COMPILER_UNITTARGETDIR
 ifdef CLEANPPUFILES
 ifdef CLEANPPUFILES
 	-$(DEL) $(CLEANPPUFILES)
 	-$(DEL) $(CLEANPPUFILES)
@@ -4496,8 +4561,8 @@ ifneq ($(PPUEXT),.ppu)
 	-$(DEL) *.o *.ppu *.a
 	-$(DEL) *.o *.ppu *.a
 endif
 endif
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DELTREE) *$(SMARTEXT)
-	-$(DEL) fpcmade.* Package.fpc *.fpm
-	-$(DEL) $(FPCEXTFILE) $(REDIRFILE) script*.res link*.res *_script.res *_link.res
+	-$(DEL) fpcmade.* Package*.fpc *.fpm
+	-$(DEL) $(FPCEXTFILE) $(REDIRFILE) script*.res link*.res *_script.res *_link.res symbol_order*.fpc
 	-$(DEL) $(PPAS) *_ppas$(BATCHEXT) ppas$(BATCHEXT) ppaslink$(BATCHEXT)
 	-$(DEL) $(PPAS) *_ppas$(BATCHEXT) ppas$(BATCHEXT) ppaslink$(BATCHEXT)
 ifdef AOUTEXT
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 	-$(DEL) *$(AOUTEXT)
@@ -4962,6 +5027,12 @@ endif
 ifeq ($(CPU_OS_TARGET),loongarch64-linux)
 ifeq ($(CPU_OS_TARGET),loongarch64-linux)
 TARGET_DIRS_UTILS=1
 TARGET_DIRS_UTILS=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),mos6502-embedded)
+TARGET_DIRS_UTILS=1
+endif
+ifeq ($(CPU_OS_TARGET),mos6502-oric)
+TARGET_DIRS_UTILS=1
+endif
 ifdef TARGET_DIRS_UTILS
 ifdef TARGET_DIRS_UTILS
 utils_all:
 utils_all:
 	$(MAKE) -C utils all
 	$(MAKE) -C utils all

+ 57 - 4
compiler/utils/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads wasm32-wasip2 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads wasm32-wasip2 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux mos6502-embedded mos6502-oric
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -714,6 +714,12 @@ endif
 ifeq ($(CPU_OS_TARGET),loongarch64-linux)
 ifeq ($(CPU_OS_TARGET),loongarch64-linux)
 override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove mka64ins mkarmins mkx86ins msg2inc mkx86inl mkz80ins
 override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove mka64ins mkarmins mkx86ins msg2inc mkx86inl mkz80ins
 endif
 endif
+ifeq ($(CPU_OS_TARGET),mos6502-embedded)
+override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove mka64ins mkarmins mkx86ins msg2inc mkx86inl mkz80ins
+endif
+ifeq ($(CPU_OS_TARGET),mos6502-oric)
+override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove mka64ins mkarmins mkx86ins msg2inc mkx86inl mkz80ins
+endif
 ifeq ($(CPU_OS_TARGET),i386-linux)
 ifeq ($(CPU_OS_TARGET),i386-linux)
 override CLEAN_UNITS+=ppu crc
 override CLEAN_UNITS+=ppu crc
 endif
 endif
@@ -1059,6 +1065,12 @@ endif
 ifeq ($(CPU_OS_TARGET),loongarch64-linux)
 ifeq ($(CPU_OS_TARGET),loongarch64-linux)
 override CLEAN_UNITS+=ppu crc
 override CLEAN_UNITS+=ppu crc
 endif
 endif
+ifeq ($(CPU_OS_TARGET),mos6502-embedded)
+override CLEAN_UNITS+=ppu crc
+endif
+ifeq ($(CPU_OS_TARGET),mos6502-oric)
+override CLEAN_UNITS+=ppu crc
+endif
 override INSTALL_FPCPACKAGE=y
 override INSTALL_FPCPACKAGE=y
 ifeq ($(CPU_OS_TARGET),i386-linux)
 ifeq ($(CPU_OS_TARGET),i386-linux)
 override COMPILER_UNITDIR+=..
 override COMPILER_UNITDIR+=..
@@ -1405,6 +1417,12 @@ endif
 ifeq ($(CPU_OS_TARGET),loongarch64-linux)
 ifeq ($(CPU_OS_TARGET),loongarch64-linux)
 override COMPILER_UNITDIR+=..
 override COMPILER_UNITDIR+=..
 endif
 endif
+ifeq ($(CPU_OS_TARGET),mos6502-embedded)
+override COMPILER_UNITDIR+=..
+endif
+ifeq ($(CPU_OS_TARGET),mos6502-oric)
+override COMPILER_UNITDIR+=..
+endif
 ifeq ($(CPU_OS_TARGET),i386-linux)
 ifeq ($(CPU_OS_TARGET),i386-linux)
 override COMPILER_SOURCEDIR+=..
 override COMPILER_SOURCEDIR+=..
 endif
 endif
@@ -1750,6 +1768,12 @@ endif
 ifeq ($(CPU_OS_TARGET),loongarch64-linux)
 ifeq ($(CPU_OS_TARGET),loongarch64-linux)
 override COMPILER_SOURCEDIR+=..
 override COMPILER_SOURCEDIR+=..
 endif
 endif
+ifeq ($(CPU_OS_TARGET),mos6502-embedded)
+override COMPILER_SOURCEDIR+=..
+endif
+ifeq ($(CPU_OS_TARGET),mos6502-oric)
+override COMPILER_SOURCEDIR+=..
+endif
 override SHARED_BUILD=n
 override SHARED_BUILD=n
 override SHARED_BUILD=n
 override SHARED_BUILD=n
 ifdef REQUIRE_UNITSDIR
 ifdef REQUIRE_UNITSDIR
@@ -2071,6 +2095,7 @@ STATICLIBPREFIX=libp
 IMPORTLIBPREFIX=libimp
 IMPORTLIBPREFIX=libimp
 RSTEXT=.rsj
 RSTEXT=.rsj
 EXEDBGEXT=.dbg
 EXEDBGEXT=.dbg
+ALL_EXEEXT=.exe
 ifeq ($(OS_TARGET),go32v1)
 ifeq ($(OS_TARGET),go32v1)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=v1
 SHORTSUFFIX=v1
@@ -2167,6 +2192,7 @@ ifeq ($(OS_TARGET),atari)
 EXEEXT=.ttp
 EXEEXT=.ttp
 SHORTSUFFIX=ata
 SHORTSUFFIX=ata
 endif
 endif
+ALL_EXEEXT+=.ttp
 ifeq ($(OS_TARGET),beos)
 ifeq ($(OS_TARGET),beos)
 BATCHEXT=.sh
 BATCHEXT=.sh
 EXEEXT=
 EXEEXT=
@@ -2193,6 +2219,7 @@ STATICLIBPREFIX=
 SHORTSUFFIX=nw
 SHORTSUFFIX=nw
 IMPORTLIBPREFIX=imp
 IMPORTLIBPREFIX=imp
 endif
 endif
+ALL_EXEEXT+=.nlm
 ifeq ($(OS_TARGET),netwlibc)
 ifeq ($(OS_TARGET),netwlibc)
 EXEEXT=.nlm
 EXEEXT=.nlm
 STATICLIBPREFIX=
 STATICLIBPREFIX=
@@ -2218,6 +2245,7 @@ EXEEXT=.gba
 SHAREDLIBEXT=.so
 SHAREDLIBEXT=.so
 SHORTSUFFIX=gba
 SHORTSUFFIX=gba
 endif
 endif
+ALL_EXEEXT+=.gba
 ifeq ($(OS_TARGET),symbian)
 ifeq ($(OS_TARGET),symbian)
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=symbian
 SHORTSUFFIX=symbian
@@ -2231,6 +2259,7 @@ EXEEXT=.dol
 SHAREDLIBEXT=.so
 SHAREDLIBEXT=.so
 SHORTSUFFIX=wii
 SHORTSUFFIX=wii
 endif
 endif
+ALL_EXEEXT+=.dol
 ifeq ($(OS_TARGET),aix)
 ifeq ($(OS_TARGET),aix)
 BATCHEXT=.sh
 BATCHEXT=.sh
 EXEEXT=
 EXEEXT=
@@ -2271,8 +2300,12 @@ endif
 ifeq ($(CPU_TARGET),z80)
 ifeq ($(CPU_TARGET),z80)
 OEXT=.rel
 OEXT=.rel
 endif
 endif
+ifeq ($(CPU_TARGET),mos6502)
+OEXT=.rel
+endif
 SHORTSUFFIX=emb
 SHORTSUFFIX=emb
 endif
 endif
+ALL_EXEEXT+=.bin
 ifeq ($(OS_TARGET),win16)
 ifeq ($(OS_TARGET),win16)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 STATICLIBEXT=.a
 STATICLIBEXT=.a
@@ -2285,12 +2318,16 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ALL_EXEEXT+=.wasm
 ifeq ($(OS_TARGET),wasip1threads)
 ifeq ($(OS_TARGET),wasip1threads)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
 ifeq ($(OS_TARGET),wasip2)
 ifeq ($(OS_TARGET),wasip2)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),oric)
+OEXT=.rel
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -2891,6 +2928,12 @@ endif
 ifeq ($(CPU_OS_TARGET),loongarch64-linux)
 ifeq ($(CPU_OS_TARGET),loongarch64-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),mos6502-embedded)
+REQUIRE_PACKAGES_RTL=1
+endif
+ifeq ($(CPU_OS_TARGET),mos6502-oric)
+REQUIRE_PACKAGES_RTL=1
+endif
 ifdef REQUIRE_PACKAGES_RTL
 ifdef REQUIRE_PACKAGES_RTL
 PACKAGEDIR_RTL:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /rtl/Makefile.fpc,$(PACKAGESDIR))))))
 PACKAGEDIR_RTL:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /rtl/Makefile.fpc,$(PACKAGESDIR))))))
 ifeq ($(PACKAGEDIR_RTL),)
 ifeq ($(PACKAGEDIR_RTL),)
@@ -3122,6 +3165,7 @@ endif
 ifndef CROSSINSTALL
 ifndef CROSSINSTALL
 ifneq ($(TARGET_PROGRAMS),)
 ifneq ($(TARGET_PROGRAMS),)
 override EXEFILES=$(addsuffix $(EXEEXT),$(TARGET_PROGRAMS))
 override EXEFILES=$(addsuffix $(EXEEXT),$(TARGET_PROGRAMS))
+override ALL_EXEFILES+=$(foreach lEXEEXT,$(ALL_EXEEXT),$(addprefix $(TARGETDIRPREFIX),$(addsuffix $(lEXEEXT), $(EXEFILES))))
 override EXEOFILES:=$(addsuffix $(OEXT),$(TARGET_PROGRAMS)) $(addsuffix $(LTOEXT),$(TARGET_PROGRAMS))$(addprefix $(STATICLIBPREFIX),$(addsuffix $(STATICLIBEXT),$(TARGET_PROGRAMS))) $(addprefix $(IMPORTLIBPREFIX),$(addsuffix $(STATICLIBEXT),$(TARGET_PROGRAMS)))
 override EXEOFILES:=$(addsuffix $(OEXT),$(TARGET_PROGRAMS)) $(addsuffix $(LTOEXT),$(TARGET_PROGRAMS))$(addprefix $(STATICLIBPREFIX),$(addsuffix $(STATICLIBEXT),$(TARGET_PROGRAMS))) $(addprefix $(IMPORTLIBPREFIX),$(addsuffix $(STATICLIBEXT),$(TARGET_PROGRAMS)))
 override EXEDBGFILES:=$(addsuffix $(EXEDBGEXT),$(TARGET_PROGRAMS))
 override EXEDBGFILES:=$(addsuffix $(EXEDBGEXT),$(TARGET_PROGRAMS))
 override ALLTARGET+=fpc_exes
 override ALLTARGET+=fpc_exes
@@ -3251,6 +3295,10 @@ ifdef INSTALL_CREATEPACKAGEFPC
 ifdef FPCMAKE
 ifdef FPCMAKE
 ifdef PACKAGE_VERSION
 ifdef PACKAGE_VERSION
 ifneq ($(wildcard Makefile.fpc),)
 ifneq ($(wildcard Makefile.fpc),)
+ifdef FPCMAKENEW
+	$(MKDIR) $(INSTALL_UNITDIR)
+	$(FPCMAKENEW) -o $(INSTALL_UNITDIR)/Package.fpc -p -T$(CPU_TARGET)-$(OS_TARGET) Makefile.fpc
+else
 	$(FPCMAKE) -p -T$(CPU_TARGET)-$(OS_TARGET) Makefile.fpc
 	$(FPCMAKE) -p -T$(CPU_TARGET)-$(OS_TARGET) Makefile.fpc
 	$(MKDIR) $(INSTALL_UNITDIR)
 	$(MKDIR) $(INSTALL_UNITDIR)
 	$(INSTALL) Package.fpc $(INSTALL_UNITDIR)
 	$(INSTALL) Package.fpc $(INSTALL_UNITDIR)
@@ -3258,6 +3306,7 @@ endif
 endif
 endif
 endif
 endif
 endif
 endif
+endif
 ifdef INSTALLPPUFILES
 ifdef INSTALLPPUFILES
 	$(MKDIR) $(INSTALL_UNITDIR)
 	$(MKDIR) $(INSTALL_UNITDIR)
 	$(INSTALL) $(INSTALLPPUFILES) $(INSTALL_UNITDIR)
 	$(INSTALL) $(INSTALLPPUFILES) $(INSTALL_UNITDIR)
@@ -3296,6 +3345,7 @@ override CLEANEXEDBGFILES:=$(addprefix $(TARGETDIRPREFIX),$(CLEANEXEDBGFILES))
 endif
 endif
 ifdef CLEAN_PROGRAMS
 ifdef CLEAN_PROGRAMS
 override CLEANEXEFILES+=$(addprefix $(TARGETDIRPREFIX),$(addsuffix $(EXEEXT), $(CLEAN_PROGRAMS)))
 override CLEANEXEFILES+=$(addprefix $(TARGETDIRPREFIX),$(addsuffix $(EXEEXT), $(CLEAN_PROGRAMS)))
+override ALL_CLEANEXEFILES+=$(foreach lEXEEXT,$(ALL_EXEEXT),$(addprefix $(TARGETDIRPREFIX),$(addsuffix $(lEXEEXT), $(CLEAN_PROGRAMS))))
 override CLEANEXEDBGFILES+=$(addprefix $(TARGETDIRPREFIX),$(addsuffix $(EXEDBGEXT), $(CLEAN_PROGRAMS)))
 override CLEANEXEDBGFILES+=$(addprefix $(TARGETDIRPREFIX),$(addsuffix $(EXEDBGEXT), $(CLEAN_PROGRAMS)))
 endif
 endif
 ifdef CLEAN_UNITS
 ifdef CLEAN_UNITS
@@ -3334,12 +3384,15 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 endif
 	-$(DEL) $(FPCMADE) *$(FULL_TARGET).fpm Package.fpc *$(ASMEXT)
 	-$(DEL) $(FPCMADE) *$(FULL_TARGET).fpm Package.fpc *$(ASMEXT)
-	-$(DEL) $(FPCEXTFILE) $(REDIRFILE) script*.res link*.res *_script.res *_link.res
+	-$(DEL) $(FPCEXTFILE) $(REDIRFILE) script*.res link*.res *_script.res *_link.res symbol_order*.fpc
 	-$(DEL) $(PPAS) *_ppas$(BATCHEXT) ppas$(BATCHEXT) ppaslink$(BATCHEXT)
 	-$(DEL) $(PPAS) *_ppas$(BATCHEXT) ppas$(BATCHEXT) ppaslink$(BATCHEXT)
 fpc_cleanall: $(CLEANTARGET)
 fpc_cleanall: $(CLEANTARGET)
 ifdef CLEANEXEFILES
 ifdef CLEANEXEFILES
 	-$(DEL) $(CLEANEXEFILES)
 	-$(DEL) $(CLEANEXEFILES)
 endif
 endif
+ifdef ALL_CLEANEXEFILES
+	-$(DEL) $(ALL_CLEANEXEFILES)
+endif
 ifdef COMPILER_UNITTARGETDIR
 ifdef COMPILER_UNITTARGETDIR
 ifdef CLEANPPUFILES
 ifdef CLEANPPUFILES
 	-$(DEL) $(CLEANPPUFILES)
 	-$(DEL) $(CLEANPPUFILES)
@@ -3361,8 +3414,8 @@ ifneq ($(PPUEXT),.ppu)
 	-$(DEL) *.o *.ppu *.a
 	-$(DEL) *.o *.ppu *.a
 endif
 endif
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DELTREE) *$(SMARTEXT)
-	-$(DEL) fpcmade.* Package.fpc *.fpm
-	-$(DEL) $(FPCEXTFILE) $(REDIRFILE) script*.res link*.res *_script.res *_link.res
+	-$(DEL) fpcmade.* Package*.fpc *.fpm
+	-$(DEL) $(FPCEXTFILE) $(REDIRFILE) script*.res link*.res *_script.res *_link.res symbol_order*.fpc
 	-$(DEL) $(PPAS) *_ppas$(BATCHEXT) ppas$(BATCHEXT) ppaslink$(BATCHEXT)
 	-$(DEL) $(PPAS) *_ppas$(BATCHEXT) ppas$(BATCHEXT) ppaslink$(BATCHEXT)
 ifdef AOUTEXT
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 	-$(DEL) *$(AOUTEXT)

+ 31 - 1
installer/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads wasm32-wasip2 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads wasm32-wasip2 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux mos6502-embedded mos6502-oric
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -785,6 +785,12 @@ endif
 ifeq ($(CPU_OS_TARGET),loongarch64-linux)
 ifeq ($(CPU_OS_TARGET),loongarch64-linux)
 override CLEAN_UNITS+=scroll insthelp
 override CLEAN_UNITS+=scroll insthelp
 endif
 endif
+ifeq ($(CPU_OS_TARGET),mos6502-embedded)
+override CLEAN_UNITS+=scroll insthelp
+endif
+ifeq ($(CPU_OS_TARGET),mos6502-oric)
+override CLEAN_UNITS+=scroll insthelp
+endif
 ifeq ($(CPU_OS_TARGET),i386-linux)
 ifeq ($(CPU_OS_TARGET),i386-linux)
 override CLEAN_FILES+=installer.pas
 override CLEAN_FILES+=installer.pas
 endif
 endif
@@ -1373,6 +1379,9 @@ endif
 ifeq ($(CPU_TARGET),z80)
 ifeq ($(CPU_TARGET),z80)
 OEXT=.rel
 OEXT=.rel
 endif
 endif
+ifeq ($(CPU_TARGET),mos6502)
+OEXT=.rel
+endif
 SHORTSUFFIX=emb
 SHORTSUFFIX=emb
 endif
 endif
 ALL_EXEEXT+=.bin
 ALL_EXEEXT+=.bin
@@ -1395,6 +1404,9 @@ endif
 ifeq ($(OS_TARGET),wasip2)
 ifeq ($(OS_TARGET),wasip2)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),oric)
+OEXT=.rel
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -2685,6 +2697,24 @@ REQUIRE_PACKAGES_UNZIP=1
 REQUIRE_PACKAGES_RTL-EXTRA=1
 REQUIRE_PACKAGES_RTL-EXTRA=1
 REQUIRE_PACKAGES_IDE=1
 REQUIRE_PACKAGES_IDE=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),mos6502-embedded)
+REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_RTL-UNICODE=1
+REQUIRE_PACKAGES_RTL-CONSOLE=1
+REQUIRE_PACKAGES_FV=1
+REQUIRE_PACKAGES_UNZIP=1
+REQUIRE_PACKAGES_RTL-EXTRA=1
+REQUIRE_PACKAGES_IDE=1
+endif
+ifeq ($(CPU_OS_TARGET),mos6502-oric)
+REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_RTL-UNICODE=1
+REQUIRE_PACKAGES_RTL-CONSOLE=1
+REQUIRE_PACKAGES_FV=1
+REQUIRE_PACKAGES_UNZIP=1
+REQUIRE_PACKAGES_RTL-EXTRA=1
+REQUIRE_PACKAGES_IDE=1
+endif
 ifdef REQUIRE_PACKAGES_RTL
 ifdef REQUIRE_PACKAGES_RTL
 PACKAGEDIR_RTL:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /rtl/Makefile.fpc,$(PACKAGESDIR))))))
 PACKAGEDIR_RTL:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /rtl/Makefile.fpc,$(PACKAGESDIR))))))
 ifeq ($(PACKAGEDIR_RTL),)
 ifeq ($(PACKAGEDIR_RTL),)

+ 13 - 1
packages/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads wasm32-wasip2 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads wasm32-wasip2 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux mos6502-embedded mos6502-oric
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -925,6 +925,9 @@ endif
 ifeq ($(CPU_TARGET),z80)
 ifeq ($(CPU_TARGET),z80)
 OEXT=.rel
 OEXT=.rel
 endif
 endif
+ifeq ($(CPU_TARGET),mos6502)
+OEXT=.rel
+endif
 SHORTSUFFIX=emb
 SHORTSUFFIX=emb
 endif
 endif
 ALL_EXEEXT+=.bin
 ALL_EXEEXT+=.bin
@@ -947,6 +950,9 @@ endif
 ifeq ($(OS_TARGET),wasip2)
 ifeq ($(OS_TARGET),wasip2)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),oric)
+OEXT=.rel
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -1547,6 +1553,12 @@ endif
 ifeq ($(CPU_OS_TARGET),loongarch64-linux)
 ifeq ($(CPU_OS_TARGET),loongarch64-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),mos6502-embedded)
+REQUIRE_PACKAGES_RTL=1
+endif
+ifeq ($(CPU_OS_TARGET),mos6502-oric)
+REQUIRE_PACKAGES_RTL=1
+endif
 ifdef REQUIRE_PACKAGES_RTL
 ifdef REQUIRE_PACKAGES_RTL
 PACKAGEDIR_RTL:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /rtl/Makefile.fpc,$(PACKAGESDIR))))))
 PACKAGEDIR_RTL:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /rtl/Makefile.fpc,$(PACKAGESDIR))))))
 ifeq ($(PACKAGEDIR_RTL),)
 ifeq ($(PACKAGEDIR_RTL),)

+ 13 - 1
rtl/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads wasm32-wasip2 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads wasm32-wasip2 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux mos6502-embedded mos6502-oric
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -710,6 +710,9 @@ endif
 ifeq ($(CPU_OS_TARGET),loongarch64-linux)
 ifeq ($(CPU_OS_TARGET),loongarch64-linux)
 override TARGET_DIRS+=linux
 override TARGET_DIRS+=linux
 endif
 endif
+ifeq ($(CPU_OS_TARGET),mos6502-embedded)
+override TARGET_DIRS+=embedded
+endif
 override INSTALL_FPCPACKAGE=y
 override INSTALL_FPCPACKAGE=y
 override INSTALL_CREATEPACKAGEFPC=y
 override INSTALL_CREATEPACKAGEFPC=y
 ifdef REQUIRE_UNITSDIR
 ifdef REQUIRE_UNITSDIR
@@ -1236,6 +1239,9 @@ endif
 ifeq ($(CPU_TARGET),z80)
 ifeq ($(CPU_TARGET),z80)
 OEXT=.rel
 OEXT=.rel
 endif
 endif
+ifeq ($(CPU_TARGET),mos6502)
+OEXT=.rel
+endif
 SHORTSUFFIX=emb
 SHORTSUFFIX=emb
 endif
 endif
 ALL_EXEEXT+=.bin
 ALL_EXEEXT+=.bin
@@ -1258,6 +1264,9 @@ endif
 ifeq ($(OS_TARGET),wasip2)
 ifeq ($(OS_TARGET),wasip2)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),oric)
+OEXT=.rel
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -2402,6 +2411,9 @@ endif
 ifeq ($(CPU_OS_TARGET),loongarch64-linux)
 ifeq ($(CPU_OS_TARGET),loongarch64-linux)
 TARGET_DIRS_LINUX=1
 TARGET_DIRS_LINUX=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),mos6502-embedded)
+TARGET_DIRS_EMBEDDED=1
+endif
 ifdef TARGET_DIRS_LINUX
 ifdef TARGET_DIRS_LINUX
 linux_all:
 linux_all:
 	$(MAKE) -C linux all
 	$(MAKE) -C linux all

File diff suppressed because it is too large
+ 1767 - 587
rtl/aix/Makefile


File diff suppressed because it is too large
+ 2109 - 584
rtl/amiga/Makefile


File diff suppressed because it is too large
+ 2757 - 638
rtl/android/Makefile


+ 44 - 4
rtl/android/jvm/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads wasm32-wasip2 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads wasm32-wasip2 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux mos6502-embedded mos6502-oric
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -725,6 +725,12 @@ endif
 ifeq ($(CPU_OS_TARGET),loongarch64-linux)
 ifeq ($(CPU_OS_TARGET),loongarch64-linux)
 override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas androidr14
 override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas androidr14
 endif
 endif
+ifeq ($(CPU_OS_TARGET),mos6502-embedded)
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas androidr14
+endif
+ifeq ($(CPU_OS_TARGET),mos6502-oric)
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas androidr14
+endif
 override INSTALL_FPCPACKAGE=y
 override INSTALL_FPCPACKAGE=y
 ifeq ($(CPU_OS_TARGET),i386-linux)
 ifeq ($(CPU_OS_TARGET),i386-linux)
 override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
 override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
@@ -1071,6 +1077,12 @@ endif
 ifeq ($(CPU_OS_TARGET),loongarch64-linux)
 ifeq ($(CPU_OS_TARGET),loongarch64-linux)
 override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
 override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
 endif
 endif
+ifeq ($(CPU_OS_TARGET),mos6502-embedded)
+override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
+endif
+ifeq ($(CPU_OS_TARGET),mos6502-oric)
+override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
+endif
 ifeq ($(CPU_OS_TARGET),i386-linux)
 ifeq ($(CPU_OS_TARGET),i386-linux)
 override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
 override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
 endif
 endif
@@ -1416,6 +1428,12 @@ endif
 ifeq ($(CPU_OS_TARGET),loongarch64-linux)
 ifeq ($(CPU_OS_TARGET),loongarch64-linux)
 override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
 override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
 endif
 endif
+ifeq ($(CPU_OS_TARGET),mos6502-embedded)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
+ifeq ($(CPU_OS_TARGET),mos6502-oric)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
 ifdef REQUIRE_UNITSDIR
 ifdef REQUIRE_UNITSDIR
 override UNITSDIR+=$(REQUIRE_UNITSDIR)
 override UNITSDIR+=$(REQUIRE_UNITSDIR)
 endif
 endif
@@ -1735,6 +1753,7 @@ STATICLIBPREFIX=libp
 IMPORTLIBPREFIX=libimp
 IMPORTLIBPREFIX=libimp
 RSTEXT=.rsj
 RSTEXT=.rsj
 EXEDBGEXT=.dbg
 EXEDBGEXT=.dbg
+ALL_EXEEXT=.exe
 ifeq ($(OS_TARGET),go32v1)
 ifeq ($(OS_TARGET),go32v1)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=v1
 SHORTSUFFIX=v1
@@ -1831,6 +1850,7 @@ ifeq ($(OS_TARGET),atari)
 EXEEXT=.ttp
 EXEEXT=.ttp
 SHORTSUFFIX=ata
 SHORTSUFFIX=ata
 endif
 endif
+ALL_EXEEXT+=.ttp
 ifeq ($(OS_TARGET),beos)
 ifeq ($(OS_TARGET),beos)
 BATCHEXT=.sh
 BATCHEXT=.sh
 EXEEXT=
 EXEEXT=
@@ -1857,6 +1877,7 @@ STATICLIBPREFIX=
 SHORTSUFFIX=nw
 SHORTSUFFIX=nw
 IMPORTLIBPREFIX=imp
 IMPORTLIBPREFIX=imp
 endif
 endif
+ALL_EXEEXT+=.nlm
 ifeq ($(OS_TARGET),netwlibc)
 ifeq ($(OS_TARGET),netwlibc)
 EXEEXT=.nlm
 EXEEXT=.nlm
 STATICLIBPREFIX=
 STATICLIBPREFIX=
@@ -1882,6 +1903,7 @@ EXEEXT=.gba
 SHAREDLIBEXT=.so
 SHAREDLIBEXT=.so
 SHORTSUFFIX=gba
 SHORTSUFFIX=gba
 endif
 endif
+ALL_EXEEXT+=.gba
 ifeq ($(OS_TARGET),symbian)
 ifeq ($(OS_TARGET),symbian)
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=symbian
 SHORTSUFFIX=symbian
@@ -1895,6 +1917,7 @@ EXEEXT=.dol
 SHAREDLIBEXT=.so
 SHAREDLIBEXT=.so
 SHORTSUFFIX=wii
 SHORTSUFFIX=wii
 endif
 endif
+ALL_EXEEXT+=.dol
 ifeq ($(OS_TARGET),aix)
 ifeq ($(OS_TARGET),aix)
 BATCHEXT=.sh
 BATCHEXT=.sh
 EXEEXT=
 EXEEXT=
@@ -1935,8 +1958,12 @@ endif
 ifeq ($(CPU_TARGET),z80)
 ifeq ($(CPU_TARGET),z80)
 OEXT=.rel
 OEXT=.rel
 endif
 endif
+ifeq ($(CPU_TARGET),mos6502)
+OEXT=.rel
+endif
 SHORTSUFFIX=emb
 SHORTSUFFIX=emb
 endif
 endif
+ALL_EXEEXT+=.bin
 ifeq ($(OS_TARGET),win16)
 ifeq ($(OS_TARGET),win16)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 STATICLIBEXT=.a
 STATICLIBEXT=.a
@@ -1949,12 +1976,16 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ALL_EXEEXT+=.wasm
 ifeq ($(OS_TARGET),wasip1threads)
 ifeq ($(OS_TARGET),wasip1threads)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
 ifeq ($(OS_TARGET),wasip2)
 ifeq ($(OS_TARGET),wasip2)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),oric)
+OEXT=.rel
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -2515,6 +2546,10 @@ ifdef INSTALL_CREATEPACKAGEFPC
 ifdef FPCMAKE
 ifdef FPCMAKE
 ifdef PACKAGE_VERSION
 ifdef PACKAGE_VERSION
 ifneq ($(wildcard Makefile.fpc),)
 ifneq ($(wildcard Makefile.fpc),)
+ifdef FPCMAKENEW
+	$(MKDIR) $(INSTALL_UNITDIR)
+	$(FPCMAKENEW) -o $(INSTALL_UNITDIR)/Package.fpc -p -T$(CPU_TARGET)-$(OS_TARGET) Makefile.fpc
+else
 	$(FPCMAKE) -p -T$(CPU_TARGET)-$(OS_TARGET) Makefile.fpc
 	$(FPCMAKE) -p -T$(CPU_TARGET)-$(OS_TARGET) Makefile.fpc
 	$(MKDIR) $(INSTALL_UNITDIR)
 	$(MKDIR) $(INSTALL_UNITDIR)
 	$(INSTALL) Package.fpc $(INSTALL_UNITDIR)
 	$(INSTALL) Package.fpc $(INSTALL_UNITDIR)
@@ -2522,6 +2557,7 @@ endif
 endif
 endif
 endif
 endif
 endif
 endif
+endif
 ifdef INSTALLPPUFILES
 ifdef INSTALLPPUFILES
 	$(MKDIR) $(INSTALL_UNITDIR)
 	$(MKDIR) $(INSTALL_UNITDIR)
 	$(INSTALL) $(INSTALLPPUFILES) $(INSTALL_UNITDIR)
 	$(INSTALL) $(INSTALLPPUFILES) $(INSTALL_UNITDIR)
@@ -2560,6 +2596,7 @@ override CLEANEXEDBGFILES:=$(addprefix $(TARGETDIRPREFIX),$(CLEANEXEDBGFILES))
 endif
 endif
 ifdef CLEAN_PROGRAMS
 ifdef CLEAN_PROGRAMS
 override CLEANEXEFILES+=$(addprefix $(TARGETDIRPREFIX),$(addsuffix $(EXEEXT), $(CLEAN_PROGRAMS)))
 override CLEANEXEFILES+=$(addprefix $(TARGETDIRPREFIX),$(addsuffix $(EXEEXT), $(CLEAN_PROGRAMS)))
+override ALL_CLEANEXEFILES+=$(foreach lEXEEXT,$(ALL_EXEEXT),$(addprefix $(TARGETDIRPREFIX),$(addsuffix $(lEXEEXT), $(CLEAN_PROGRAMS))))
 override CLEANEXEDBGFILES+=$(addprefix $(TARGETDIRPREFIX),$(addsuffix $(EXEDBGEXT), $(CLEAN_PROGRAMS)))
 override CLEANEXEDBGFILES+=$(addprefix $(TARGETDIRPREFIX),$(addsuffix $(EXEDBGEXT), $(CLEAN_PROGRAMS)))
 endif
 endif
 ifdef CLEAN_UNITS
 ifdef CLEAN_UNITS
@@ -2598,12 +2635,15 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 endif
 	-$(DEL) $(FPCMADE) *$(FULL_TARGET).fpm Package.fpc *$(ASMEXT)
 	-$(DEL) $(FPCMADE) *$(FULL_TARGET).fpm Package.fpc *$(ASMEXT)
-	-$(DEL) $(FPCEXTFILE) $(REDIRFILE) script*.res link*.res *_script.res *_link.res
+	-$(DEL) $(FPCEXTFILE) $(REDIRFILE) script*.res link*.res *_script.res *_link.res symbol_order*.fpc
 	-$(DEL) $(PPAS) *_ppas$(BATCHEXT) ppas$(BATCHEXT) ppaslink$(BATCHEXT)
 	-$(DEL) $(PPAS) *_ppas$(BATCHEXT) ppas$(BATCHEXT) ppaslink$(BATCHEXT)
 fpc_cleanall: $(CLEANTARGET)
 fpc_cleanall: $(CLEANTARGET)
 ifdef CLEANEXEFILES
 ifdef CLEANEXEFILES
 	-$(DEL) $(CLEANEXEFILES)
 	-$(DEL) $(CLEANEXEFILES)
 endif
 endif
+ifdef ALL_CLEANEXEFILES
+	-$(DEL) $(ALL_CLEANEXEFILES)
+endif
 ifdef COMPILER_UNITTARGETDIR
 ifdef COMPILER_UNITTARGETDIR
 ifdef CLEANPPUFILES
 ifdef CLEANPPUFILES
 	-$(DEL) $(CLEANPPUFILES)
 	-$(DEL) $(CLEANPPUFILES)
@@ -2625,8 +2665,8 @@ ifneq ($(PPUEXT),.ppu)
 	-$(DEL) *.o *.ppu *.a
 	-$(DEL) *.o *.ppu *.a
 endif
 endif
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DELTREE) *$(SMARTEXT)
-	-$(DEL) fpcmade.* Package.fpc *.fpm
-	-$(DEL) $(FPCEXTFILE) $(REDIRFILE) script*.res link*.res *_script.res *_link.res
+	-$(DEL) fpcmade.* Package*.fpc *.fpm
+	-$(DEL) $(FPCEXTFILE) $(REDIRFILE) script*.res link*.res *_script.res *_link.res symbol_order*.fpc
 	-$(DEL) $(PPAS) *_ppas$(BATCHEXT) ppas$(BATCHEXT) ppaslink$(BATCHEXT)
 	-$(DEL) $(PPAS) *_ppas$(BATCHEXT) ppas$(BATCHEXT) ppaslink$(BATCHEXT)
 ifdef AOUTEXT
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 	-$(DEL) *$(AOUTEXT)

File diff suppressed because it is too large
+ 2098 - 591
rtl/aros/Makefile


File diff suppressed because it is too large
+ 2107 - 564
rtl/atari/Makefile


File diff suppressed because it is too large
+ 2462 - 571
rtl/beos/Makefile


File diff suppressed because it is too large
+ 1686 - 626
rtl/darwin/Makefile


File diff suppressed because it is too large
+ 2123 - 580
rtl/dragonfly/Makefile


File diff suppressed because it is too large
+ 1310 - 655
rtl/embedded/Makefile


File diff suppressed because it is too large
+ 2115 - 572
rtl/emx/Makefile


File diff suppressed because it is too large
+ 2114 - 607
rtl/freebsd/Makefile


File diff suppressed because it is too large
+ 1803 - 638
rtl/freertos/Makefile


File diff suppressed because it is too large
+ 1757 - 562
rtl/gba/Makefile


File diff suppressed because it is too large
+ 2115 - 572
rtl/go32v2/Makefile


File diff suppressed because it is too large
+ 2463 - 593
rtl/haiku/Makefile


File diff suppressed because it is too large
+ 2107 - 564
rtl/human68k/Makefile


File diff suppressed because it is too large
+ 1062 - 563
rtl/java/Makefile


File diff suppressed because it is too large
+ 2574 - 776
rtl/linux/Makefile


File diff suppressed because it is too large
+ 1756 - 576
rtl/macos/Makefile


File diff suppressed because it is too large
+ 1759 - 564
rtl/morphos/Makefile


File diff suppressed because it is too large
+ 1760 - 565
rtl/msdos/Makefile


File diff suppressed because it is too large
+ 1410 - 563
rtl/msxdos/Makefile


File diff suppressed because it is too large
+ 1765 - 570
rtl/nativent/Makefile


File diff suppressed because it is too large
+ 1759 - 564
rtl/nds/Makefile


File diff suppressed because it is too large
+ 2067 - 614
rtl/netbsd/Makefile


File diff suppressed because it is too large
+ 2122 - 579
rtl/netware/Makefile


File diff suppressed because it is too large
+ 2112 - 569
rtl/netwlibc/Makefile


File diff suppressed because it is too large
+ 2101 - 576
rtl/openbsd/Makefile


File diff suppressed because it is too large
+ 2114 - 571
rtl/os2/Makefile


File diff suppressed because it is too large
+ 1750 - 570
rtl/palmos/Makefile


File diff suppressed because it is too large
+ 1059 - 560
rtl/ps1/Makefile


File diff suppressed because it is too large
+ 2107 - 564
rtl/sinclairql/Makefile


File diff suppressed because it is too large
+ 1739 - 574
rtl/solaris/Makefile


File diff suppressed because it is too large
+ 1413 - 578
rtl/symbian/Makefile


File diff suppressed because it is too large
+ 1417 - 570
rtl/wasip1/Makefile


File diff suppressed because it is too large
+ 1417 - 570
rtl/wasip1threads/Makefile


File diff suppressed because it is too large
+ 1413 - 566
rtl/wasip2/Makefile


File diff suppressed because it is too large
+ 2112 - 569
rtl/watcom/Makefile


File diff suppressed because it is too large
+ 1401 - 554
rtl/wii/Makefile


File diff suppressed because it is too large
+ 1763 - 568
rtl/win16/Makefile


File diff suppressed because it is too large
+ 2124 - 581
rtl/win32/Makefile


File diff suppressed because it is too large
+ 2118 - 593
rtl/win64/Makefile


File diff suppressed because it is too large
+ 1418 - 583
rtl/wince/Makefile


File diff suppressed because it is too large
+ 1059 - 560
rtl/zxspectrum/Makefile


+ 25 - 1
utils/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads wasm32-wasip2 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads wasm32-wasip2 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux mos6502-embedded mos6502-oric
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -910,6 +910,9 @@ endif
 ifeq ($(CPU_TARGET),z80)
 ifeq ($(CPU_TARGET),z80)
 OEXT=.rel
 OEXT=.rel
 endif
 endif
+ifeq ($(CPU_TARGET),mos6502)
+OEXT=.rel
+endif
 SHORTSUFFIX=emb
 SHORTSUFFIX=emb
 endif
 endif
 ALL_EXEEXT+=.bin
 ALL_EXEEXT+=.bin
@@ -932,6 +935,9 @@ endif
 ifeq ($(OS_TARGET),wasip2)
 ifeq ($(OS_TARGET),wasip2)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),oric)
+OEXT=.rel
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -2222,6 +2228,24 @@ REQUIRE_PACKAGES_LIBTAR=1
 REQUIRE_PACKAGES_FPMKUNIT=1
 REQUIRE_PACKAGES_FPMKUNIT=1
 REQUIRE_PACKAGES_FCL-JSON=1
 REQUIRE_PACKAGES_FCL-JSON=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),mos6502-embedded)
+REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+REQUIRE_PACKAGES_HASH=1
+REQUIRE_PACKAGES_LIBTAR=1
+REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-JSON=1
+endif
+ifeq ($(CPU_OS_TARGET),mos6502-oric)
+REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+REQUIRE_PACKAGES_HASH=1
+REQUIRE_PACKAGES_LIBTAR=1
+REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-JSON=1
+endif
 ifdef REQUIRE_PACKAGES_RTL
 ifdef REQUIRE_PACKAGES_RTL
 PACKAGEDIR_RTL:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /rtl/Makefile.fpc,$(PACKAGESDIR))))))
 PACKAGEDIR_RTL:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /rtl/Makefile.fpc,$(PACKAGESDIR))))))
 ifeq ($(PACKAGEDIR_RTL),)
 ifeq ($(PACKAGEDIR_RTL),)

Some files were not shown because too many files changed in this diff