|
@@ -2,7 +2,7 @@
|
|
|
# Don't edit, this file is generated by FPCMake Version 2.0.0
|
|
|
#
|
|
|
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 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 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-android aarch64-ios wasm32-embedded wasm32-wasi sparc64-linux riscv32-linux riscv32-embedded riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc
|
|
|
+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 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 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-android aarch64-ios wasm32-embedded wasm32-wasi 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
|
|
|
BSDs = freebsd netbsd openbsd darwin dragonfly
|
|
|
UNIXs = linux $(BSDs) solaris qnx haiku aix
|
|
|
LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari
|
|
@@ -352,7 +352,7 @@ endif
|
|
|
override PACKAGE_NAME=compiler
|
|
|
override PACKAGE_VERSION=3.3.1
|
|
|
unexport FPC_VERSION FPC_COMPILERINFO
|
|
|
-CYCLETARGETS=i386 powerpc sparc arm x86_64 powerpc64 m68k armeb mipsel mips avr jvm i8086 aarch64 sparc64 riscv32 riscv64 xtensa z80 wasm32
|
|
|
+CYCLETARGETS=i386 powerpc sparc arm x86_64 powerpc64 m68k armeb mipsel mips avr jvm i8086 aarch64 sparc64 riscv32 riscv64 xtensa z80 wasm32 loongarch64
|
|
|
ALLTARGETS=$(CYCLETARGETS)
|
|
|
NO_NATIVE_COMPILER_OS_LIST=amstradcpc embedded freertos gba macosclassic msdos msxdos nds palmos sinclairql symbian watcom wii win16 zxspectrum
|
|
|
NO_NATIVE_COMPILER_CPU_LIST=avr i8086 jvm z80 wasm32
|
|
@@ -435,6 +435,9 @@ endif
|
|
|
ifdef Z80
|
|
|
PPC_TARGET=z80
|
|
|
endif
|
|
|
+ifdef LOONGARCH64
|
|
|
+PPC_TARGET=loongarch64
|
|
|
+endif
|
|
|
ifndef PPC_TARGET
|
|
|
PPC_TARGET=$(CPU_TARGET)
|
|
|
endif
|
|
@@ -575,6 +578,9 @@ endif
|
|
|
ifeq ($(CPC_TARGET),wasm32)
|
|
|
CPUSUF=wasm32
|
|
|
endif
|
|
|
+ifeq ($(CPC_TARGET),loongarch64)
|
|
|
+CPUSUF=loongarch64
|
|
|
+endif
|
|
|
NOCPUDEF=1
|
|
|
MSGFILE=msg/error$(FPCLANG).msg
|
|
|
PPUDUMPPROG:=$(firstword $(strip $(wildcard $(addsuffix /ppudump$(SRCEXEEXT),$(SEARCHPATH)))))
|
|
@@ -682,6 +688,9 @@ endif
|
|
|
ifeq ($(PPC_TARGET),wasm32)
|
|
|
override LOCALOPT+=-dNOOPT
|
|
|
endif
|
|
|
+ifeq ($(PPC_TARGET),loongarch64)
|
|
|
+override LOCALOPT+=-Fuloongarch64
|
|
|
+endif
|
|
|
OPTWPOCOLLECT=-OWdevirtcalls,optvmts -FW$(BASEDIR)/pp1.wpo
|
|
|
OPTWPOPERFORM=-Owdevirtcalls,optvmts -Fw$(BASEDIR)/pp1.wpo
|
|
|
ifneq ($(findstring $(OS_TARGET),darwin linux dragonfly freebsd solaris),)
|
|
@@ -989,6 +998,9 @@ endif
|
|
|
ifeq ($(FULL_TARGET),riscv32-embedded)
|
|
|
override TARGET_DIRS+=utils
|
|
|
endif
|
|
|
+ifeq ($(FULL_TARGET),riscv32-freertos)
|
|
|
+override TARGET_DIRS+=utils
|
|
|
+endif
|
|
|
ifeq ($(FULL_TARGET),riscv64-linux)
|
|
|
override TARGET_DIRS+=utils
|
|
|
endif
|
|
@@ -1016,6 +1028,9 @@ endif
|
|
|
ifeq ($(FULL_TARGET),z80-amstradcpc)
|
|
|
override TARGET_DIRS+=utils
|
|
|
endif
|
|
|
+ifeq ($(FULL_TARGET),loongarch64-linux)
|
|
|
+override TARGET_DIRS+=utils
|
|
|
+endif
|
|
|
ifeq ($(FULL_TARGET),i386-linux)
|
|
|
override TARGET_PROGRAMS+=pp
|
|
|
endif
|
|
@@ -1313,6 +1328,9 @@ endif
|
|
|
ifeq ($(FULL_TARGET),riscv32-embedded)
|
|
|
override TARGET_PROGRAMS+=pp
|
|
|
endif
|
|
|
+ifeq ($(FULL_TARGET),riscv32-freertos)
|
|
|
+override TARGET_PROGRAMS+=pp
|
|
|
+endif
|
|
|
ifeq ($(FULL_TARGET),riscv64-linux)
|
|
|
override TARGET_PROGRAMS+=pp
|
|
|
endif
|
|
@@ -1340,6 +1358,9 @@ endif
|
|
|
ifeq ($(FULL_TARGET),z80-amstradcpc)
|
|
|
override TARGET_PROGRAMS+=pp
|
|
|
endif
|
|
|
+ifeq ($(FULL_TARGET),loongarch64-linux)
|
|
|
+override TARGET_PROGRAMS+=pp
|
|
|
+endif
|
|
|
override INSTALL_FPCPACKAGE=y
|
|
|
ifeq ($(FULL_TARGET),i386-linux)
|
|
|
override COMPILER_INCLUDEDIR+=$(CPC_TARGET)
|
|
@@ -1638,6 +1659,9 @@ endif
|
|
|
ifeq ($(FULL_TARGET),riscv32-embedded)
|
|
|
override COMPILER_INCLUDEDIR+=$(CPC_TARGET)
|
|
|
endif
|
|
|
+ifeq ($(FULL_TARGET),riscv32-freertos)
|
|
|
+override COMPILER_INCLUDEDIR+=$(CPC_TARGET)
|
|
|
+endif
|
|
|
ifeq ($(FULL_TARGET),riscv64-linux)
|
|
|
override COMPILER_INCLUDEDIR+=$(CPC_TARGET)
|
|
|
endif
|
|
@@ -1665,6 +1689,9 @@ endif
|
|
|
ifeq ($(FULL_TARGET),z80-amstradcpc)
|
|
|
override COMPILER_INCLUDEDIR+=$(CPC_TARGET)
|
|
|
endif
|
|
|
+ifeq ($(FULL_TARGET),loongarch64-linux)
|
|
|
+override COMPILER_INCLUDEDIR+=$(CPC_TARGET)
|
|
|
+endif
|
|
|
ifeq ($(FULL_TARGET),i386-linux)
|
|
|
override COMPILER_UNITDIR+=$(COMPILERSOURCEDIR)
|
|
|
endif
|
|
@@ -1962,6 +1989,9 @@ endif
|
|
|
ifeq ($(FULL_TARGET),riscv32-embedded)
|
|
|
override COMPILER_UNITDIR+=$(COMPILERSOURCEDIR)
|
|
|
endif
|
|
|
+ifeq ($(FULL_TARGET),riscv32-freertos)
|
|
|
+override COMPILER_UNITDIR+=$(COMPILERSOURCEDIR)
|
|
|
+endif
|
|
|
ifeq ($(FULL_TARGET),riscv64-linux)
|
|
|
override COMPILER_UNITDIR+=$(COMPILERSOURCEDIR)
|
|
|
endif
|
|
@@ -1989,6 +2019,9 @@ endif
|
|
|
ifeq ($(FULL_TARGET),z80-amstradcpc)
|
|
|
override COMPILER_UNITDIR+=$(COMPILERSOURCEDIR)
|
|
|
endif
|
|
|
+ifeq ($(FULL_TARGET),loongarch64-linux)
|
|
|
+override COMPILER_UNITDIR+=$(COMPILERSOURCEDIR)
|
|
|
+endif
|
|
|
ifeq ($(FULL_TARGET),i386-linux)
|
|
|
override COMPILER_TARGETDIR+=$(CPU_UNITDIR)/bin/$(FULL_TARGET)
|
|
|
endif
|
|
@@ -2286,6 +2319,9 @@ endif
|
|
|
ifeq ($(FULL_TARGET),riscv32-embedded)
|
|
|
override COMPILER_TARGETDIR+=$(CPU_UNITDIR)/bin/$(FULL_TARGET)
|
|
|
endif
|
|
|
+ifeq ($(FULL_TARGET),riscv32-freertos)
|
|
|
+override COMPILER_TARGETDIR+=$(CPU_UNITDIR)/bin/$(FULL_TARGET)
|
|
|
+endif
|
|
|
ifeq ($(FULL_TARGET),riscv64-linux)
|
|
|
override COMPILER_TARGETDIR+=$(CPU_UNITDIR)/bin/$(FULL_TARGET)
|
|
|
endif
|
|
@@ -2313,6 +2349,9 @@ endif
|
|
|
ifeq ($(FULL_TARGET),z80-amstradcpc)
|
|
|
override COMPILER_TARGETDIR+=$(CPU_UNITDIR)/bin/$(FULL_TARGET)
|
|
|
endif
|
|
|
+ifeq ($(FULL_TARGET),loongarch64-linux)
|
|
|
+override COMPILER_TARGETDIR+=$(CPU_UNITDIR)/bin/$(FULL_TARGET)
|
|
|
+endif
|
|
|
ifeq ($(FULL_TARGET),i386-linux)
|
|
|
override COMPILER_UNITTARGETDIR+=$(CPU_UNITDIR)/units/$(FULL_TARGET)
|
|
|
endif
|
|
@@ -2610,6 +2649,9 @@ endif
|
|
|
ifeq ($(FULL_TARGET),riscv32-embedded)
|
|
|
override COMPILER_UNITTARGETDIR+=$(CPU_UNITDIR)/units/$(FULL_TARGET)
|
|
|
endif
|
|
|
+ifeq ($(FULL_TARGET),riscv32-freertos)
|
|
|
+override COMPILER_UNITTARGETDIR+=$(CPU_UNITDIR)/units/$(FULL_TARGET)
|
|
|
+endif
|
|
|
ifeq ($(FULL_TARGET),riscv64-linux)
|
|
|
override COMPILER_UNITTARGETDIR+=$(CPU_UNITDIR)/units/$(FULL_TARGET)
|
|
|
endif
|
|
@@ -2637,6 +2679,9 @@ endif
|
|
|
ifeq ($(FULL_TARGET),z80-amstradcpc)
|
|
|
override COMPILER_UNITTARGETDIR+=$(CPU_UNITDIR)/units/$(FULL_TARGET)
|
|
|
endif
|
|
|
+ifeq ($(FULL_TARGET),loongarch64-linux)
|
|
|
+override COMPILER_UNITTARGETDIR+=$(CPU_UNITDIR)/units/$(FULL_TARGET)
|
|
|
+endif
|
|
|
ifdef REQUIRE_UNITSDIR
|
|
|
override UNITSDIR+=$(REQUIRE_UNITSDIR)
|
|
|
endif
|
|
@@ -2896,7 +2941,7 @@ FPCFPMAKE_CPU_TARGET=$(shell $(FPCFPMAKE) -iTP)
|
|
|
ifeq ($(CPU_TARGET),$(FPCFPMAKE_CPU_TARGET))
|
|
|
FPCMAKEGCCLIBDIR:=$(GCCLIBDIR)
|
|
|
else
|
|
|
-ifneq ($(filter $(FPCFPMAKE_CPU_TARGET),aarch64 powerpc64 riscv64 sparc64 x86_64),)
|
|
|
+ifneq ($(filter $(FPCFPMAKE_CPU_TARGET),aarch64 powerpc64 riscv64 sparc64 x86_64 loongarch64),)
|
|
|
FPCMAKE_CROSSGCCOPT=-m64
|
|
|
else
|
|
|
ifneq ($(filter $(FPCFPMAKE_CPU_TARGET),mips64 mips64el),)
|
|
@@ -2911,12 +2956,16 @@ else
|
|
|
ifeq ($(FPCFPMAKE_CPU_TARGET),riscv32)
|
|
|
FPCMAKE_CROSSGCCOPT=-mabi=ilp32
|
|
|
else
|
|
|
+ifeq ($(FPCFPMAKE_CPU_TARGET),loongarch64)
|
|
|
+FPCMAKE_CROSSGCCOPT=-mabi=lp64d
|
|
|
+else
|
|
|
FPCMAKE_CROSSGCCOPT=-m32
|
|
|
endif
|
|
|
endif
|
|
|
endif
|
|
|
endif
|
|
|
endif
|
|
|
+endif
|
|
|
FPCMAKEGCCLIBDIR:=$(shell dirname `gcc $(FPCMAKE_CROSSGCCOPT) -print-libgcc-file-name`)
|
|
|
endif
|
|
|
endif
|
|
@@ -3718,6 +3767,9 @@ endif
|
|
|
ifeq ($(FULL_TARGET),riscv32-embedded)
|
|
|
REQUIRE_PACKAGES_RTL=1
|
|
|
endif
|
|
|
+ifeq ($(FULL_TARGET),riscv32-freertos)
|
|
|
+REQUIRE_PACKAGES_RTL=1
|
|
|
+endif
|
|
|
ifeq ($(FULL_TARGET),riscv64-linux)
|
|
|
REQUIRE_PACKAGES_RTL=1
|
|
|
endif
|
|
@@ -3745,6 +3797,9 @@ endif
|
|
|
ifeq ($(FULL_TARGET),z80-amstradcpc)
|
|
|
REQUIRE_PACKAGES_RTL=1
|
|
|
endif
|
|
|
+ifeq ($(FULL_TARGET),loongarch64-linux)
|
|
|
+REQUIRE_PACKAGES_RTL=1
|
|
|
+endif
|
|
|
ifdef REQUIRE_PACKAGES_RTL
|
|
|
PACKAGEDIR_RTL:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /rtl/Makefile.fpc,$(PACKAGESDIR))))))
|
|
|
ifneq ($(PACKAGEDIR_RTL),)
|
|
@@ -4713,6 +4768,9 @@ endif
|
|
|
ifeq ($(FULL_TARGET),riscv32-embedded)
|
|
|
TARGET_DIRS_UTILS=1
|
|
|
endif
|
|
|
+ifeq ($(FULL_TARGET),riscv32-freertos)
|
|
|
+TARGET_DIRS_UTILS=1
|
|
|
+endif
|
|
|
ifeq ($(FULL_TARGET),riscv64-linux)
|
|
|
TARGET_DIRS_UTILS=1
|
|
|
endif
|
|
@@ -4740,6 +4798,9 @@ endif
|
|
|
ifeq ($(FULL_TARGET),z80-amstradcpc)
|
|
|
TARGET_DIRS_UTILS=1
|
|
|
endif
|
|
|
+ifeq ($(FULL_TARGET),loongarch64-linux)
|
|
|
+TARGET_DIRS_UTILS=1
|
|
|
+endif
|
|
|
ifdef TARGET_DIRS_UTILS
|
|
|
utils_all:
|
|
|
$(MAKE) -C utils all
|
|
@@ -4953,8 +5014,8 @@ endif
|
|
|
ifdef TEMPWPONAME2PREFIX
|
|
|
$(MAKE) g$(TEMPWPONAME2) COMPILERTEMPNAME=$(TEMPWPONAME2)
|
|
|
endif
|
|
|
-PPC_TARGETS=i386 m68k powerpc sparc arm armeb x86_64 powerpc64 mips mipsel mips64 mips64el avr jvm i8086 aarch64 sparc64 riscv32 riscv64 xtensa z80 wasm32
|
|
|
-PPC_SUFFIXES=386 68k ppc sparc arm armeb x64 ppc64 mips mipsel mips64 mips64el avr jvm 8086 a64 sparc64 rv32 rv64 xtensa z80 wasm32
|
|
|
+PPC_TARGETS=i386 m68k powerpc sparc arm armeb x86_64 powerpc64 mips mipsel mips64 mips64el avr jvm i8086 aarch64 sparc64 riscv32 riscv64 xtensa z80 wasm32 loongarch64
|
|
|
+PPC_SUFFIXES=386 68k ppc sparc arm armeb x64 ppc64 mips mipsel mips64 mips64el avr jvm 8086 a64 sparc64 rv32 rv64 xtensa z80 wasm32 loongarch64
|
|
|
INSTALL_TARGETS=$(addsuffix _exe_install,$(sort $(CYCLETARGETS) $(PPC_TARGETS)))
|
|
|
CLEAN_TARGETS=$(addsuffix _clean,$(sort $(CYCLETARGETS) $(PPC_TARGETS)))
|
|
|
SYMLINKINSTALL_TARGETS=$(addsuffix _symlink_install,$(sort $(CYCLETARGETS) $(PPC_TARGETS)))
|
|
@@ -5027,7 +5088,10 @@ insdataarch64 : aarch64/a64ins.dat
|
|
|
insdatz80 : z80/z80ins.dat
|
|
|
$(COMPILER) -FE$(COMPILERUTILSDIR) $(COMPILERUTILSDIR)/mkz80ins.pp
|
|
|
cd z80 && ..$(PATHSEP)utils$(PATHSEP)mkz80ins$(SRCEXEEXT)
|
|
|
-insdat: insdatx86 insdatarm insdataarch64 insdatz80
|
|
|
+insdatloongarch64 : loongarch64/loongarchins.dat
|
|
|
+ $(COMPILER) -FE$(COMPILERUTILSDIR) $(COMPILERUTILSDIR)/mkloongarch64ins.pp
|
|
|
+ cd loongarch64 && ..$(PATHSEP)utils$(PATHSEP)mkloongarch64ins$(SRCEXEEXT)
|
|
|
+insdat: insdatx86 insdatarm insdataarch64 insdatz80 insdatloongarch64
|
|
|
regdatx86 : x86/x86reg.dat
|
|
|
$(COMPILER) -FE$(COMPILERUTILSDIR) $(COMPILERUTILSDIR)/mkx86reg.pp
|
|
|
cd x86 && ..$(PATHSEP)utils$(PATHSEP)mkx86reg$(SRCEXEEXT) i8086
|
|
@@ -5070,7 +5134,10 @@ regdatrv64 : riscv/rvreg.dat
|
|
|
$(COMPILER) -FE$(COMPILERUTILSDIR) $(COMPILERUTILSDIR)/mkrvreg.pp
|
|
|
cd riscv && ..$(PATHSEP)utils$(PATHSEP)mkrvreg$(SRCEXEEXT) riscv64
|
|
|
mv -f riscv/rrv64*.inc riscv64
|
|
|
-regdat : regdatx86 regdatarm regdatsp regdatavr regdataarch64 regdatmips regdatsp64 regdatz80 regdatwasm regdatrv32 regdatrv64
|
|
|
+regdatloongarch64 : loongarch64/loongarchreg.dat
|
|
|
+ $(COMPILER) -FE$(COMPILERUTILSDIR) $(COMPILERUTILSDIR)/mkloongarch64reg.pp
|
|
|
+ cd loongarch64 && ..$(PATHSEP)utils$(PATHSEP)mkloongarch64reg$(SRCEXEEXT)
|
|
|
+regdat : regdatx86 regdatarm regdatsp regdatavr regdataarch64 regdatmips regdatsp64 regdatz80 regdatwasm regdatrv32 regdatrv64 regdatloongarch64
|
|
|
intrdatx86 : x86/x86intr.dat
|
|
|
$(COMPILER) -FE$(COMPILERUTILSDIR) $(COMPILERUTILSDIR)/mkx86inl.pp
|
|
|
cd x86 && ..$(PATHSEP)utils$(PATHSEP)mkx86inl$(SRCEXEEXT)
|
|
@@ -5260,7 +5327,7 @@ ifeq ($(findstring -dFPC_SOFT_FPUX80,$(LOCALOPT)),)
|
|
|
ifeq ($(OS_SOURCE),win64)
|
|
|
EXCLUDE_80BIT_TARGETS=1
|
|
|
endif
|
|
|
-ifneq ($(findstring $(CPU_SOURCE),aarch64 arm avr jvm m68k mips mipsel mips64 mips64el powerpc powerpc64 sparc sparc64 riscv32 riscv64 xtensa),)
|
|
|
+ifneq ($(findstring $(CPU_SOURCE),aarch64 arm avr jvm m68k mips mipsel mips64 mips64el powerpc powerpc64 sparc sparc64 riscv32 riscv64 xtensa loongarch64),)
|
|
|
EXCLUDE_80BIT_TARGETS=1
|
|
|
endif
|
|
|
endif
|