diff --git a/compiler/Makefile b/compiler/Makefile index 59c6329e4d..6da17af8eb 100644 --- a/compiler/Makefile +++ b/compiler/Makefile @@ -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-macos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos 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-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-darwin aarch64-android wasm-wasm sparc64-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 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 mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-darwin aarch64-win64 aarch64-android aarch64-ios wasm-wasm sparc64-linux riscv32-linux riscv32-embedded riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc BSDs = freebsd netbsd openbsd darwin dragonfly UNIXs = linux $(BSDs) solaris qnx haiku aix LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari @@ -196,6 +196,24 @@ $(error When compiling for mipsel-embedded, a sub-architecture (e.g. SUBARCH=pic endif override FPCOPT+=-Cp$(SUBARCH) endif +ifeq ($(FULL_TARGET),xtensa-embedded) +ifeq ($(SUBARCH),) +$(error When compiling for xtensa-embedded, a sub-architecture (e.g. SUBARCH=lx106 or SUBARCH=lx6) must be defined) +endif +override FPCOPT+=-Cp$(SUBARCH) +endif +ifeq ($(FULL_TARGET),xtensa-freertos) +ifeq ($(SUBARCH),) +$(error When compiling for xtensa-freertos, a sub-architecture (e.g. SUBARCH=lx106 or SUBARCH=lx6) must be defined) +endif +override FPCOPT+=-Cp$(SUBARCH) +endif +ifeq ($(FULL_TARGET),arm-freertos) +ifeq ($(SUBARCH),) +$(error When compiling for arm-freertos, a sub-architecture (e.g. SUBARCH=armv6m or SUBARCH=armv7em) must be defined) +endif +override FPCOPT+=-Cp$(SUBARCH) +endif ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),) TARGETSUFFIX=$(OS_TARGET) SOURCESUFFIX=$(OS_SOURCE) @@ -269,8 +287,8 @@ endif ifndef CROSSBINDIR CROSSBINDIR:=$(wildcard $(FPCDIR)/bin/$(TARGETSUFFIX)) endif -ifneq ($(findstring $(OS_TARGET),darwin iphonesim),) -ifeq ($(OS_SOURCE),darwin) +ifneq ($(findstring $(OS_TARGET),darwin iphonesim ios),) +ifneq ($(findstring $(OS_SOURCE),darwin ios),) DARWIN2DARWIN=1 endif endif @@ -710,7 +728,7 @@ endif ifeq ($(FULL_TARGET),m68k-palmos) override TARGET_DIRS+=utils endif -ifeq ($(FULL_TARGET),m68k-macos) +ifeq ($(FULL_TARGET),m68k-macosclassic) override TARGET_DIRS+=utils endif ifeq ($(FULL_TARGET),m68k-embedded) @@ -725,7 +743,7 @@ endif ifeq ($(FULL_TARGET),powerpc-amiga) override TARGET_DIRS+=utils endif -ifeq ($(FULL_TARGET),powerpc-macos) +ifeq ($(FULL_TARGET),powerpc-macosclassic) override TARGET_DIRS+=utils endif ifeq ($(FULL_TARGET),powerpc-darwin) @@ -803,9 +821,6 @@ endif ifeq ($(FULL_TARGET),arm-palmos) override TARGET_DIRS+=utils endif -ifeq ($(FULL_TARGET),arm-darwin) -override TARGET_DIRS+=utils -endif ifeq ($(FULL_TARGET),arm-wince) override TARGET_DIRS+=utils endif @@ -827,6 +842,12 @@ endif ifeq ($(FULL_TARGET),arm-aros) override TARGET_DIRS+=utils endif +ifeq ($(FULL_TARGET),arm-freertos) +override TARGET_DIRS+=utils +endif +ifeq ($(FULL_TARGET),arm-ios) +override TARGET_DIRS+=utils +endif ifeq ($(FULL_TARGET),powerpc64-linux) override TARGET_DIRS+=utils endif @@ -860,6 +881,9 @@ endif ifeq ($(FULL_TARGET),mipsel-android) override TARGET_DIRS+=utils endif +ifeq ($(FULL_TARGET),mips64el-linux) +override TARGET_DIRS+=utils +endif ifeq ($(FULL_TARGET),jvm-java) override TARGET_DIRS+=utils endif @@ -881,15 +905,54 @@ endif ifeq ($(FULL_TARGET),aarch64-darwin) override TARGET_DIRS+=utils endif +ifeq ($(FULL_TARGET),aarch64-win64) +override TARGET_DIRS+=utils +endif ifeq ($(FULL_TARGET),aarch64-android) override TARGET_DIRS+=utils endif +ifeq ($(FULL_TARGET),aarch64-ios) +override TARGET_DIRS+=utils +endif ifeq ($(FULL_TARGET),wasm-wasm) override TARGET_DIRS+=utils endif ifeq ($(FULL_TARGET),sparc64-linux) override TARGET_DIRS+=utils endif +ifeq ($(FULL_TARGET),riscv32-linux) +override TARGET_DIRS+=utils +endif +ifeq ($(FULL_TARGET),riscv32-embedded) +override TARGET_DIRS+=utils +endif +ifeq ($(FULL_TARGET),riscv64-linux) +override TARGET_DIRS+=utils +endif +ifeq ($(FULL_TARGET),riscv64-embedded) +override TARGET_DIRS+=utils +endif +ifeq ($(FULL_TARGET),xtensa-linux) +override TARGET_DIRS+=utils +endif +ifeq ($(FULL_TARGET),xtensa-embedded) +override TARGET_DIRS+=utils +endif +ifeq ($(FULL_TARGET),xtensa-freertos) +override TARGET_DIRS+=utils +endif +ifeq ($(FULL_TARGET),z80-embedded) +override TARGET_DIRS+=utils +endif +ifeq ($(FULL_TARGET),z80-zxspectrum) +override TARGET_DIRS+=utils +endif +ifeq ($(FULL_TARGET),z80-msxdos) +override TARGET_DIRS+=utils +endif +ifeq ($(FULL_TARGET),z80-amstradcpc) +override TARGET_DIRS+=utils +endif ifeq ($(FULL_TARGET),i386-linux) override TARGET_PROGRAMS+=pp endif @@ -974,7 +1037,7 @@ endif ifeq ($(FULL_TARGET),m68k-palmos) override TARGET_PROGRAMS+=pp endif -ifeq ($(FULL_TARGET),m68k-macos) +ifeq ($(FULL_TARGET),m68k-macosclassic) override TARGET_PROGRAMS+=pp endif ifeq ($(FULL_TARGET),m68k-embedded) @@ -989,7 +1052,7 @@ endif ifeq ($(FULL_TARGET),powerpc-amiga) override TARGET_PROGRAMS+=pp endif -ifeq ($(FULL_TARGET),powerpc-macos) +ifeq ($(FULL_TARGET),powerpc-macosclassic) override TARGET_PROGRAMS+=pp endif ifeq ($(FULL_TARGET),powerpc-darwin) @@ -1067,9 +1130,6 @@ endif ifeq ($(FULL_TARGET),arm-palmos) override TARGET_PROGRAMS+=pp endif -ifeq ($(FULL_TARGET),arm-darwin) -override TARGET_PROGRAMS+=pp -endif ifeq ($(FULL_TARGET),arm-wince) override TARGET_PROGRAMS+=pp endif @@ -1091,6 +1151,12 @@ endif ifeq ($(FULL_TARGET),arm-aros) override TARGET_PROGRAMS+=pp endif +ifeq ($(FULL_TARGET),arm-freertos) +override TARGET_PROGRAMS+=pp +endif +ifeq ($(FULL_TARGET),arm-ios) +override TARGET_PROGRAMS+=pp +endif ifeq ($(FULL_TARGET),powerpc64-linux) override TARGET_PROGRAMS+=pp endif @@ -1124,6 +1190,9 @@ endif ifeq ($(FULL_TARGET),mipsel-android) override TARGET_PROGRAMS+=pp endif +ifeq ($(FULL_TARGET),mips64el-linux) +override TARGET_PROGRAMS+=pp +endif ifeq ($(FULL_TARGET),jvm-java) override TARGET_PROGRAMS+=pp endif @@ -1145,15 +1214,54 @@ endif ifeq ($(FULL_TARGET),aarch64-darwin) override TARGET_PROGRAMS+=pp endif +ifeq ($(FULL_TARGET),aarch64-win64) +override TARGET_PROGRAMS+=pp +endif ifeq ($(FULL_TARGET),aarch64-android) override TARGET_PROGRAMS+=pp endif +ifeq ($(FULL_TARGET),aarch64-ios) +override TARGET_PROGRAMS+=pp +endif ifeq ($(FULL_TARGET),wasm-wasm) override TARGET_PROGRAMS+=pp endif ifeq ($(FULL_TARGET),sparc64-linux) override TARGET_PROGRAMS+=pp endif +ifeq ($(FULL_TARGET),riscv32-linux) +override TARGET_PROGRAMS+=pp +endif +ifeq ($(FULL_TARGET),riscv32-embedded) +override TARGET_PROGRAMS+=pp +endif +ifeq ($(FULL_TARGET),riscv64-linux) +override TARGET_PROGRAMS+=pp +endif +ifeq ($(FULL_TARGET),riscv64-embedded) +override TARGET_PROGRAMS+=pp +endif +ifeq ($(FULL_TARGET),xtensa-linux) +override TARGET_PROGRAMS+=pp +endif +ifeq ($(FULL_TARGET),xtensa-embedded) +override TARGET_PROGRAMS+=pp +endif +ifeq ($(FULL_TARGET),xtensa-freertos) +override TARGET_PROGRAMS+=pp +endif +ifeq ($(FULL_TARGET),z80-embedded) +override TARGET_PROGRAMS+=pp +endif +ifeq ($(FULL_TARGET),z80-zxspectrum) +override TARGET_PROGRAMS+=pp +endif +ifeq ($(FULL_TARGET),z80-msxdos) +override TARGET_PROGRAMS+=pp +endif +ifeq ($(FULL_TARGET),z80-amstradcpc) +override TARGET_PROGRAMS+=pp +endif override INSTALL_FPCPACKAGE=y ifeq ($(FULL_TARGET),i386-linux) override COMPILER_INCLUDEDIR+=$(CPC_TARGET) @@ -1239,7 +1347,7 @@ endif ifeq ($(FULL_TARGET),m68k-palmos) override COMPILER_INCLUDEDIR+=$(CPC_TARGET) endif -ifeq ($(FULL_TARGET),m68k-macos) +ifeq ($(FULL_TARGET),m68k-macosclassic) override COMPILER_INCLUDEDIR+=$(CPC_TARGET) endif ifeq ($(FULL_TARGET),m68k-embedded) @@ -1254,7 +1362,7 @@ endif ifeq ($(FULL_TARGET),powerpc-amiga) override COMPILER_INCLUDEDIR+=$(CPC_TARGET) endif -ifeq ($(FULL_TARGET),powerpc-macos) +ifeq ($(FULL_TARGET),powerpc-macosclassic) override COMPILER_INCLUDEDIR+=$(CPC_TARGET) endif ifeq ($(FULL_TARGET),powerpc-darwin) @@ -1332,9 +1440,6 @@ endif ifeq ($(FULL_TARGET),arm-palmos) override COMPILER_INCLUDEDIR+=$(CPC_TARGET) endif -ifeq ($(FULL_TARGET),arm-darwin) -override COMPILER_INCLUDEDIR+=$(CPC_TARGET) -endif ifeq ($(FULL_TARGET),arm-wince) override COMPILER_INCLUDEDIR+=$(CPC_TARGET) endif @@ -1356,6 +1461,12 @@ endif ifeq ($(FULL_TARGET),arm-aros) override COMPILER_INCLUDEDIR+=$(CPC_TARGET) endif +ifeq ($(FULL_TARGET),arm-freertos) +override COMPILER_INCLUDEDIR+=$(CPC_TARGET) +endif +ifeq ($(FULL_TARGET),arm-ios) +override COMPILER_INCLUDEDIR+=$(CPC_TARGET) +endif ifeq ($(FULL_TARGET),powerpc64-linux) override COMPILER_INCLUDEDIR+=$(CPC_TARGET) endif @@ -1389,6 +1500,9 @@ endif ifeq ($(FULL_TARGET),mipsel-android) override COMPILER_INCLUDEDIR+=$(CPC_TARGET) endif +ifeq ($(FULL_TARGET),mips64el-linux) +override COMPILER_INCLUDEDIR+=$(CPC_TARGET) +endif ifeq ($(FULL_TARGET),jvm-java) override COMPILER_INCLUDEDIR+=$(CPC_TARGET) endif @@ -1410,15 +1524,54 @@ endif ifeq ($(FULL_TARGET),aarch64-darwin) override COMPILER_INCLUDEDIR+=$(CPC_TARGET) endif +ifeq ($(FULL_TARGET),aarch64-win64) +override COMPILER_INCLUDEDIR+=$(CPC_TARGET) +endif ifeq ($(FULL_TARGET),aarch64-android) override COMPILER_INCLUDEDIR+=$(CPC_TARGET) endif +ifeq ($(FULL_TARGET),aarch64-ios) +override COMPILER_INCLUDEDIR+=$(CPC_TARGET) +endif ifeq ($(FULL_TARGET),wasm-wasm) override COMPILER_INCLUDEDIR+=$(CPC_TARGET) endif ifeq ($(FULL_TARGET),sparc64-linux) override COMPILER_INCLUDEDIR+=$(CPC_TARGET) endif +ifeq ($(FULL_TARGET),riscv32-linux) +override COMPILER_INCLUDEDIR+=$(CPC_TARGET) +endif +ifeq ($(FULL_TARGET),riscv32-embedded) +override COMPILER_INCLUDEDIR+=$(CPC_TARGET) +endif +ifeq ($(FULL_TARGET),riscv64-linux) +override COMPILER_INCLUDEDIR+=$(CPC_TARGET) +endif +ifeq ($(FULL_TARGET),riscv64-embedded) +override COMPILER_INCLUDEDIR+=$(CPC_TARGET) +endif +ifeq ($(FULL_TARGET),xtensa-linux) +override COMPILER_INCLUDEDIR+=$(CPC_TARGET) +endif +ifeq ($(FULL_TARGET),xtensa-embedded) +override COMPILER_INCLUDEDIR+=$(CPC_TARGET) +endif +ifeq ($(FULL_TARGET),xtensa-freertos) +override COMPILER_INCLUDEDIR+=$(CPC_TARGET) +endif +ifeq ($(FULL_TARGET),z80-embedded) +override COMPILER_INCLUDEDIR+=$(CPC_TARGET) +endif +ifeq ($(FULL_TARGET),z80-zxspectrum) +override COMPILER_INCLUDEDIR+=$(CPC_TARGET) +endif +ifeq ($(FULL_TARGET),z80-msxdos) +override COMPILER_INCLUDEDIR+=$(CPC_TARGET) +endif +ifeq ($(FULL_TARGET),z80-amstradcpc) +override COMPILER_INCLUDEDIR+=$(CPC_TARGET) +endif ifeq ($(FULL_TARGET),i386-linux) override COMPILER_UNITDIR+=$(COMPILERSOURCEDIR) endif @@ -1503,7 +1656,7 @@ endif ifeq ($(FULL_TARGET),m68k-palmos) override COMPILER_UNITDIR+=$(COMPILERSOURCEDIR) endif -ifeq ($(FULL_TARGET),m68k-macos) +ifeq ($(FULL_TARGET),m68k-macosclassic) override COMPILER_UNITDIR+=$(COMPILERSOURCEDIR) endif ifeq ($(FULL_TARGET),m68k-embedded) @@ -1518,7 +1671,7 @@ endif ifeq ($(FULL_TARGET),powerpc-amiga) override COMPILER_UNITDIR+=$(COMPILERSOURCEDIR) endif -ifeq ($(FULL_TARGET),powerpc-macos) +ifeq ($(FULL_TARGET),powerpc-macosclassic) override COMPILER_UNITDIR+=$(COMPILERSOURCEDIR) endif ifeq ($(FULL_TARGET),powerpc-darwin) @@ -1596,9 +1749,6 @@ endif ifeq ($(FULL_TARGET),arm-palmos) override COMPILER_UNITDIR+=$(COMPILERSOURCEDIR) endif -ifeq ($(FULL_TARGET),arm-darwin) -override COMPILER_UNITDIR+=$(COMPILERSOURCEDIR) -endif ifeq ($(FULL_TARGET),arm-wince) override COMPILER_UNITDIR+=$(COMPILERSOURCEDIR) endif @@ -1620,6 +1770,12 @@ endif ifeq ($(FULL_TARGET),arm-aros) override COMPILER_UNITDIR+=$(COMPILERSOURCEDIR) endif +ifeq ($(FULL_TARGET),arm-freertos) +override COMPILER_UNITDIR+=$(COMPILERSOURCEDIR) +endif +ifeq ($(FULL_TARGET),arm-ios) +override COMPILER_UNITDIR+=$(COMPILERSOURCEDIR) +endif ifeq ($(FULL_TARGET),powerpc64-linux) override COMPILER_UNITDIR+=$(COMPILERSOURCEDIR) endif @@ -1653,6 +1809,9 @@ endif ifeq ($(FULL_TARGET),mipsel-android) override COMPILER_UNITDIR+=$(COMPILERSOURCEDIR) endif +ifeq ($(FULL_TARGET),mips64el-linux) +override COMPILER_UNITDIR+=$(COMPILERSOURCEDIR) +endif ifeq ($(FULL_TARGET),jvm-java) override COMPILER_UNITDIR+=$(COMPILERSOURCEDIR) endif @@ -1674,15 +1833,54 @@ endif ifeq ($(FULL_TARGET),aarch64-darwin) override COMPILER_UNITDIR+=$(COMPILERSOURCEDIR) endif +ifeq ($(FULL_TARGET),aarch64-win64) +override COMPILER_UNITDIR+=$(COMPILERSOURCEDIR) +endif ifeq ($(FULL_TARGET),aarch64-android) override COMPILER_UNITDIR+=$(COMPILERSOURCEDIR) endif +ifeq ($(FULL_TARGET),aarch64-ios) +override COMPILER_UNITDIR+=$(COMPILERSOURCEDIR) +endif ifeq ($(FULL_TARGET),wasm-wasm) override COMPILER_UNITDIR+=$(COMPILERSOURCEDIR) endif ifeq ($(FULL_TARGET),sparc64-linux) override COMPILER_UNITDIR+=$(COMPILERSOURCEDIR) endif +ifeq ($(FULL_TARGET),riscv32-linux) +override COMPILER_UNITDIR+=$(COMPILERSOURCEDIR) +endif +ifeq ($(FULL_TARGET),riscv32-embedded) +override COMPILER_UNITDIR+=$(COMPILERSOURCEDIR) +endif +ifeq ($(FULL_TARGET),riscv64-linux) +override COMPILER_UNITDIR+=$(COMPILERSOURCEDIR) +endif +ifeq ($(FULL_TARGET),riscv64-embedded) +override COMPILER_UNITDIR+=$(COMPILERSOURCEDIR) +endif +ifeq ($(FULL_TARGET),xtensa-linux) +override COMPILER_UNITDIR+=$(COMPILERSOURCEDIR) +endif +ifeq ($(FULL_TARGET),xtensa-embedded) +override COMPILER_UNITDIR+=$(COMPILERSOURCEDIR) +endif +ifeq ($(FULL_TARGET),xtensa-freertos) +override COMPILER_UNITDIR+=$(COMPILERSOURCEDIR) +endif +ifeq ($(FULL_TARGET),z80-embedded) +override COMPILER_UNITDIR+=$(COMPILERSOURCEDIR) +endif +ifeq ($(FULL_TARGET),z80-zxspectrum) +override COMPILER_UNITDIR+=$(COMPILERSOURCEDIR) +endif +ifeq ($(FULL_TARGET),z80-msxdos) +override COMPILER_UNITDIR+=$(COMPILERSOURCEDIR) +endif +ifeq ($(FULL_TARGET),z80-amstradcpc) +override COMPILER_UNITDIR+=$(COMPILERSOURCEDIR) +endif ifeq ($(FULL_TARGET),i386-linux) override COMPILER_TARGETDIR+=$(CPU_UNITDIR)/bin/$(FULL_TARGET) endif @@ -1767,7 +1965,7 @@ endif ifeq ($(FULL_TARGET),m68k-palmos) override COMPILER_TARGETDIR+=$(CPU_UNITDIR)/bin/$(FULL_TARGET) endif -ifeq ($(FULL_TARGET),m68k-macos) +ifeq ($(FULL_TARGET),m68k-macosclassic) override COMPILER_TARGETDIR+=$(CPU_UNITDIR)/bin/$(FULL_TARGET) endif ifeq ($(FULL_TARGET),m68k-embedded) @@ -1782,7 +1980,7 @@ endif ifeq ($(FULL_TARGET),powerpc-amiga) override COMPILER_TARGETDIR+=$(CPU_UNITDIR)/bin/$(FULL_TARGET) endif -ifeq ($(FULL_TARGET),powerpc-macos) +ifeq ($(FULL_TARGET),powerpc-macosclassic) override COMPILER_TARGETDIR+=$(CPU_UNITDIR)/bin/$(FULL_TARGET) endif ifeq ($(FULL_TARGET),powerpc-darwin) @@ -1860,9 +2058,6 @@ endif ifeq ($(FULL_TARGET),arm-palmos) override COMPILER_TARGETDIR+=$(CPU_UNITDIR)/bin/$(FULL_TARGET) endif -ifeq ($(FULL_TARGET),arm-darwin) -override COMPILER_TARGETDIR+=$(CPU_UNITDIR)/bin/$(FULL_TARGET) -endif ifeq ($(FULL_TARGET),arm-wince) override COMPILER_TARGETDIR+=$(CPU_UNITDIR)/bin/$(FULL_TARGET) endif @@ -1884,6 +2079,12 @@ endif ifeq ($(FULL_TARGET),arm-aros) override COMPILER_TARGETDIR+=$(CPU_UNITDIR)/bin/$(FULL_TARGET) endif +ifeq ($(FULL_TARGET),arm-freertos) +override COMPILER_TARGETDIR+=$(CPU_UNITDIR)/bin/$(FULL_TARGET) +endif +ifeq ($(FULL_TARGET),arm-ios) +override COMPILER_TARGETDIR+=$(CPU_UNITDIR)/bin/$(FULL_TARGET) +endif ifeq ($(FULL_TARGET),powerpc64-linux) override COMPILER_TARGETDIR+=$(CPU_UNITDIR)/bin/$(FULL_TARGET) endif @@ -1917,6 +2118,9 @@ endif ifeq ($(FULL_TARGET),mipsel-android) override COMPILER_TARGETDIR+=$(CPU_UNITDIR)/bin/$(FULL_TARGET) endif +ifeq ($(FULL_TARGET),mips64el-linux) +override COMPILER_TARGETDIR+=$(CPU_UNITDIR)/bin/$(FULL_TARGET) +endif ifeq ($(FULL_TARGET),jvm-java) override COMPILER_TARGETDIR+=$(CPU_UNITDIR)/bin/$(FULL_TARGET) endif @@ -1938,15 +2142,54 @@ endif ifeq ($(FULL_TARGET),aarch64-darwin) override COMPILER_TARGETDIR+=$(CPU_UNITDIR)/bin/$(FULL_TARGET) endif +ifeq ($(FULL_TARGET),aarch64-win64) +override COMPILER_TARGETDIR+=$(CPU_UNITDIR)/bin/$(FULL_TARGET) +endif ifeq ($(FULL_TARGET),aarch64-android) override COMPILER_TARGETDIR+=$(CPU_UNITDIR)/bin/$(FULL_TARGET) endif +ifeq ($(FULL_TARGET),aarch64-ios) +override COMPILER_TARGETDIR+=$(CPU_UNITDIR)/bin/$(FULL_TARGET) +endif ifeq ($(FULL_TARGET),wasm-wasm) override COMPILER_TARGETDIR+=$(CPU_UNITDIR)/bin/$(FULL_TARGET) endif ifeq ($(FULL_TARGET),sparc64-linux) override COMPILER_TARGETDIR+=$(CPU_UNITDIR)/bin/$(FULL_TARGET) endif +ifeq ($(FULL_TARGET),riscv32-linux) +override COMPILER_TARGETDIR+=$(CPU_UNITDIR)/bin/$(FULL_TARGET) +endif +ifeq ($(FULL_TARGET),riscv32-embedded) +override COMPILER_TARGETDIR+=$(CPU_UNITDIR)/bin/$(FULL_TARGET) +endif +ifeq ($(FULL_TARGET),riscv64-linux) +override COMPILER_TARGETDIR+=$(CPU_UNITDIR)/bin/$(FULL_TARGET) +endif +ifeq ($(FULL_TARGET),riscv64-embedded) +override COMPILER_TARGETDIR+=$(CPU_UNITDIR)/bin/$(FULL_TARGET) +endif +ifeq ($(FULL_TARGET),xtensa-linux) +override COMPILER_TARGETDIR+=$(CPU_UNITDIR)/bin/$(FULL_TARGET) +endif +ifeq ($(FULL_TARGET),xtensa-embedded) +override COMPILER_TARGETDIR+=$(CPU_UNITDIR)/bin/$(FULL_TARGET) +endif +ifeq ($(FULL_TARGET),xtensa-freertos) +override COMPILER_TARGETDIR+=$(CPU_UNITDIR)/bin/$(FULL_TARGET) +endif +ifeq ($(FULL_TARGET),z80-embedded) +override COMPILER_TARGETDIR+=$(CPU_UNITDIR)/bin/$(FULL_TARGET) +endif +ifeq ($(FULL_TARGET),z80-zxspectrum) +override COMPILER_TARGETDIR+=$(CPU_UNITDIR)/bin/$(FULL_TARGET) +endif +ifeq ($(FULL_TARGET),z80-msxdos) +override COMPILER_TARGETDIR+=$(CPU_UNITDIR)/bin/$(FULL_TARGET) +endif +ifeq ($(FULL_TARGET),z80-amstradcpc) +override COMPILER_TARGETDIR+=$(CPU_UNITDIR)/bin/$(FULL_TARGET) +endif ifeq ($(FULL_TARGET),i386-linux) override COMPILER_UNITTARGETDIR+=$(CPU_UNITDIR)/units/$(FULL_TARGET) endif @@ -2031,7 +2274,7 @@ endif ifeq ($(FULL_TARGET),m68k-palmos) override COMPILER_UNITTARGETDIR+=$(CPU_UNITDIR)/units/$(FULL_TARGET) endif -ifeq ($(FULL_TARGET),m68k-macos) +ifeq ($(FULL_TARGET),m68k-macosclassic) override COMPILER_UNITTARGETDIR+=$(CPU_UNITDIR)/units/$(FULL_TARGET) endif ifeq ($(FULL_TARGET),m68k-embedded) @@ -2046,7 +2289,7 @@ endif ifeq ($(FULL_TARGET),powerpc-amiga) override COMPILER_UNITTARGETDIR+=$(CPU_UNITDIR)/units/$(FULL_TARGET) endif -ifeq ($(FULL_TARGET),powerpc-macos) +ifeq ($(FULL_TARGET),powerpc-macosclassic) override COMPILER_UNITTARGETDIR+=$(CPU_UNITDIR)/units/$(FULL_TARGET) endif ifeq ($(FULL_TARGET),powerpc-darwin) @@ -2124,9 +2367,6 @@ endif ifeq ($(FULL_TARGET),arm-palmos) override COMPILER_UNITTARGETDIR+=$(CPU_UNITDIR)/units/$(FULL_TARGET) endif -ifeq ($(FULL_TARGET),arm-darwin) -override COMPILER_UNITTARGETDIR+=$(CPU_UNITDIR)/units/$(FULL_TARGET) -endif ifeq ($(FULL_TARGET),arm-wince) override COMPILER_UNITTARGETDIR+=$(CPU_UNITDIR)/units/$(FULL_TARGET) endif @@ -2148,6 +2388,12 @@ endif ifeq ($(FULL_TARGET),arm-aros) override COMPILER_UNITTARGETDIR+=$(CPU_UNITDIR)/units/$(FULL_TARGET) endif +ifeq ($(FULL_TARGET),arm-freertos) +override COMPILER_UNITTARGETDIR+=$(CPU_UNITDIR)/units/$(FULL_TARGET) +endif +ifeq ($(FULL_TARGET),arm-ios) +override COMPILER_UNITTARGETDIR+=$(CPU_UNITDIR)/units/$(FULL_TARGET) +endif ifeq ($(FULL_TARGET),powerpc64-linux) override COMPILER_UNITTARGETDIR+=$(CPU_UNITDIR)/units/$(FULL_TARGET) endif @@ -2181,6 +2427,9 @@ endif ifeq ($(FULL_TARGET),mipsel-android) override COMPILER_UNITTARGETDIR+=$(CPU_UNITDIR)/units/$(FULL_TARGET) endif +ifeq ($(FULL_TARGET),mips64el-linux) +override COMPILER_UNITTARGETDIR+=$(CPU_UNITDIR)/units/$(FULL_TARGET) +endif ifeq ($(FULL_TARGET),jvm-java) override COMPILER_UNITTARGETDIR+=$(CPU_UNITDIR)/units/$(FULL_TARGET) endif @@ -2202,15 +2451,54 @@ endif ifeq ($(FULL_TARGET),aarch64-darwin) override COMPILER_UNITTARGETDIR+=$(CPU_UNITDIR)/units/$(FULL_TARGET) endif +ifeq ($(FULL_TARGET),aarch64-win64) +override COMPILER_UNITTARGETDIR+=$(CPU_UNITDIR)/units/$(FULL_TARGET) +endif ifeq ($(FULL_TARGET),aarch64-android) override COMPILER_UNITTARGETDIR+=$(CPU_UNITDIR)/units/$(FULL_TARGET) endif +ifeq ($(FULL_TARGET),aarch64-ios) +override COMPILER_UNITTARGETDIR+=$(CPU_UNITDIR)/units/$(FULL_TARGET) +endif ifeq ($(FULL_TARGET),wasm-wasm) override COMPILER_UNITTARGETDIR+=$(CPU_UNITDIR)/units/$(FULL_TARGET) endif ifeq ($(FULL_TARGET),sparc64-linux) override COMPILER_UNITTARGETDIR+=$(CPU_UNITDIR)/units/$(FULL_TARGET) endif +ifeq ($(FULL_TARGET),riscv32-linux) +override COMPILER_UNITTARGETDIR+=$(CPU_UNITDIR)/units/$(FULL_TARGET) +endif +ifeq ($(FULL_TARGET),riscv32-embedded) +override COMPILER_UNITTARGETDIR+=$(CPU_UNITDIR)/units/$(FULL_TARGET) +endif +ifeq ($(FULL_TARGET),riscv64-linux) +override COMPILER_UNITTARGETDIR+=$(CPU_UNITDIR)/units/$(FULL_TARGET) +endif +ifeq ($(FULL_TARGET),riscv64-embedded) +override COMPILER_UNITTARGETDIR+=$(CPU_UNITDIR)/units/$(FULL_TARGET) +endif +ifeq ($(FULL_TARGET),xtensa-linux) +override COMPILER_UNITTARGETDIR+=$(CPU_UNITDIR)/units/$(FULL_TARGET) +endif +ifeq ($(FULL_TARGET),xtensa-embedded) +override COMPILER_UNITTARGETDIR+=$(CPU_UNITDIR)/units/$(FULL_TARGET) +endif +ifeq ($(FULL_TARGET),xtensa-freertos) +override COMPILER_UNITTARGETDIR+=$(CPU_UNITDIR)/units/$(FULL_TARGET) +endif +ifeq ($(FULL_TARGET),z80-embedded) +override COMPILER_UNITTARGETDIR+=$(CPU_UNITDIR)/units/$(FULL_TARGET) +endif +ifeq ($(FULL_TARGET),z80-zxspectrum) +override COMPILER_UNITTARGETDIR+=$(CPU_UNITDIR)/units/$(FULL_TARGET) +endif +ifeq ($(FULL_TARGET),z80-msxdos) +override COMPILER_UNITTARGETDIR+=$(CPU_UNITDIR)/units/$(FULL_TARGET) +endif +ifeq ($(FULL_TARGET),z80-amstradcpc) +override COMPILER_UNITTARGETDIR+=$(CPU_UNITDIR)/units/$(FULL_TARGET) +endif ifdef REQUIRE_UNITSDIR override UNITSDIR+=$(REQUIRE_UNITSDIR) endif @@ -2407,12 +2695,70 @@ endif else CROSSBINDIR= endif +ifeq ($(OS_SOURCE),linux) +ifndef GCCLIBDIR +ifeq ($(CPU_TARGET),i386) +ifneq ($(findstring x86_64,$(shell uname -a)),) +ifeq ($(BINUTILSPREFIX),) +GCCLIBDIR:=$(shell dirname `gcc -m32 -print-libgcc-file-name`) +else +CROSSGCCOPT=-m32 +endif +endif +endif +ifeq ($(CPU_TARGET),powerpc) +ifeq ($(BINUTILSPREFIX),) +GCCLIBDIR:=$(shell dirname `gcc -m32 -print-libgcc-file-name`) +else +CROSSGCCOPT=-m32 +endif +endif +ifeq ($(CPU_TARGET),powerpc64) +ifeq ($(BINUTILSPREFIX),) +GCCLIBDIR:=$(shell dirname `gcc -m64 -print-libgcc-file-name`) +else +CROSSGCCOPT=-m64 +endif +endif +ifeq ($(CPU_TARGET),sparc) +ifneq ($(findstring sparc64,$(shell uname -a)),) +ifeq ($(BINUTILSPREFIX),) +GCCLIBDIR:=$(shell dirname `gcc -m32 -print-libgcc-file-name`) +else +CROSSGCCOPT=-m32 +endif +endif +endif +endif +ifdef FPCFPMAKE +FPCFPMAKE_CPU_TARGET=$(shell $(FPCFPMAKE) -iTP) +ifeq ($(CPU_TARGET),$(FPCFPMAKE_CPU_TARGET)) +FPCMAKEGCCLIBDIR:=$(GCCLIBDIR) +endif +endif +ifndef FPCMAKEGCCLIBDIR +FPCMAKEGCCLIBDIR:=$(shell dirname `gcc -print-libgcc-file-name`) +endif +ifndef GCCLIBDIR +CROSSGCC=$(strip $(wildcard $(addsuffix /$(BINUTILSPREFIX)gcc$(SRCEXEEXT),$(SEARCHPATH)))) +ifneq ($(CROSSGCC),) +GCCLIBDIR:=$(shell dirname `$(CROSSGCC) $(CROSSGCCOPT) -print-libgcc-file-name`) +endif +endif +endif +ifdef inUnix +ifeq ($(OS_SOURCE),netbsd) +OTHERLIBDIR:=/usr/pkg/lib +endif +export GCCLIBDIR FPCMAKEGCCLIBDIR OTHERLIBDIR +endif BATCHEXT=.bat LOADEREXT=.as EXEEXT=.exe PPLEXT=.ppl PPUEXT=.ppu OEXT=.o +LTOEXT=.bc ASMEXT=.s SMARTEXT=.sl STATICLIBEXT=.a @@ -2550,14 +2896,14 @@ STATICLIBPREFIX= SHORTSUFFIX=nwl IMPORTLIBPREFIX=imp endif -ifeq ($(OS_TARGET),macos) +ifeq ($(OS_TARGET),macosclassic) BATCHEXT= EXEEXT= DEBUGSYMEXT=.xcoff SHORTSUFFIX=mac IMPORTLIBPREFIX=imp endif -ifneq ($(findstring $(OS_TARGET),darwin iphonesim),) +ifneq ($(findstring $(OS_TARGET),darwin iphonesim ios),) BATCHEXT=.sh EXEEXT= HASSHAREDLIB=1 @@ -2607,6 +2953,11 @@ STATICLIBPREFIX= STATICLIBEXT=.a SHORTSUFFIX=d16 endif +ifeq ($(OS_TARGET),msxdos) +STATICLIBPREFIX= +STATICLIBEXT=.a +SHORTSUFFIX=msd +endif ifeq ($(OS_TARGET),embedded) ifeq ($(CPU_TARGET),i8086) STATICLIBPREFIX= @@ -2614,6 +2965,9 @@ STATICLIBEXT=.a else EXEEXT=.bin endif +ifeq ($(CPU_TARGET),z80) +OEXT=.rel +endif SHORTSUFFIX=emb endif ifeq ($(OS_TARGET),win16) @@ -2622,6 +2976,9 @@ STATICLIBEXT=.a SHAREDLIBEXT=.dll SHORTSUFFIX=w16 endif +ifeq ($(OS_TARGET),zxspectrum) +OEXT=.rel +endif ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),) FPCMADE=fpcmade.$(SHORTSUFFIX) ZIPSUFFIX=$(SHORTSUFFIX) @@ -2961,7 +3318,7 @@ endif ifeq ($(FULL_TARGET),m68k-palmos) REQUIRE_PACKAGES_RTL=1 endif -ifeq ($(FULL_TARGET),m68k-macos) +ifeq ($(FULL_TARGET),m68k-macosclassic) REQUIRE_PACKAGES_RTL=1 endif ifeq ($(FULL_TARGET),m68k-embedded) @@ -2976,7 +3333,7 @@ endif ifeq ($(FULL_TARGET),powerpc-amiga) REQUIRE_PACKAGES_RTL=1 endif -ifeq ($(FULL_TARGET),powerpc-macos) +ifeq ($(FULL_TARGET),powerpc-macosclassic) REQUIRE_PACKAGES_RTL=1 endif ifeq ($(FULL_TARGET),powerpc-darwin) @@ -3054,9 +3411,6 @@ endif ifeq ($(FULL_TARGET),arm-palmos) REQUIRE_PACKAGES_RTL=1 endif -ifeq ($(FULL_TARGET),arm-darwin) -REQUIRE_PACKAGES_RTL=1 -endif ifeq ($(FULL_TARGET),arm-wince) REQUIRE_PACKAGES_RTL=1 endif @@ -3078,6 +3432,12 @@ endif ifeq ($(FULL_TARGET),arm-aros) REQUIRE_PACKAGES_RTL=1 endif +ifeq ($(FULL_TARGET),arm-freertos) +REQUIRE_PACKAGES_RTL=1 +endif +ifeq ($(FULL_TARGET),arm-ios) +REQUIRE_PACKAGES_RTL=1 +endif ifeq ($(FULL_TARGET),powerpc64-linux) REQUIRE_PACKAGES_RTL=1 endif @@ -3111,6 +3471,9 @@ endif ifeq ($(FULL_TARGET),mipsel-android) REQUIRE_PACKAGES_RTL=1 endif +ifeq ($(FULL_TARGET),mips64el-linux) +REQUIRE_PACKAGES_RTL=1 +endif ifeq ($(FULL_TARGET),jvm-java) REQUIRE_PACKAGES_RTL=1 endif @@ -3132,15 +3495,54 @@ endif ifeq ($(FULL_TARGET),aarch64-darwin) REQUIRE_PACKAGES_RTL=1 endif +ifeq ($(FULL_TARGET),aarch64-win64) +REQUIRE_PACKAGES_RTL=1 +endif ifeq ($(FULL_TARGET),aarch64-android) REQUIRE_PACKAGES_RTL=1 endif +ifeq ($(FULL_TARGET),aarch64-ios) +REQUIRE_PACKAGES_RTL=1 +endif ifeq ($(FULL_TARGET),wasm-wasm) REQUIRE_PACKAGES_RTL=1 endif ifeq ($(FULL_TARGET),sparc64-linux) REQUIRE_PACKAGES_RTL=1 endif +ifeq ($(FULL_TARGET),riscv32-linux) +REQUIRE_PACKAGES_RTL=1 +endif +ifeq ($(FULL_TARGET),riscv32-embedded) +REQUIRE_PACKAGES_RTL=1 +endif +ifeq ($(FULL_TARGET),riscv64-linux) +REQUIRE_PACKAGES_RTL=1 +endif +ifeq ($(FULL_TARGET),riscv64-embedded) +REQUIRE_PACKAGES_RTL=1 +endif +ifeq ($(FULL_TARGET),xtensa-linux) +REQUIRE_PACKAGES_RTL=1 +endif +ifeq ($(FULL_TARGET),xtensa-embedded) +REQUIRE_PACKAGES_RTL=1 +endif +ifeq ($(FULL_TARGET),xtensa-freertos) +REQUIRE_PACKAGES_RTL=1 +endif +ifeq ($(FULL_TARGET),z80-embedded) +REQUIRE_PACKAGES_RTL=1 +endif +ifeq ($(FULL_TARGET),z80-zxspectrum) +REQUIRE_PACKAGES_RTL=1 +endif +ifeq ($(FULL_TARGET),z80-msxdos) +REQUIRE_PACKAGES_RTL=1 +endif +ifeq ($(FULL_TARGET),z80-amstradcpc) +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),) @@ -3230,16 +3632,7 @@ override FPCOPT+=-gl override FPCOPTDEF+=DEBUG endif ifdef RELEASE -ifneq ($(findstring 2.0.,$(FPC_VERSION)),) -ifeq ($(CPU_TARGET),i386) -FPCCPUOPT:=-OG2p3 -endif -ifeq ($(CPU_TARGET),powerpc) -FPCCPUOPT:=-O1r -endif -else FPCCPUOPT:=-O2 -endif override FPCOPT+=-Ur -Xs $(FPCCPUOPT) -n override FPCOPTDEF+=RELEASE endif @@ -3301,6 +3694,17 @@ endif endif ifdef LINKSHARED endif +ifdef GCCLIBDIR +override FPCOPT+=-Fl$(GCCLIBDIR) +ifdef FPCMAKEGCCLIBDIR +override FPCMAKEOPT+=-Fl$(FPCMAKEGCCLIBDIR) +else +override FPCMAKEOPT+=-Fl$(GCCLIBDIR) +endif +endif +ifdef OTHERLIBDIR +override FPCOPT+=$(addprefix -Fl,$(OTHERLIBDIR)) +endif ifdef OPT override FPCOPT+=$(OPT) endif @@ -3348,7 +3752,7 @@ endif ifndef CROSSINSTALL ifneq ($(TARGET_PROGRAMS),) override EXEFILES=$(addsuffix $(EXEEXT),$(TARGET_PROGRAMS)) -override EXEOFILES:=$(addsuffix $(OEXT),$(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 ALLTARGET+=fpc_exes override INSTALLEXEFILES+=$(EXEFILES) @@ -3377,7 +3781,7 @@ fpc_debug: $(MAKE) all DEBUG=1 fpc_release: $(MAKE) all RELEASE=1 -.SUFFIXES: $(EXEEXT) $(PPUEXT) $(OEXT) .pas .lpr .dpr .pp .rc .res +.SUFFIXES: $(EXEEXT) $(PPUEXT) $(OEXT) $(LTOEXT) .pas .lpr .dpr .pp .rc .res $(COMPILER_UNITTARGETDIR): $(MKDIRTREE) $(COMPILER_UNITTARGETDIR) $(COMPILER_TARGETDIR): @@ -3408,6 +3812,7 @@ vpath %.lpr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR) vpath %.dpr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR) vpath %.inc $(COMPILER_INCLUDEDIR) vpath %$(OEXT) $(COMPILER_UNITTARGETDIR) +vpath %$(LTOEXT) $(COMPILER_UNITTARGETDIR) vpath %$(PPUEXT) $(COMPILER_UNITTARGETDIR) .PHONY: fpc_shared override INSTALLTARGET+=fpc_shared_install @@ -3428,7 +3833,7 @@ fpc_shared: ifdef HASSHAREDLIB $(MAKE) all CREATESHARED=1 LINKSHARED=1 CREATESMART=1 ifneq ($(SHARED_BUILD),n) - $(PPUMOVE) -q $(SHARED_LIBUNITS) -i$(COMPILER_UNITTARGETDIR) -o$(SHARED_FULLNAME) -d$(COMPILER_UNITTARGETDIR) + $(PPUMOVE) -q $(SHARED_LIBUNITS) -i$(COMPILER_UNITTARGETDIR) -o$(SHARED_FULLNAME) -d$(COMPILER_UNITTARGETDIR) -P$(BINUTILSPREFIX) endif else @$(ECHO) Shared Libraries not supported @@ -3450,13 +3855,15 @@ override INSTALLPPUFILES:=$(filter-out $(INSTALL_BUILDUNIT)$(PPUEXT),$(INSTALLPP endif ifdef INSTALLPPUFILES ifneq ($(IMPORTLIBPREFIX)-$(STATICLIBEXT),$(STATICLIBPREFIX)-$(STATICLIBEXT)) -override INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES))) $(addprefix $(IMPORTLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES))) +override INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)) $(subst $(PPUEXT),$(LTOEXT),$(INSTALLPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES))) $(addprefix $(IMPORTLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES))) else -override INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES))) +override INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)) $(subst $(PPUEXT),$(LTOEXT),$(INSTALLPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES))) endif ifneq ($(UNITTARGETDIRPREFIX),) -override INSTALLPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(notdir $(INSTALLPPUFILES))) -override INSTALLPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(notdir $(INSTALLPPULINKFILES)))) +override INSTALLPPUFILENAMES:=$(notdir $(INSTALLPPUFILES)) +override INSTALLPPULINKFILENAMES:=$(notdir $(INSTALLPPULINKFILES)) +override INSTALLPPUFILES=$(addprefix $(UNITTARGETDIRPREFIX),$(INSTALLPPUFILENAMES)) +override INSTALLPPULINKFILES=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(INSTALLPPULINKFILENAMES))) endif override INSTALL_CREATEPACKAGEFPC=1 endif @@ -3611,12 +4018,14 @@ ifdef CLEAN_UNITS override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS)) endif ifdef CLEANPPUFILES -override CLEANPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES))) $(addprefix $(IMPORTLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES))) +override CLEANPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)) $(subst $(PPUEXT),$(LTOEXT),$(CLEANPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES))) $(addprefix $(IMPORTLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES))) ifdef DEBUGSYMEXT override CLEANPPULINKFILES+=$(subst $(PPUEXT),$(DEBUGSYMEXT),$(CLEANPPUFILES)) endif -override CLEANPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPUFILES)) -override CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES))) +override CLEANPPUFILENAMES:=$(CLEANPPUFILES) +override CLEANPPUFILES=$(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPUFILENAMES)) +override CLEANPPULINKFILENAMES:=$(CLEANPPULINKFILES) +override CLEANPPULINKFILES=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILENAMES))) endif fpc_clean: $(CLEANTARGET) ifdef CLEANEXEFILES @@ -3640,8 +4049,9 @@ endif ifdef LIB_NAME -$(DEL) $(LIB_NAME) $(LIB_FULLNAME) endif - -$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE) - -$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT) ppas$(BATCHEXT) ppaslink$(BATCHEXT) + -$(DEL) $(FPCMADE) *$(FULL_TARGET).fpm Package.fpc *$(ASMEXT) + -$(DEL) $(FPCEXTFILE) $(REDIRFILE) script*.res link*.res *_script.res *_link.res + -$(DEL) $(PPAS) *_ppas$(BATCHEXT) ppas$(BATCHEXT) ppaslink$(BATCHEXT) fpc_cleanall: $(CLEANTARGET) ifdef CLEANEXEFILES -$(DEL) $(CLEANEXEFILES) @@ -3662,13 +4072,14 @@ ifdef CLEAN_FILES endif -$(DELTREE) units -$(DELTREE) bin - -$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT) + -$(DEL) *$(OEXT) *$(LTOEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT) ifneq ($(PPUEXT),.ppu) -$(DEL) *.o *.ppu *.a endif -$(DELTREE) *$(SMARTEXT) - -$(DEL) fpcmade.* Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE) - -$(DEL) *_ppas$(BATCHEXT) ppas$(BATCHEXT) ppaslink$(BATCHEXT) + -$(DEL) fpcmade.* Package.fpc *.fpm + -$(DEL) $(FPCEXTFILE) $(REDIRFILE) script*.res link*.res *_script.res *_link.res + -$(DEL) $(PPAS) *_ppas$(BATCHEXT) ppas$(BATCHEXT) ppaslink$(BATCHEXT) ifdef AOUTEXT -$(DEL) *$(AOUTEXT) endif @@ -3871,7 +4282,7 @@ endif ifeq ($(FULL_TARGET),m68k-palmos) TARGET_DIRS_UTILS=1 endif -ifeq ($(FULL_TARGET),m68k-macos) +ifeq ($(FULL_TARGET),m68k-macosclassic) TARGET_DIRS_UTILS=1 endif ifeq ($(FULL_TARGET),m68k-embedded) @@ -3886,7 +4297,7 @@ endif ifeq ($(FULL_TARGET),powerpc-amiga) TARGET_DIRS_UTILS=1 endif -ifeq ($(FULL_TARGET),powerpc-macos) +ifeq ($(FULL_TARGET),powerpc-macosclassic) TARGET_DIRS_UTILS=1 endif ifeq ($(FULL_TARGET),powerpc-darwin) @@ -3964,9 +4375,6 @@ endif ifeq ($(FULL_TARGET),arm-palmos) TARGET_DIRS_UTILS=1 endif -ifeq ($(FULL_TARGET),arm-darwin) -TARGET_DIRS_UTILS=1 -endif ifeq ($(FULL_TARGET),arm-wince) TARGET_DIRS_UTILS=1 endif @@ -3988,6 +4396,12 @@ endif ifeq ($(FULL_TARGET),arm-aros) TARGET_DIRS_UTILS=1 endif +ifeq ($(FULL_TARGET),arm-freertos) +TARGET_DIRS_UTILS=1 +endif +ifeq ($(FULL_TARGET),arm-ios) +TARGET_DIRS_UTILS=1 +endif ifeq ($(FULL_TARGET),powerpc64-linux) TARGET_DIRS_UTILS=1 endif @@ -4021,6 +4435,9 @@ endif ifeq ($(FULL_TARGET),mipsel-android) TARGET_DIRS_UTILS=1 endif +ifeq ($(FULL_TARGET),mips64el-linux) +TARGET_DIRS_UTILS=1 +endif ifeq ($(FULL_TARGET),jvm-java) TARGET_DIRS_UTILS=1 endif @@ -4042,15 +4459,54 @@ endif ifeq ($(FULL_TARGET),aarch64-darwin) TARGET_DIRS_UTILS=1 endif +ifeq ($(FULL_TARGET),aarch64-win64) +TARGET_DIRS_UTILS=1 +endif ifeq ($(FULL_TARGET),aarch64-android) TARGET_DIRS_UTILS=1 endif +ifeq ($(FULL_TARGET),aarch64-ios) +TARGET_DIRS_UTILS=1 +endif ifeq ($(FULL_TARGET),wasm-wasm) TARGET_DIRS_UTILS=1 endif ifeq ($(FULL_TARGET),sparc64-linux) TARGET_DIRS_UTILS=1 endif +ifeq ($(FULL_TARGET),riscv32-linux) +TARGET_DIRS_UTILS=1 +endif +ifeq ($(FULL_TARGET),riscv32-embedded) +TARGET_DIRS_UTILS=1 +endif +ifeq ($(FULL_TARGET),riscv64-linux) +TARGET_DIRS_UTILS=1 +endif +ifeq ($(FULL_TARGET),riscv64-embedded) +TARGET_DIRS_UTILS=1 +endif +ifeq ($(FULL_TARGET),xtensa-linux) +TARGET_DIRS_UTILS=1 +endif +ifeq ($(FULL_TARGET),xtensa-embedded) +TARGET_DIRS_UTILS=1 +endif +ifeq ($(FULL_TARGET),xtensa-freertos) +TARGET_DIRS_UTILS=1 +endif +ifeq ($(FULL_TARGET),z80-embedded) +TARGET_DIRS_UTILS=1 +endif +ifeq ($(FULL_TARGET),z80-zxspectrum) +TARGET_DIRS_UTILS=1 +endif +ifeq ($(FULL_TARGET),z80-msxdos) +TARGET_DIRS_UTILS=1 +endif +ifeq ($(FULL_TARGET),z80-amstradcpc) +TARGET_DIRS_UTILS=1 +endif ifdef TARGET_DIRS_UTILS utils_all: $(MAKE) -C utils all @@ -4270,10 +4726,11 @@ $(PPC_TARGETS): $(MAKE) PPC_TARGET=$@ CPU_UNITDIR=$@ compiler $(INSTALL_TARGETS): $(MAKE) PPC_TARGET=$(subst _exe_install,,$@) CPU_UNITDIR=$(subst _exe_install,,$@) compiler - $(MAKE) PPC_TARGET=$(subst _exe_install,,$@) CPU_UNITDIR=$(subst _exe_install,,$@) exeinstall + $(MAKE) PPC_TARGET=$(subst _exe_install,,$@) CPU_UNITDIR=$(subst _exe_install,,$@) exeinstall $(SYMLINKINSTALL_TARGETS): $(MAKE) PPC_TARGET=$(subst _symlink_install,,$@) CPU_UNITDIR=$(subst _symlink_install,,$@) compiler - $(MAKE) PPC_TARGET=$(subst _symlink_install,,$@) CPU_UNITDIR=$(subst _symlink_install,,$@) installsymlink + $(ECHO) "Compiler $(subst _symlink_install,,$@) finished, starting installsymlink" + $(MAKE) PPC_TARGET=$(subst _symlink_install,,$@) CPU_UNITDIR=$(subst _symlink_install,,$@) installsymlink alltargets: $(ALLTARGETS) .PHONY: all compiler echotime ppuclean execlean clean distclean all: compiler $(addsuffix _all,$(TARGET_DIRS)) @@ -4537,7 +4994,7 @@ extcycle: $(MAKE) cycle OPT="$(OPT) -n -OG2p3 -glttt -CRriot -dEXTDEBUG" ALLOW_WARNINGS=1 cvstest: $(MAKE) cycle 'LOCALOPT=-n -Se' 'RTLOPT=-n -Se' -ifneq ($(findstring -dFPC_SOFT_FPUX80,$(OPT)),) +ifeq ($(findstring -dFPC_SOFT_FPUX80,$(OPT)),) ifeq ($(OS_SOURCE),win64) EXCLUDE_80BIT_TARGETS=1 endif @@ -4585,10 +5042,11 @@ endif endif fullinstall: ifndef EXCLUDE_80BIT_TARGETS - $(MAKE) $(addsuffix _exe_install,$(filter-out $(PPC_TARGET),$(CYCLETARGETS))) $(addsuffix _all,$(TARGET_DIRS)) + $(MAKE) $(addsuffix _exe_install,$(filter-out $(PPC_TARGET),$(CYCLETARGETS))) else - $(MAKE) $(addsuffix _exe_install,$(filter-out i8086,$(filter-out i386,$(filter-out $(PPC_TARGET),$(CYCLETARGETS))))) $(addsuffix _all,$(TARGET_DIRS)) + $(MAKE) $(addsuffix _exe_install,$(filter-out i8086,$(filter-out i386,$(filter-out $(PPC_TARGET),$(CYCLETARGETS))))) endif + $(MAKE) $(addsuffix _all,$(TARGET_DIRS)) $(MAKE) $(addsuffix _install,$(TARGET_DIRS)) auxfilesinstall: ifndef CROSSINSTALL @@ -4605,12 +5063,13 @@ ifndef FPC else $(MAKE) quickinstall auxfilesinstall endif -installsymlink: install +installsymlink: exeinstall ifneq ($(PPCCPULOCATION),$(INSTALL_BINDIR)) $(MKDIR) $(INSTALL_BINDIR) ln -sf $(INSTALL_BASEDIR)/$(EXENAME) $(INSTALL_BINDIR)/$(EXENAME) endif -fullinstallsymlink: fullinstall +fullinstallsymlink: + $(ECHO) "Fullinstall finished, starting XXX_symlink_install" ifndef EXCLUDE_80BIT_TARGETS $(MAKE) $(addsuffix _symlink_install,$(filter-out $(PPC_TARGET),$(CYCLETARGETS))) else diff --git a/compiler/Makefile.fpc b/compiler/Makefile.fpc index 4a4819d388..21a303c6a6 100644 --- a/compiler/Makefile.fpc +++ b/compiler/Makefile.fpc @@ -611,15 +611,16 @@ SYMLINKINSTALL_TARGETS=$(addsuffix _symlink_install,$(sort $(CYCLETARGETS) $(PPC .PHONY: $(PPC_TARGETS) $(INSTALL_TARGETS)$(SYMLINKINSTALL_TARGETS) $(PPC_TARGETS): - $(MAKE) PPC_TARGET=$@ CPU_UNITDIR=$@ compiler + $(MAKE) PPC_TARGET=$@ CPU_UNITDIR=$@ compiler $(INSTALL_TARGETS): - $(MAKE) PPC_TARGET=$(subst _exe_install,,$@) CPU_UNITDIR=$(subst _exe_install,,$@) compiler - $(MAKE) PPC_TARGET=$(subst _exe_install,,$@) CPU_UNITDIR=$(subst _exe_install,,$@) exeinstall + $(MAKE) PPC_TARGET=$(subst _exe_install,,$@) CPU_UNITDIR=$(subst _exe_install,,$@) compiler + $(MAKE) PPC_TARGET=$(subst _exe_install,,$@) CPU_UNITDIR=$(subst _exe_install,,$@) exeinstall $(SYMLINKINSTALL_TARGETS): - $(MAKE) PPC_TARGET=$(subst _symlink_install,,$@) CPU_UNITDIR=$(subst _symlink_install,,$@) compiler - $(MAKE) PPC_TARGET=$(subst _symlink_install,,$@) CPU_UNITDIR=$(subst _symlink_install,,$@) installsymlink + $(MAKE) PPC_TARGET=$(subst _symlink_install,,$@) CPU_UNITDIR=$(subst _symlink_install,,$@) compiler + $(ECHO) "Compiler $(subst _symlink_install,,$@) finished, starting installsymlink" + $(MAKE) PPC_TARGET=$(subst _symlink_install,,$@) CPU_UNITDIR=$(subst _symlink_install,,$@) installsymlink alltargets: $(ALLTARGETS) @@ -1016,7 +1017,7 @@ cvstest: # This is also the case for other CPUs that don't support # 80bit real type. -ifneq ($(findstring -dFPC_SOFT_FPUX80,$(OPT)),) +ifeq ($(findstring -dFPC_SOFT_FPUX80,$(OPT)),) ifeq ($(OS_SOURCE),win64) EXCLUDE_80BIT_TARGETS=1 endif @@ -1087,10 +1088,11 @@ endif fullinstall: ifndef EXCLUDE_80BIT_TARGETS - $(MAKE) $(addsuffix _exe_install,$(filter-out $(PPC_TARGET),$(CYCLETARGETS))) $(addsuffix _all,$(TARGET_DIRS)) + $(MAKE) $(addsuffix _exe_install,$(filter-out $(PPC_TARGET),$(CYCLETARGETS))) else - $(MAKE) $(addsuffix _exe_install,$(filter-out i8086,$(filter-out i386,$(filter-out $(PPC_TARGET),$(CYCLETARGETS))))) $(addsuffix _all,$(TARGET_DIRS)) + $(MAKE) $(addsuffix _exe_install,$(filter-out i8086,$(filter-out i386,$(filter-out $(PPC_TARGET),$(CYCLETARGETS))))) endif + $(MAKE) $(addsuffix _all,$(TARGET_DIRS)) $(MAKE) $(addsuffix _install,$(TARGET_DIRS)) auxfilesinstall: @@ -1114,13 +1116,14 @@ endif # This also installs a link from bin to the actual executable. # The .deb does that later. -installsymlink: install +installsymlink: exeinstall ifneq ($(PPCCPULOCATION),$(INSTALL_BINDIR)) $(MKDIR) $(INSTALL_BINDIR) ln -sf $(INSTALL_BASEDIR)/$(EXENAME) $(INSTALL_BINDIR)/$(EXENAME) endif -fullinstallsymlink: fullinstall +fullinstallsymlink: + $(ECHO) "Fullinstall finished, starting XXX_symlink_install" ifndef EXCLUDE_80BIT_TARGETS $(MAKE) $(addsuffix _symlink_install,$(filter-out $(PPC_TARGET),$(CYCLETARGETS))) else