浏览代码

* prt0.o is now build from the makefile

git-svn-id: trunk@4937 -
florian 19 年之前
父节点
当前提交
d4dcbeec4a
共有 4 个文件被更改,包括 39 次插入488 次删除
  1. 1 1
      .gitattributes
  2. 34 484
      rtl/gba/Makefile
  3. 4 3
      rtl/gba/Makefile.fpc
  4. 0 0
      rtl/gba/prt0.as

+ 1 - 1
.gitattributes

@@ -4340,7 +4340,7 @@ rtl/gba/dos.pp svneol=native#text/plain
 rtl/gba/gbabios.inc svneol=native#text/plain
 rtl/gba/gbabios.inc svneol=native#text/plain
 rtl/gba/gbabiosh.inc svneol=native#text/plain
 rtl/gba/gbabiosh.inc svneol=native#text/plain
 rtl/gba/lnkscript -text
 rtl/gba/lnkscript -text
-rtl/gba/prt0.s -text
+rtl/gba/prt0.as -text
 rtl/gba/sysdir.inc svneol=native#text/plain
 rtl/gba/sysdir.inc svneol=native#text/plain
 rtl/gba/sysfile.inc svneol=native#text/plain
 rtl/gba/sysfile.inc svneol=native#text/plain
 rtl/gba/sysheap.inc svneol=native#text/plain
 rtl/gba/sysheap.inc svneol=native#text/plain

+ 34 - 484
rtl/gba/Makefile

@@ -1,8 +1,8 @@
 #
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2006/08/02]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2006/08/20]
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos sparc-linux sparc-netbsd sparc-solaris x86_64-linux x86_64-freebsd x86_64-win64 arm-linux arm-palmos arm-wince arm-gba powerpc64-linux
+MAKEFILETARGETS=arm-gba
 BSDs = freebsd netbsd openbsd darwin
 BSDs = freebsd netbsd openbsd darwin
 UNIXs = linux $(BSDs) solaris qnx
 UNIXs = linux $(BSDs) solaris qnx
 LIMIT83fs = go32v2 os2 emx watcom
 LIMIT83fs = go32v2 os2 emx watcom
@@ -245,499 +245,22 @@ override FPCOPT+=-Ur
 endif
 endif
 OBJPASDIR=$(RTL)/objpas
 OBJPASDIR=$(RTL)/objpas
 GRAPHDIR=$(INC)/graph
 GRAPHDIR=$(INC)/graph
-ifeq ($(FULL_TARGET),i386-linux)
-override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fpmkunit
-endif
-ifeq ($(FULL_TARGET),i386-go32v2)
-override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fpmkunit
-endif
-ifeq ($(FULL_TARGET),i386-win32)
-override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fpmkunit
-endif
-ifeq ($(FULL_TARGET),i386-os2)
-override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fpmkunit
-endif
-ifeq ($(FULL_TARGET),i386-freebsd)
-override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fpmkunit
-endif
-ifeq ($(FULL_TARGET),i386-beos)
-override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fpmkunit
-endif
-ifeq ($(FULL_TARGET),i386-netbsd)
-override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fpmkunit
-endif
-ifeq ($(FULL_TARGET),i386-solaris)
-override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fpmkunit
-endif
-ifeq ($(FULL_TARGET),i386-qnx)
-override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fpmkunit
-endif
-ifeq ($(FULL_TARGET),i386-netware)
-override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fpmkunit
-endif
-ifeq ($(FULL_TARGET),i386-openbsd)
-override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fpmkunit
-endif
-ifeq ($(FULL_TARGET),i386-wdosx)
-override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fpmkunit
-endif
-ifeq ($(FULL_TARGET),i386-darwin)
-override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fpmkunit
-endif
-ifeq ($(FULL_TARGET),i386-emx)
-override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fpmkunit
-endif
-ifeq ($(FULL_TARGET),i386-watcom)
-override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fpmkunit
-endif
-ifeq ($(FULL_TARGET),i386-netwlibc)
-override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fpmkunit
-endif
-ifeq ($(FULL_TARGET),i386-wince)
-override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fpmkunit
-endif
-ifeq ($(FULL_TARGET),m68k-linux)
-override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fpmkunit
-endif
-ifeq ($(FULL_TARGET),m68k-freebsd)
-override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fpmkunit
-endif
-ifeq ($(FULL_TARGET),m68k-netbsd)
-override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fpmkunit
-endif
-ifeq ($(FULL_TARGET),m68k-amiga)
-override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fpmkunit
-endif
-ifeq ($(FULL_TARGET),m68k-atari)
-override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fpmkunit
-endif
-ifeq ($(FULL_TARGET),m68k-openbsd)
-override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fpmkunit
-endif
-ifeq ($(FULL_TARGET),m68k-palmos)
-override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fpmkunit
-endif
-ifeq ($(FULL_TARGET),powerpc-linux)
-override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fpmkunit
-endif
-ifeq ($(FULL_TARGET),powerpc-netbsd)
-override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fpmkunit
-endif
-ifeq ($(FULL_TARGET),powerpc-amiga)
-override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fpmkunit
-endif
-ifeq ($(FULL_TARGET),powerpc-macos)
-override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fpmkunit
-endif
-ifeq ($(FULL_TARGET),powerpc-darwin)
-override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fpmkunit
-endif
-ifeq ($(FULL_TARGET),powerpc-morphos)
-override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fpmkunit
-endif
-ifeq ($(FULL_TARGET),sparc-linux)
-override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fpmkunit
-endif
-ifeq ($(FULL_TARGET),sparc-netbsd)
-override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fpmkunit
-endif
-ifeq ($(FULL_TARGET),sparc-solaris)
-override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fpmkunit
-endif
-ifeq ($(FULL_TARGET),x86_64-linux)
-override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fpmkunit
-endif
-ifeq ($(FULL_TARGET),x86_64-freebsd)
-override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fpmkunit
-endif
-ifeq ($(FULL_TARGET),x86_64-win64)
-override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fpmkunit
-endif
-ifeq ($(FULL_TARGET),arm-linux)
-override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fpmkunit
-endif
-ifeq ($(FULL_TARGET),arm-palmos)
-override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fpmkunit
-endif
-ifeq ($(FULL_TARGET),arm-wince)
-override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fpmkunit
-endif
 ifeq ($(FULL_TARGET),arm-gba)
 ifeq ($(FULL_TARGET),arm-gba)
 override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fpmkunit
 override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fpmkunit
 endif
 endif
-ifeq ($(FULL_TARGET),powerpc64-linux)
-override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fpmkunit
-endif
-ifeq ($(FULL_TARGET),i386-linux)
-override TARGET_RSTS+=math rtlconsts varutils typinfo variants classes sysconst dateutil fpmkunit
-endif
-ifeq ($(FULL_TARGET),i386-go32v2)
-override TARGET_RSTS+=math rtlconsts varutils typinfo variants classes sysconst dateutil fpmkunit
-endif
-ifeq ($(FULL_TARGET),i386-win32)
-override TARGET_RSTS+=math rtlconsts varutils typinfo variants classes sysconst dateutil fpmkunit
-endif
-ifeq ($(FULL_TARGET),i386-os2)
-override TARGET_RSTS+=math rtlconsts varutils typinfo variants classes sysconst dateutil fpmkunit
-endif
-ifeq ($(FULL_TARGET),i386-freebsd)
-override TARGET_RSTS+=math rtlconsts varutils typinfo variants classes sysconst dateutil fpmkunit
-endif
-ifeq ($(FULL_TARGET),i386-beos)
-override TARGET_RSTS+=math rtlconsts varutils typinfo variants classes sysconst dateutil fpmkunit
-endif
-ifeq ($(FULL_TARGET),i386-netbsd)
-override TARGET_RSTS+=math rtlconsts varutils typinfo variants classes sysconst dateutil fpmkunit
-endif
-ifeq ($(FULL_TARGET),i386-solaris)
-override TARGET_RSTS+=math rtlconsts varutils typinfo variants classes sysconst dateutil fpmkunit
-endif
-ifeq ($(FULL_TARGET),i386-qnx)
-override TARGET_RSTS+=math rtlconsts varutils typinfo variants classes sysconst dateutil fpmkunit
-endif
-ifeq ($(FULL_TARGET),i386-netware)
-override TARGET_RSTS+=math rtlconsts varutils typinfo variants classes sysconst dateutil fpmkunit
-endif
-ifeq ($(FULL_TARGET),i386-openbsd)
-override TARGET_RSTS+=math rtlconsts varutils typinfo variants classes sysconst dateutil fpmkunit
-endif
-ifeq ($(FULL_TARGET),i386-wdosx)
-override TARGET_RSTS+=math rtlconsts varutils typinfo variants classes sysconst dateutil fpmkunit
-endif
-ifeq ($(FULL_TARGET),i386-darwin)
-override TARGET_RSTS+=math rtlconsts varutils typinfo variants classes sysconst dateutil fpmkunit
-endif
-ifeq ($(FULL_TARGET),i386-emx)
-override TARGET_RSTS+=math rtlconsts varutils typinfo variants classes sysconst dateutil fpmkunit
-endif
-ifeq ($(FULL_TARGET),i386-watcom)
-override TARGET_RSTS+=math rtlconsts varutils typinfo variants classes sysconst dateutil fpmkunit
-endif
-ifeq ($(FULL_TARGET),i386-netwlibc)
-override TARGET_RSTS+=math rtlconsts varutils typinfo variants classes sysconst dateutil fpmkunit
-endif
-ifeq ($(FULL_TARGET),i386-wince)
-override TARGET_RSTS+=math rtlconsts varutils typinfo variants classes sysconst dateutil fpmkunit
-endif
-ifeq ($(FULL_TARGET),m68k-linux)
-override TARGET_RSTS+=math rtlconsts varutils typinfo variants classes sysconst dateutil fpmkunit
-endif
-ifeq ($(FULL_TARGET),m68k-freebsd)
-override TARGET_RSTS+=math rtlconsts varutils typinfo variants classes sysconst dateutil fpmkunit
-endif
-ifeq ($(FULL_TARGET),m68k-netbsd)
-override TARGET_RSTS+=math rtlconsts varutils typinfo variants classes sysconst dateutil fpmkunit
-endif
-ifeq ($(FULL_TARGET),m68k-amiga)
-override TARGET_RSTS+=math rtlconsts varutils typinfo variants classes sysconst dateutil fpmkunit
-endif
-ifeq ($(FULL_TARGET),m68k-atari)
-override TARGET_RSTS+=math rtlconsts varutils typinfo variants classes sysconst dateutil fpmkunit
-endif
-ifeq ($(FULL_TARGET),m68k-openbsd)
-override TARGET_RSTS+=math rtlconsts varutils typinfo variants classes sysconst dateutil fpmkunit
-endif
-ifeq ($(FULL_TARGET),m68k-palmos)
-override TARGET_RSTS+=math rtlconsts varutils typinfo variants classes sysconst dateutil fpmkunit
-endif
-ifeq ($(FULL_TARGET),powerpc-linux)
-override TARGET_RSTS+=math rtlconsts varutils typinfo variants classes sysconst dateutil fpmkunit
-endif
-ifeq ($(FULL_TARGET),powerpc-netbsd)
-override TARGET_RSTS+=math rtlconsts varutils typinfo variants classes sysconst dateutil fpmkunit
-endif
-ifeq ($(FULL_TARGET),powerpc-amiga)
-override TARGET_RSTS+=math rtlconsts varutils typinfo variants classes sysconst dateutil fpmkunit
-endif
-ifeq ($(FULL_TARGET),powerpc-macos)
-override TARGET_RSTS+=math rtlconsts varutils typinfo variants classes sysconst dateutil fpmkunit
-endif
-ifeq ($(FULL_TARGET),powerpc-darwin)
-override TARGET_RSTS+=math rtlconsts varutils typinfo variants classes sysconst dateutil fpmkunit
-endif
-ifeq ($(FULL_TARGET),powerpc-morphos)
-override TARGET_RSTS+=math rtlconsts varutils typinfo variants classes sysconst dateutil fpmkunit
-endif
-ifeq ($(FULL_TARGET),sparc-linux)
-override TARGET_RSTS+=math rtlconsts varutils typinfo variants classes sysconst dateutil fpmkunit
-endif
-ifeq ($(FULL_TARGET),sparc-netbsd)
-override TARGET_RSTS+=math rtlconsts varutils typinfo variants classes sysconst dateutil fpmkunit
-endif
-ifeq ($(FULL_TARGET),sparc-solaris)
-override TARGET_RSTS+=math rtlconsts varutils typinfo variants classes sysconst dateutil fpmkunit
-endif
-ifeq ($(FULL_TARGET),x86_64-linux)
-override TARGET_RSTS+=math rtlconsts varutils typinfo variants classes sysconst dateutil fpmkunit
-endif
-ifeq ($(FULL_TARGET),x86_64-freebsd)
-override TARGET_RSTS+=math rtlconsts varutils typinfo variants classes sysconst dateutil fpmkunit
-endif
-ifeq ($(FULL_TARGET),x86_64-win64)
-override TARGET_RSTS+=math rtlconsts varutils typinfo variants classes sysconst dateutil fpmkunit
-endif
-ifeq ($(FULL_TARGET),arm-linux)
-override TARGET_RSTS+=math rtlconsts varutils typinfo variants classes sysconst dateutil fpmkunit
-endif
-ifeq ($(FULL_TARGET),arm-palmos)
-override TARGET_RSTS+=math rtlconsts varutils typinfo variants classes sysconst dateutil fpmkunit
-endif
-ifeq ($(FULL_TARGET),arm-wince)
-override TARGET_RSTS+=math rtlconsts varutils typinfo variants classes sysconst dateutil fpmkunit
-endif
 ifeq ($(FULL_TARGET),arm-gba)
 ifeq ($(FULL_TARGET),arm-gba)
-override TARGET_RSTS+=math rtlconsts varutils typinfo variants classes sysconst dateutil fpmkunit
+override TARGET_LOADERS+=prt0
 endif
 endif
-ifeq ($(FULL_TARGET),powerpc64-linux)
+ifeq ($(FULL_TARGET),arm-gba)
 override TARGET_RSTS+=math rtlconsts varutils typinfo variants classes sysconst dateutil fpmkunit
 override TARGET_RSTS+=math rtlconsts varutils typinfo variants classes sysconst dateutil fpmkunit
 endif
 endif
 override INSTALL_FPCPACKAGE=y
 override INSTALL_FPCPACKAGE=y
-ifeq ($(FULL_TARGET),i386-linux)
-override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
-endif
-ifeq ($(FULL_TARGET),i386-go32v2)
-override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
-endif
-ifeq ($(FULL_TARGET),i386-win32)
-override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
-endif
-ifeq ($(FULL_TARGET),i386-os2)
-override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
-endif
-ifeq ($(FULL_TARGET),i386-freebsd)
-override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
-endif
-ifeq ($(FULL_TARGET),i386-beos)
-override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
-endif
-ifeq ($(FULL_TARGET),i386-netbsd)
-override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
-endif
-ifeq ($(FULL_TARGET),i386-solaris)
-override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
-endif
-ifeq ($(FULL_TARGET),i386-qnx)
-override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
-endif
-ifeq ($(FULL_TARGET),i386-netware)
-override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
-endif
-ifeq ($(FULL_TARGET),i386-openbsd)
-override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
-endif
-ifeq ($(FULL_TARGET),i386-wdosx)
-override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
-endif
-ifeq ($(FULL_TARGET),i386-darwin)
-override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
-endif
-ifeq ($(FULL_TARGET),i386-emx)
-override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
-endif
-ifeq ($(FULL_TARGET),i386-watcom)
-override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
-endif
-ifeq ($(FULL_TARGET),i386-netwlibc)
-override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
-endif
-ifeq ($(FULL_TARGET),i386-wince)
-override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
-endif
-ifeq ($(FULL_TARGET),m68k-linux)
-override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
-endif
-ifeq ($(FULL_TARGET),m68k-freebsd)
-override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
-endif
-ifeq ($(FULL_TARGET),m68k-netbsd)
-override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
-endif
-ifeq ($(FULL_TARGET),m68k-amiga)
-override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
-endif
-ifeq ($(FULL_TARGET),m68k-atari)
-override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
-endif
-ifeq ($(FULL_TARGET),m68k-openbsd)
-override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
-endif
-ifeq ($(FULL_TARGET),m68k-palmos)
-override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
-endif
-ifeq ($(FULL_TARGET),powerpc-linux)
-override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
-endif
-ifeq ($(FULL_TARGET),powerpc-netbsd)
-override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
-endif
-ifeq ($(FULL_TARGET),powerpc-amiga)
-override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
-endif
-ifeq ($(FULL_TARGET),powerpc-macos)
-override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
-endif
-ifeq ($(FULL_TARGET),powerpc-darwin)
-override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
-endif
-ifeq ($(FULL_TARGET),powerpc-morphos)
-override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
-endif
-ifeq ($(FULL_TARGET),sparc-linux)
-override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
-endif
-ifeq ($(FULL_TARGET),sparc-netbsd)
-override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
-endif
-ifeq ($(FULL_TARGET),sparc-solaris)
-override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
-endif
-ifeq ($(FULL_TARGET),x86_64-linux)
-override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
-endif
-ifeq ($(FULL_TARGET),x86_64-freebsd)
-override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
-endif
-ifeq ($(FULL_TARGET),x86_64-win64)
-override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
-endif
-ifeq ($(FULL_TARGET),arm-linux)
-override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
-endif
-ifeq ($(FULL_TARGET),arm-palmos)
-override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
-endif
-ifeq ($(FULL_TARGET),arm-wince)
-override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
-endif
 ifeq ($(FULL_TARGET),arm-gba)
 ifeq ($(FULL_TARGET),arm-gba)
 override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
 override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
 endif
 endif
-ifeq ($(FULL_TARGET),powerpc64-linux)
-override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
-endif
-ifeq ($(FULL_TARGET),i386-linux)
-override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
-endif
-ifeq ($(FULL_TARGET),i386-go32v2)
-override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
-endif
-ifeq ($(FULL_TARGET),i386-win32)
-override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
-endif
-ifeq ($(FULL_TARGET),i386-os2)
-override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
-endif
-ifeq ($(FULL_TARGET),i386-freebsd)
-override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
-endif
-ifeq ($(FULL_TARGET),i386-beos)
-override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
-endif
-ifeq ($(FULL_TARGET),i386-netbsd)
-override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
-endif
-ifeq ($(FULL_TARGET),i386-solaris)
-override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
-endif
-ifeq ($(FULL_TARGET),i386-qnx)
-override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
-endif
-ifeq ($(FULL_TARGET),i386-netware)
-override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
-endif
-ifeq ($(FULL_TARGET),i386-openbsd)
-override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
-endif
-ifeq ($(FULL_TARGET),i386-wdosx)
-override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
-endif
-ifeq ($(FULL_TARGET),i386-darwin)
-override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
-endif
-ifeq ($(FULL_TARGET),i386-emx)
-override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
-endif
-ifeq ($(FULL_TARGET),i386-watcom)
-override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
-endif
-ifeq ($(FULL_TARGET),i386-netwlibc)
-override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
-endif
-ifeq ($(FULL_TARGET),i386-wince)
-override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
-endif
-ifeq ($(FULL_TARGET),m68k-linux)
-override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
-endif
-ifeq ($(FULL_TARGET),m68k-freebsd)
-override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
-endif
-ifeq ($(FULL_TARGET),m68k-netbsd)
-override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
-endif
-ifeq ($(FULL_TARGET),m68k-amiga)
-override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
-endif
-ifeq ($(FULL_TARGET),m68k-atari)
-override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
-endif
-ifeq ($(FULL_TARGET),m68k-openbsd)
-override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
-endif
-ifeq ($(FULL_TARGET),m68k-palmos)
-override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
-endif
-ifeq ($(FULL_TARGET),powerpc-linux)
-override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
-endif
-ifeq ($(FULL_TARGET),powerpc-netbsd)
-override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
-endif
-ifeq ($(FULL_TARGET),powerpc-amiga)
-override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
-endif
-ifeq ($(FULL_TARGET),powerpc-macos)
-override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
-endif
-ifeq ($(FULL_TARGET),powerpc-darwin)
-override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
-endif
-ifeq ($(FULL_TARGET),powerpc-morphos)
-override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
-endif
-ifeq ($(FULL_TARGET),sparc-linux)
-override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
-endif
-ifeq ($(FULL_TARGET),sparc-netbsd)
-override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
-endif
-ifeq ($(FULL_TARGET),sparc-solaris)
-override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
-endif
-ifeq ($(FULL_TARGET),x86_64-linux)
-override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
-endif
-ifeq ($(FULL_TARGET),x86_64-freebsd)
-override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
-endif
-ifeq ($(FULL_TARGET),x86_64-win64)
-override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
-endif
-ifeq ($(FULL_TARGET),arm-linux)
-override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
-endif
-ifeq ($(FULL_TARGET),arm-palmos)
-override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
-endif
-ifeq ($(FULL_TARGET),arm-wince)
-override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
-endif
 ifeq ($(FULL_TARGET),arm-gba)
 ifeq ($(FULL_TARGET),arm-gba)
 override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
 override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
 endif
 endif
-ifeq ($(FULL_TARGET),powerpc64-linux)
-override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
-endif
 ifdef REQUIRE_UNITSDIR
 ifdef REQUIRE_UNITSDIR
 override UNITSDIR+=$(REQUIRE_UNITSDIR)
 override UNITSDIR+=$(REQUIRE_UNITSDIR)
 endif
 endif
@@ -1532,7 +1055,7 @@ ifeq ($(CPU_TARGET),powerpc)
 FPCCPUOPT:=-O1r
 FPCCPUOPT:=-O1r
 endif
 endif
 else
 else
-FPCCPUOPT:=-O2
+FPCCPUOPT:=-O1r
 endif
 endif
 override FPCOPT+=-Ur -Xs $(FPCCPUOPT) -n
 override FPCOPT+=-Ur -Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 override FPCOPTDEF+=RELEASE
@@ -1623,6 +1146,33 @@ ifeq ($(FULL_SOURCE),$(FULL_TARGET))
 EXECPPAS:=@$(PPAS)
 EXECPPAS:=@$(PPAS)
 endif
 endif
 endif
 endif
+.PHONY: fpc_loaders
+ifneq ($(TARGET_LOADERS),)
+override ALLTARGET+=fpc_loaders
+override CLEANTARGET+=fpc_loaders_clean
+override INSTALLTARGET+=fpc_loaders_install
+override LOADEROFILES:=$(addsuffix $(OEXT),$(TARGET_LOADERS))
+endif
+%$(OEXT): %$(LOADEREXT)
+ifdef COMPILER_UNITTARGETDIR
+	$(AS) -o $(COMPILER_UNITTARGETDIR)/$*$(OEXT) $<
+else
+	$(AS) -o $*$(OEXT) $<
+endif
+fpc_loaders: $(COMPILER_UNITTARGETDIR) $(LOADEROFILES)
+fpc_loaders_clean:
+ifdef COMPILER_UNITTARGETDIR
+	-$(DEL) $(addprefix $(COMPILER_UNITTARGETDIR)/,$(LOADEROFILES))
+else
+	-$(DEL) $(LOADEROFILES)
+endif
+fpc_loaders_install:
+	$(MKDIR) $(INSTALL_UNITDIR)
+ifdef COMPILER_UNITTARGETDIR
+	$(INSTALL) $(addprefix $(COMPILER_UNITTARGETDIR)/,$(LOADEROFILES)) $(INSTALL_UNITDIR)
+else
+	$(INSTALL) $(LOADEROFILES) $(INSTALL_UNITDIR)
+endif
 .PHONY: fpc_units
 .PHONY: fpc_units
 ifneq ($(TARGET_UNITS),)
 ifneq ($(TARGET_UNITS),)
 override ALLTARGET+=fpc_units
 override ALLTARGET+=fpc_units
@@ -1981,8 +1531,8 @@ 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)
-%$(OEXT) : %.as
-	$(AS) -o $(UNITTARGETDIRPREFIX)$*$(OEXT) $*.as
+prt0$(OEXT) : prt0.as
+	$(AS) $(ASTARGET) -o $(UNITTARGETDIRPREFIX)prt0$(OEXT) prt0.as
 $(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMUNIT).pp $(SYSDEPS)
 $(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMUNIT).pp $(SYSDEPS)
 	$(COMPILER) -Us -Sg $(SYSTEMUNIT).pp $(REDIR)
 	$(COMPILER) -Us -Sg $(SYSTEMUNIT).pp $(REDIR)
 objpas$(PPUEXT): $(OBJPASDIR)/objpas.pp $(INC)/except.inc $(SYSTEMUNIT)$(PPUEXT)
 objpas$(PPUEXT): $(OBJPASDIR)/objpas.pp $(INC)/except.inc $(SYSTEMUNIT)$(PPUEXT)

+ 4 - 3
rtl/gba/Makefile.fpc

@@ -6,7 +6,7 @@
 main=rtl
 main=rtl
 
 
 [target]
 [target]
-loaders=
+loaders=prt0
 units=$(SYSTEMUNIT) objpas macpas strings \
 units=$(SYSTEMUNIT) objpas macpas strings \
 #      dos \
 #      dos \
       sysutils \
       sysutils \
@@ -75,8 +75,9 @@ SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS)
 # Loaders
 # Loaders
 #
 #
 
 
-%$(OEXT) : %.as
-        $(AS) -o $(UNITTARGETDIRPREFIX)$*$(OEXT) $*.as
+prt0$(OEXT) : prt0.as
+        $(AS) $(ASTARGET) -o $(UNITTARGETDIRPREFIX)prt0$(OEXT) prt0.as
+
 
 
 #
 #
 # Base Units (System, strings, os-dependent-base-unit)
 # Base Units (System, strings, os-dependent-base-unit)

+ 0 - 0
rtl/gba/prt0.s → rtl/gba/prt0.as