# # Don't edit, this file is generated by FPCMake Version 2.0.0 # 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 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-freebsd aarch64-darwin aarch64-win64 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 BSDs = freebsd netbsd openbsd darwin dragonfly UNIXs = linux $(BSDs) solaris qnx haiku aix LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari OSNeedsComspecToRunBatch = go32v2 watcom FORCE: .PHONY: FORCE override PATH:=$(patsubst %/,%,$(subst \,/,$(PATH))) ifneq ($(findstring darwin,$(OSTYPE)),) inUnix=1 #darwin SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH))) else ifeq ($(findstring ;,$(PATH)),) inUnix=1 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH))) else SEARCHPATH:=$(subst ;, ,$(PATH)) endif endif SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE)))) PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH)))) ifeq ($(PWD),) PWD:=$(strip $(wildcard $(addsuffix /pwd,$(SEARCHPATH)))) ifeq ($(PWD),) $(error You need the GNU utils package to use this Makefile) else PWD:=$(firstword $(PWD)) SRCEXEEXT= endif else PWD:=$(firstword $(PWD)) SRCEXEEXT=.exe endif ifndef inUnix ifeq ($(OS),Windows_NT) inWinNT=1 else ifdef OS2_SHELL inOS2=1 endif endif else ifneq ($(findstring cygdrive,$(PATH)),) inCygWin=1 endif endif ifdef inUnix SRCBATCHEXT=.sh else ifdef inOS2 SRCBATCHEXT=.cmd else SRCBATCHEXT=.bat endif endif ifdef COMSPEC ifneq ($(findstring $(OS_SOURCE),$(OSNeedsComspecToRunBatch)),) ifndef RUNBATCH RUNBATCH=$(COMSPEC) /C endif endif endif ifdef inUnix PATHSEP=/ else PATHSEP:=$(subst /,\,/) ifdef inCygWin PATHSEP=/ endif endif ifdef PWD BASEDIR:=$(subst \,/,$(shell $(PWD))) ifdef inCygWin ifneq ($(findstring /cygdrive/,$(BASEDIR)),) BASENODIR:=$(patsubst /cygdrive%,%,$(BASEDIR)) BASEDRIVE:=$(firstword $(subst /, ,$(BASENODIR))) BASEDIR:=$(subst /cygdrive/$(BASEDRIVE)/,$(BASEDRIVE):/,$(BASEDIR)) endif endif else BASEDIR=. endif ifdef inOS2 ifndef ECHO ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(ECHO),) ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(ECHO),) ECHO=echo else ECHO:=$(firstword $(ECHO)) endif else ECHO:=$(firstword $(ECHO)) endif endif export ECHO endif override DEFAULT_FPCDIR=. ifndef FPC ifdef PP FPC=$(PP) endif endif ifndef FPC FPCPROG:=$(strip $(wildcard $(addsuffix /fpc$(SRCEXEEXT),$(SEARCHPATH)))) ifneq ($(FPCPROG),) FPCPROG:=$(firstword $(FPCPROG)) ifneq ($(CPU_TARGET),) FPC:=$(shell $(FPCPROG) -P$(CPU_TARGET) -PB) else FPC:=$(shell $(FPCPROG) -PB) endif ifneq ($(findstring Error,$(FPC)),) override FPC=$(firstword $(strip $(wildcard $(addsuffix /ppc386$(SRCEXEEXT),$(SEARCHPATH))))) else ifeq ($(strip $(wildcard $(FPC))),) FPC:=$(firstword $(FPCPROG)) endif endif else override FPC=$(firstword $(strip $(wildcard $(addsuffix /ppc386$(SRCEXEEXT),$(SEARCHPATH))))) endif endif override FPC:=$(subst $(SRCEXEEXT),,$(FPC)) override FPC:=$(subst \,/,$(FPC))$(SRCEXEEXT) FOUNDFPC:=$(strip $(wildcard $(FPC))) ifeq ($(FOUNDFPC),) FOUNDFPC=$(strip $(wildcard $(addsuffix /$(FPC),$(SEARCHPATH)))) ifeq ($(FOUNDFPC),) $(error Compiler $(FPC) not found) endif endif ifndef FPC_COMPILERINFO FPC_COMPILERINFO:=$(shell $(FPC) -iVSPTPSOTO) endif ifndef FPC_VERSION FPC_VERSION:=$(word 1,$(FPC_COMPILERINFO)) endif export FPC FPC_VERSION FPC_COMPILERINFO unexport CHECKDEPEND ALLDEPENDENCIES ifndef CPU_TARGET ifdef CPU_TARGET_DEFAULT CPU_TARGET=$(CPU_TARGET_DEFAULT) endif endif ifndef OS_TARGET ifdef OS_TARGET_DEFAULT OS_TARGET=$(OS_TARGET_DEFAULT) endif endif ifndef CPU_SOURCE CPU_SOURCE:=$(word 2,$(FPC_COMPILERINFO)) endif ifndef CPU_TARGET CPU_TARGET:=$(word 3,$(FPC_COMPILERINFO)) endif ifndef OS_SOURCE OS_SOURCE:=$(word 4,$(FPC_COMPILERINFO)) endif ifndef OS_TARGET OS_TARGET:=$(word 5,$(FPC_COMPILERINFO)) endif FULL_TARGET=$(CPU_TARGET)-$(OS_TARGET) FULL_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE) ifeq ($(CPU_TARGET),armeb) ARCH=arm override FPCOPT+=-Cb else ifeq ($(CPU_TARGET),armel) ARCH=arm override FPCOPT+=-CaEABI else ARCH=$(CPU_TARGET) endif endif ifeq ($(FULL_TARGET),arm-embedded) ifeq ($(SUBARCH),) $(error When compiling for arm-embedded, a sub-architecture (e.g. SUBARCH=armv4t or SUBARCH=armv7m) must be defined) endif override FPCOPT+=-Cp$(SUBARCH) endif ifeq ($(FULL_TARGET),avr-embedded) ifeq ($(SUBARCH),) $(error When compiling for avr-embedded, a sub-architecture (e.g. SUBARCH=avr25 or SUBARCH=avr35) must be defined) endif override FPCOPT+=-Cp$(SUBARCH) endif ifeq ($(FULL_TARGET),mipsel-embedded) ifeq ($(SUBARCH),) $(error When compiling for mipsel-embedded, a sub-architecture (e.g. SUBARCH=pic32mx) must be defined) 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) else ifneq ($(findstring $(OS_TARGET),$(LIMIT83fs)),) TARGETSUFFIX=$(OS_TARGET) else TARGETSUFFIX=$(FULL_TARGET) endif SOURCESUFFIX=$(FULL_SOURCE) endif ifneq ($(FULL_TARGET),$(FULL_SOURCE)) CROSSCOMPILE=1 endif ifeq ($(findstring makefile,$(MAKECMDGOALS)),) ifeq ($(findstring $(FULL_TARGET),$(MAKEFILETARGETS)),) $(error The Makefile doesn't support target $(FULL_TARGET), please run fpcmake first) endif endif ifneq ($(findstring $(OS_TARGET),$(BSDs)),) BSDhier=1 endif ifeq ($(OS_TARGET),linux) linuxHier=1 endif ifndef CROSSCOMPILE BUILDFULLNATIVE=1 export BUILDFULLNATIVE endif ifdef BUILDFULLNATIVE BUILDNATIVE=1 export BUILDNATIVE endif export OS_TARGET OS_SOURCE ARCH CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE TARGETSUFFIX SOURCESUFFIX CROSSCOMPILE ifdef FPCDIR override FPCDIR:=$(subst \,/,$(FPCDIR)) ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl)),) override FPCDIR=wrong endif else override FPCDIR=wrong endif ifdef DEFAULT_FPCDIR ifeq ($(FPCDIR),wrong) override FPCDIR:=$(subst \,/,$(DEFAULT_FPCDIR)) ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl)),) override FPCDIR=wrong endif endif endif ifeq ($(FPCDIR),wrong) ifdef inUnix override FPCDIR=/usr/local/lib/fpc/$(FPC_VERSION) ifeq ($(wildcard $(FPCDIR)/units),) override FPCDIR=/usr/lib/fpc/$(FPC_VERSION) endif else override FPCDIR:=$(subst /$(FPC),,$(firstword $(strip $(wildcard $(addsuffix /$(FPC),$(SEARCHPATH)))))) override FPCDIR:=$(FPCDIR)/.. ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl)),) override FPCDIR:=$(FPCDIR)/.. ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl)),) override FPCDIR:=$(BASEDIR) ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl)),) override FPCDIR=c:/pp endif endif endif endif endif ifndef CROSSBINDIR CROSSBINDIR:=$(wildcard $(FPCDIR)/bin/$(TARGETSUFFIX)) endif ifneq ($(findstring $(OS_TARGET),darwin iphonesim ios),) ifneq ($(findstring $(OS_SOURCE),darwin ios),) DARWIN2DARWIN=1 endif endif ifndef BINUTILSPREFIX ifndef CROSSBINDIR ifdef CROSSCOMPILE ifneq ($(OS_TARGET),msdos) ifndef DARWIN2DARWIN ifneq ($(CPU_TARGET),jvm) BINUTILSPREFIX=$(CPU_TARGET)-$(OS_TARGET)- ifeq ($(OS_TARGET),android) ifeq ($(CPU_TARGET),arm) BINUTILSPREFIX=arm-linux-androideabi- else ifeq ($(CPU_TARGET),i386) BINUTILSPREFIX=i686-linux-android- else BINUTILSPREFIX=$(CPU_TARGET)-linux-android- endif endif endif endif endif else BINUTILSPREFIX=$(OS_TARGET)- endif endif endif endif UNITSDIR:=$(wildcard $(FPCDIR)/units/$(TARGETSUFFIX)) ifeq ($(UNITSDIR),) UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET)) endif PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages) ifndef FPCFPMAKE ifdef CROSSCOMPILE ifeq ($(strip $(wildcard $(addsuffix /compiler/ppc$(SRCEXEEXT),$(FPCDIR)))),) FPCPROG:=$(strip $(wildcard $(addsuffix /fpc$(SRCEXEEXT),$(SEARCHPATH)))) ifneq ($(FPCPROG),) FPCPROG:=$(firstword $(FPCPROG)) FPCFPMAKE:=$(shell $(FPCPROG) -PB) ifeq ($(strip $(wildcard $(FPCFPMAKE))),) FPCFPMAKE:=$(firstword $(FPCPROG)) endif else override FPCFPMAKE=$(firstword $(strip $(wildcard $(addsuffix /ppc386$(SRCEXEEXT),$(SEARCHPATH))))) endif else FPCFPMAKE=$(strip $(wildcard $(addsuffix /compiler/ppc$(SRCEXEEXT),$(FPCDIR)))) FPMAKE_SKIP_CONFIG=-n export FPCFPMAKE export FPMAKE_SKIP_CONFIG endif else FPMAKE_SKIP_CONFIG=-n FPCFPMAKE=$(FPC) endif endif override PACKAGE_NAME=fpc override PACKAGE_VERSION=3.3.1 REQUIREDVERSION=3.2.0 REQUIREDVERSION2=3.2.2 ifndef inOS2 override FPCDIR:=$(BASEDIR) export FPCDIR endif ifndef BUILDDIR BUILDDIR=$(BASEDIR)/build endif ifndef PPNEW ifeq ($(CPU_TARGET),m68k) PPSUF=68k endif ifeq ($(CPU_TARGET),i386) PPSUF=386 endif ifeq ($(CPU_TARGET),x86_64) PPSUF=x64 endif ifeq ($(CPU_TARGET),sparc) PPSUF=sparc endif ifeq ($(CPU_TARGET),sparc64) PPSUF=sparc64 endif ifeq ($(CPU_TARGET),powerpc) PPSUF=ppc endif ifeq ($(CPU_TARGET),powerpc64) PPSUF=ppc64 endif ifeq ($(CPU_TARGET),alpha) PPSUF=axp endif ifeq ($(CPU_TARGET),arm) PPSUF=arm endif ifeq ($(CPU_TARGET),armeb) PPSUF=arm endif ifeq ($(CPU_TARGET),jvm) PPSUF=jvm endif ifeq ($(CPU_TARGET),mips) PPSUF=mips endif ifeq ($(CPU_TARGET),mipsel) PPSUF=mipsel endif ifeq ($(CPU_TARGET),i8086) PPSUF=8086 endif ifeq ($(CPU_TARGET),avr) PPSUF=avr endif ifeq ($(CPU_TARGET),aarch64) PPSUF=a64 endif ifeq ($(CPU_TARGET),riscv32) PPSUF=rv32 endif ifeq ($(CPU_TARGET),riscv64) PPSUF=rv64 endif ifeq ($(CPU_TARGET),xtensa) PPSUF=xtensa endif ifeq ($(CPU_TARGET),z80) PPSUF=z80 endif ifeq ($(CPU_TARGET),wasm32) PPSUF=wasm32 endif ifdef CROSSCOMPILE ifneq ($(CPU_TARGET),jvm) PPPRE=ppcross else PPPRE=ppc endif else PPPRE=ppc endif PPNEW=$(BASEDIR)/compiler/$(PPPRE)$(PPSUF)$(SRCEXEEXT) endif ifndef FPCFPMAKENEW ifdef CROSSCOMPILE FPCFPMAKENEW=$(BASEDIR)/compiler/ppc$(SRCEXEEXT) else FPCFPMAKENEW=$(PPNEW) endif endif ifneq ($(wildcard install),) CVSINSTALL=install else CVSINSTALL=. endif ifdef SNAPSHOT INSTALLTARGET=install else ifdef CROSSINSTALL INSTALLTARGET=install else INSTALLTARGET=distinstall endif endif ifdef SNAPSHOT ALLTARGET=all else ifndef ALLTARGET SHAREDTARGETS= SMARTTARGETS=win32 go32v2 linux freebsd netbsd openbsd netware netwlibc darwin ifneq ($(findstring $(OS_TARGET),$(SHAREDTARGETS)),) ALLTARGET=shared else ifneq ($(findstring $(OS_TARGET),$(SMARTTARGETS)),) ALLTARGET=smart else ALLTARGET=all endif endif endif endif ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),) PKGUNITSPRE=u else PKGUNITSPRE=units- endif ifdef CROSSINSTALL PKGPRE=$(FULL_TARGET)- else PKGPRE= endif override RELEASE=1 export RELEASE ifndef DIST_DESTDIR export DIST_DESTDIR:=$(BASEDIR) endif BASEPACKDIR=$(BASEDIR)/basepack ifndef FPCMAKENEW ifdef CROSSCOMPILE FPCMAKENEW=$(BASEDIR)/utils/fpcm/fpcmake$(SRCEXEEXT) else FPCMAKENEW=$(BASEDIR)/utils/fpcm/bin/$(SOURCESUFFIX)/fpcmake$(SRCEXEEXT) endif endif ifneq ($(OPT),) OPTNEW+=$(OPT) endif ifneq ($(findstring $(OS_TARGET),linux),) ifneq ($(findstring $(CPU_TARGET),i386 arm),) override OPTNEW+=-CVglobal-dynamic endif endif CLEANOPTS=FPC=$(PPNEW) BUILDOPTS=FPC=$(PPNEW) FPCFPMAKE=$(FPCFPMAKENEW) RELEASE=1 'OPT=$(OPTNEW)' 'FPCMAKEOPT=$(OPT)' INSTALLOPTS=FPC=$(PPNEW) ZIPDESTDIR=$(BASEDIR) FPCMAKE=$(FPCMAKENEW) BuildOnlyBaseCPUs=jvm ifneq ($(wildcard utils),) NOUTILSTARGETS=embedded gba nds msdos win16 macosclassic $(BuildOnlyBaseCPUs) freertos ifeq ($(findstring $(OS_TARGET),$(NOUTILSTARGETS)),) ifdef BUILDFULLNATIVE UTILS=1 endif endif endif ifeq ($(FULL_TARGET),i386-linux) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),i386-go32v2) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),i386-win32) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),i386-os2) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),i386-freebsd) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),i386-beos) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),i386-haiku) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),i386-netbsd) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),i386-solaris) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),i386-netware) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),i386-openbsd) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),i386-wdosx) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),i386-darwin) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),i386-emx) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),i386-watcom) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),i386-netwlibc) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),i386-wince) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),i386-embedded) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),i386-symbian) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),i386-nativent) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),i386-iphonesim) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),i386-android) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),i386-aros) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),m68k-linux) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),m68k-netbsd) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),m68k-amiga) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),m68k-atari) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),m68k-palmos) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),m68k-macosclassic) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),m68k-embedded) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),m68k-sinclairql) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),powerpc-linux) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),powerpc-netbsd) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),powerpc-amiga) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),powerpc-macosclassic) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),powerpc-darwin) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),powerpc-morphos) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),powerpc-embedded) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),powerpc-wii) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),powerpc-aix) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),sparc-linux) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),sparc-netbsd) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),sparc-solaris) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),sparc-embedded) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),x86_64-linux) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),x86_64-freebsd) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),x86_64-haiku) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),x86_64-netbsd) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),x86_64-solaris) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),x86_64-openbsd) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),x86_64-darwin) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),x86_64-win64) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),x86_64-embedded) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),x86_64-iphonesim) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),x86_64-android) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),x86_64-aros) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),x86_64-dragonfly) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),arm-linux) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),arm-netbsd) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),arm-palmos) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),arm-wince) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),arm-gba) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),arm-nds) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),arm-embedded) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),arm-symbian) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),arm-android) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),arm-aros) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),arm-freertos) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),arm-ios) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),powerpc64-linux) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),powerpc64-darwin) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),powerpc64-embedded) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),powerpc64-aix) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),avr-embedded) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),armeb-linux) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),armeb-embedded) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),mips-linux) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),mipsel-linux) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),mipsel-embedded) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),mipsel-android) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),mips64el-linux) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),jvm-java) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),jvm-android) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),i8086-embedded) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),i8086-msdos) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),i8086-win16) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),aarch64-linux) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),aarch64-freebsd) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),aarch64-darwin) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),aarch64-win64) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),aarch64-android) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),aarch64-ios) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),wasm32-embedded) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),wasm32-wasi) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),sparc64-linux) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),riscv32-linux) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),riscv32-embedded) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),riscv64-linux) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),riscv64-embedded) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),xtensa-linux) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),xtensa-embedded) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),xtensa-freertos) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),z80-embedded) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),z80-zxspectrum) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),z80-msxdos) override TARGET_DIRS+=compiler rtl utils packages installer endif ifeq ($(FULL_TARGET),z80-amstradcpc) override TARGET_DIRS+=compiler rtl utils packages installer endif override INSTALL_FPCPACKAGE=y ifdef REQUIRE_UNITSDIR override UNITSDIR+=$(REQUIRE_UNITSDIR) endif ifdef REQUIRE_PACKAGESDIR override PACKAGESDIR+=$(REQUIRE_PACKAGESDIR) endif ifdef ZIPINSTALL ifneq ($(findstring $(OS_TARGET),$(UNIXs)),) UNIXHier=1 endif else ifneq ($(findstring $(OS_SOURCE),$(UNIXs)),) UNIXHier=1 endif endif ifndef INSTALL_PREFIX ifdef PREFIX INSTALL_PREFIX=$(PREFIX) endif endif ifndef INSTALL_PREFIX ifdef UNIXHier INSTALL_PREFIX=/usr/local else ifdef INSTALL_FPCPACKAGE INSTALL_BASEDIR:=/pp else INSTALL_BASEDIR:=/$(PACKAGE_NAME) endif endif endif export INSTALL_PREFIX ifdef INSTALL_FPCSUBDIR export INSTALL_FPCSUBDIR endif ifndef DIST_DESTDIR DIST_DESTDIR:=$(BASEDIR) endif export DIST_DESTDIR ifndef COMPILER_UNITTARGETDIR ifdef PACKAGEDIR_MAIN COMPILER_UNITTARGETDIR=$(PACKAGEDIR_MAIN)/units/$(TARGETSUFFIX) else COMPILER_UNITTARGETDIR=units/$(TARGETSUFFIX) endif endif ifndef COMPILER_TARGETDIR COMPILER_TARGETDIR=. endif ifndef INSTALL_BASEDIR ifdef UNIXHier ifdef INSTALL_FPCPACKAGE INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION) else INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/$(PACKAGE_NAME) endif else INSTALL_BASEDIR:=$(INSTALL_PREFIX) endif endif ifndef INSTALL_BINDIR ifdef UNIXHier INSTALL_BINDIR:=$(INSTALL_PREFIX)/bin else INSTALL_BINDIR:=$(INSTALL_BASEDIR)/bin ifdef INSTALL_FPCPACKAGE ifdef CROSSCOMPILE ifdef CROSSINSTALL INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(SOURCESUFFIX) else INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(TARGETSUFFIX) endif else INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(TARGETSUFFIX) endif endif endif endif ifndef INSTALL_UNITDIR INSTALL_UNITDIR:=$(INSTALL_BASEDIR)/units/$(TARGETSUFFIX) ifdef INSTALL_FPCPACKAGE ifdef PACKAGE_NAME INSTALL_UNITDIR:=$(INSTALL_UNITDIR)/$(PACKAGE_NAME) endif endif endif ifndef INSTALL_LIBDIR ifdef UNIXHier INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib else INSTALL_LIBDIR:=$(INSTALL_UNITDIR) endif endif ifndef INSTALL_SOURCEDIR ifdef UNIXHier ifdef BSDhier SRCPREFIXDIR=share/src else ifdef linuxHier SRCPREFIXDIR=share/src else SRCPREFIXDIR=src endif endif ifdef INSTALL_FPCPACKAGE ifdef INSTALL_FPCSUBDIR INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME) else INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME) endif else INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/$(PACKAGE_NAME)-$(PACKAGE_VERSION) endif else ifdef INSTALL_FPCPACKAGE ifdef INSTALL_FPCSUBDIR INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME) else INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(PACKAGE_NAME) endif else INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source endif endif endif ifndef INSTALL_DOCDIR ifdef UNIXHier ifdef BSDhier DOCPREFIXDIR=share/doc else ifdef linuxHier DOCPREFIXDIR=share/doc else DOCPREFIXDIR=doc endif endif ifdef INSTALL_FPCPACKAGE INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME) else INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/$(PACKAGE_NAME)-$(PACKAGE_VERSION) endif else ifdef INSTALL_FPCPACKAGE INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc/$(PACKAGE_NAME) else INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc endif endif endif ifndef INSTALL_EXAMPLEDIR ifdef UNIXHier ifdef INSTALL_FPCPACKAGE ifdef BSDhier INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME) else ifdef linuxHier INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples else INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME) endif endif else ifdef BSDhier INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION) else ifdef linuxHier INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION) else INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION) endif endif endif else ifdef INSTALL_FPCPACKAGE INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME) else INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples endif endif endif ifndef INSTALL_DATADIR INSTALL_DATADIR=$(INSTALL_BASEDIR) endif ifndef INSTALL_SHAREDDIR INSTALL_SHAREDDIR=$(INSTALL_PREFIX)/lib endif ifdef CROSSCOMPILE ifndef CROSSBINDIR CROSSBINDIR:=$(wildcard $(CROSSTARGETDIR)/bin/$(SOURCESUFFIX)) ifeq ($(CROSSBINDIR),) CROSSBINDIR:=$(wildcard $(INSTALL_BASEDIR)/cross/$(TARGETSUFFIX)/bin/$(FULL_SOURCE)) endif 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 ifneq ($(findstring $(FPCFPMAKE_CPU_OPT),mips mipsel),) CROSSGCCOPT=-mabi=32 else CROSSGCCOPT=-m32 endif endif endif endif endif ifdef FPCFPMAKE FPCFPMAKE_CPU_TARGET=$(shell $(FPCFPMAKE) -iTP) ifeq ($(CPU_TARGET),$(FPCFPMAKE_CPU_TARGET)) FPCMAKEGCCLIBDIR:=$(GCCLIBDIR) else ifneq ($(findstring $(FPCFPMAKE_CPU_TARGET),aarch64 powerpc64 riscv64 sparc64 x86_64),) FPCMAKE_CROSSGCCOPT=-m64 else ifneq ($(findstring $(FPCFPMAKE_CPU_OPT),mips64 mips64el),) FPCMAKE_CROSSGCCOPT=-mabi=64 else ifneq ($(findstring $(FPCFPMAKE_CPU_OPT),mips mipsel),) FPCMAKE_CROSSGCCOPT=-mabi=32 else ifneq ($(findstring $(FPCFPMAKE_CPU_OPT),riscv64),) FPCMAKE_CROSSGCCOPT=-mabi=lp64 else ifneq ($(findstring $(FPCFPMAKE_CPU_OPT),riscv32),) FPCMAKE_CROSSGCCOPT=-mabi=ilp32 else FPCMAKE_CROSSGCCOPT=-m32 endif endif endif endif endif FPCMAKEGCCLIBDIR:=$(shell dirname `gcc $(FPCMAKE_CROSSGCCOPT) -print-libgcc-file-name`) 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 SHAREDLIBEXT=.so SHAREDLIBPREFIX=libfp STATICLIBPREFIX=libp IMPORTLIBPREFIX=libimp RSTEXT=.rst EXEDBGEXT=.dbg ifeq ($(OS_TARGET),go32v1) STATICLIBPREFIX= SHORTSUFFIX=v1 endif ifeq ($(OS_TARGET),go32v2) STATICLIBPREFIX= SHORTSUFFIX=dos IMPORTLIBPREFIX= endif ifeq ($(OS_TARGET),watcom) STATICLIBPREFIX= OEXT=.obj ASMEXT=.asm SHAREDLIBEXT=.dll SHORTSUFFIX=wat IMPORTLIBPREFIX= endif ifneq ($(CPU_TARGET),jvm) ifeq ($(OS_TARGET),android) BATCHEXT=.sh EXEEXT= HASSHAREDLIB=1 SHORTSUFFIX=lnx endif endif ifeq ($(OS_TARGET),linux) BATCHEXT=.sh EXEEXT= HASSHAREDLIB=1 SHORTSUFFIX=lnx endif ifeq ($(OS_TARGET),dragonfly) BATCHEXT=.sh EXEEXT= HASSHAREDLIB=1 SHORTSUFFIX=df endif ifeq ($(OS_TARGET),freebsd) BATCHEXT=.sh EXEEXT= HASSHAREDLIB=1 SHORTSUFFIX=fbs endif ifeq ($(OS_TARGET),netbsd) BATCHEXT=.sh EXEEXT= HASSHAREDLIB=1 SHORTSUFFIX=nbs endif ifeq ($(OS_TARGET),openbsd) BATCHEXT=.sh EXEEXT= HASSHAREDLIB=1 SHORTSUFFIX=obs endif ifeq ($(OS_TARGET),win32) SHAREDLIBEXT=.dll SHORTSUFFIX=w32 endif ifeq ($(OS_TARGET),os2) BATCHEXT=.cmd AOUTEXT=.out STATICLIBPREFIX= SHAREDLIBEXT=.dll SHORTSUFFIX=os2 ECHO=echo IMPORTLIBPREFIX= endif ifeq ($(OS_TARGET),emx) BATCHEXT=.cmd AOUTEXT=.out STATICLIBPREFIX= SHAREDLIBEXT=.dll SHORTSUFFIX=emx ECHO=echo IMPORTLIBPREFIX= endif ifeq ($(OS_TARGET),amiga) EXEEXT= SHAREDLIBEXT=.library SHORTSUFFIX=amg endif ifeq ($(OS_TARGET),aros) EXEEXT= SHAREDLIBEXT=.library SHORTSUFFIX=aros endif ifeq ($(OS_TARGET),morphos) EXEEXT= SHAREDLIBEXT=.library SHORTSUFFIX=mos endif ifeq ($(OS_TARGET),atari) EXEEXT=.ttp SHORTSUFFIX=ata endif ifeq ($(OS_TARGET),beos) BATCHEXT=.sh EXEEXT= SHORTSUFFIX=be endif ifeq ($(OS_TARGET),haiku) BATCHEXT=.sh EXEEXT= SHORTSUFFIX=hai endif ifeq ($(OS_TARGET),solaris) BATCHEXT=.sh EXEEXT= SHORTSUFFIX=sun endif ifeq ($(OS_TARGET),qnx) BATCHEXT=.sh EXEEXT= SHORTSUFFIX=qnx endif ifeq ($(OS_TARGET),netware) EXEEXT=.nlm STATICLIBPREFIX= SHORTSUFFIX=nw IMPORTLIBPREFIX=imp endif ifeq ($(OS_TARGET),netwlibc) EXEEXT=.nlm STATICLIBPREFIX= SHORTSUFFIX=nwl IMPORTLIBPREFIX=imp endif ifeq ($(OS_TARGET),macosclassic) BATCHEXT= EXEEXT= DEBUGSYMEXT=.xcoff SHORTSUFFIX=mac IMPORTLIBPREFIX=imp endif ifneq ($(findstring $(OS_TARGET),darwin iphonesim ios),) BATCHEXT=.sh EXEEXT= HASSHAREDLIB=1 SHORTSUFFIX=dwn EXEDBGEXT=.dSYM endif ifeq ($(OS_TARGET),gba) EXEEXT=.gba SHAREDLIBEXT=.so SHORTSUFFIX=gba endif ifeq ($(OS_TARGET),symbian) SHAREDLIBEXT=.dll SHORTSUFFIX=symbian endif ifeq ($(OS_TARGET),NativeNT) SHAREDLIBEXT=.dll SHORTSUFFIX=nativent endif ifeq ($(OS_TARGET),wii) EXEEXT=.dol SHAREDLIBEXT=.so SHORTSUFFIX=wii endif ifeq ($(OS_TARGET),aix) BATCHEXT=.sh EXEEXT= SHAREDLIBEXT=.a SHORTSUFFIX=aix endif ifeq ($(OS_TARGET),java) OEXT=.class ASMEXT=.j SHAREDLIBEXT=.jar SHORTSUFFIX=java endif ifeq ($(CPU_TARGET),jvm) ifeq ($(OS_TARGET),android) OEXT=.class ASMEXT=.j SHAREDLIBEXT=.jar SHORTSUFFIX=android endif endif ifeq ($(OS_TARGET),msdos) 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= STATICLIBEXT=.a else EXEEXT=.bin endif ifeq ($(CPU_TARGET),z80) OEXT=.rel endif SHORTSUFFIX=emb endif ifeq ($(OS_TARGET),win16) STATICLIBPREFIX= STATICLIBEXT=.a SHAREDLIBEXT=.dll SHORTSUFFIX=w16 endif ifeq ($(OS_TARGET),zxspectrum) OEXT=.rel endif ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),) FPCMADE=fpcmade.$(SHORTSUFFIX) ZIPSUFFIX=$(SHORTSUFFIX) ZIPCROSSPREFIX= ZIPSOURCESUFFIX=src ZIPEXAMPLESUFFIX=exm else FPCMADE=fpcmade.$(TARGETSUFFIX) ZIPSOURCESUFFIX=.source ZIPEXAMPLESUFFIX=.examples ifdef CROSSCOMPILE ZIPSUFFIX=.$(SOURCESUFFIX) ZIPCROSSPREFIX=$(TARGETSUFFIX)- else ZIPSUFFIX=.$(TARGETSUFFIX) ZIPCROSSPREFIX= endif endif ifndef ECHO ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(ECHO),) ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(ECHO),) ECHO= __missing_command_ECHO else ECHO:=$(firstword $(ECHO)) endif else ECHO:=$(firstword $(ECHO)) endif endif export ECHO ifndef DATE DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(DATE),) DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(DATE),) DATE= __missing_command_DATE else DATE:=$(firstword $(DATE)) endif else DATE:=$(firstword $(DATE)) endif endif export DATE ifndef GINSTALL GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(GINSTALL),) GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(GINSTALL),) GINSTALL= __missing_command_GINSTALL else GINSTALL:=$(firstword $(GINSTALL)) endif else GINSTALL:=$(firstword $(GINSTALL)) endif endif export GINSTALL ifndef CPPROG CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(CPPROG),) CPPROG= __missing_command_CPPROG else CPPROG:=$(firstword $(CPPROG)) endif endif export CPPROG ifndef RMPROG RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(RMPROG),) RMPROG= __missing_command_RMPROG else RMPROG:=$(firstword $(RMPROG)) endif endif export RMPROG ifndef MVPROG MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(MVPROG),) MVPROG= __missing_command_MVPROG else MVPROG:=$(firstword $(MVPROG)) endif endif export MVPROG ifndef MKDIRPROG MKDIRPROG:=$(strip $(wildcard $(addsuffix /gmkdir$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(MKDIRPROG),) MKDIRPROG:=$(strip $(wildcard $(addsuffix /mkdir$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(MKDIRPROG),) MKDIRPROG= __missing_command_MKDIRPROG else MKDIRPROG:=$(firstword $(MKDIRPROG)) endif else MKDIRPROG:=$(firstword $(MKDIRPROG)) endif endif export MKDIRPROG ifndef ECHOREDIR ifndef inUnix ECHOREDIR=echo else ECHOREDIR=$(ECHO) endif endif ifndef COPY COPY:=$(CPPROG) -fp endif ifndef COPYTREE COPYTREE:=$(CPPROG) -Rfp endif ifndef MKDIRTREE MKDIRTREE:=$(MKDIRPROG) -p endif ifndef MOVE MOVE:=$(MVPROG) -f endif ifndef DEL DEL:=$(RMPROG) -f endif ifndef DELTREE DELTREE:=$(RMPROG) -rf endif ifndef INSTALL ifdef inUnix INSTALL:=$(GINSTALL) -c -m 644 else INSTALL:=$(COPY) endif endif ifndef INSTALLEXE ifdef inUnix INSTALLEXE:=$(GINSTALL) -c -m 755 else INSTALLEXE:=$(COPY) endif endif ifndef MKDIR MKDIR:=$(GINSTALL) -m 755 -d endif export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR ifndef PPUMOVE PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(PPUMOVE),) PPUMOVE= __missing_command_PPUMOVE else PPUMOVE:=$(firstword $(PPUMOVE)) endif endif export PPUMOVE ifndef FPCMAKE FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(FPCMAKE),) FPCMAKE= __missing_command_FPCMAKE else FPCMAKE:=$(firstword $(FPCMAKE)) endif endif export FPCMAKE ifndef ZIPPROG ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(ZIPPROG),) ZIPPROG= __missing_command_ZIPPROG else ZIPPROG:=$(firstword $(ZIPPROG)) endif endif export ZIPPROG ifndef TARPROG TARPROG:=$(strip $(wildcard $(addsuffix /gtar$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(TARPROG),) TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(TARPROG),) TARPROG= __missing_command_TARPROG else TARPROG:=$(firstword $(TARPROG)) endif else TARPROG:=$(firstword $(TARPROG)) endif endif export TARPROG ASNAME=$(BINUTILSPREFIX)as LDNAME=$(BINUTILSPREFIX)ld ARNAME=$(BINUTILSPREFIX)ar RCNAME=$(BINUTILSPREFIX)rc NASMNAME=$(BINUTILSPREFIX)nasm ifndef ASPROG ifdef CROSSBINDIR ASPROG=$(CROSSBINDIR)/$(ASNAME)$(SRCEXEEXT) else ASPROG=$(ASNAME) endif endif ifndef LDPROG ifdef CROSSBINDIR LDPROG=$(CROSSBINDIR)/$(LDNAME)$(SRCEXEEXT) else LDPROG=$(LDNAME) endif endif ifndef RCPROG ifdef CROSSBINDIR RCPROG=$(CROSSBINDIR)/$(RCNAME)$(SRCEXEEXT) else RCPROG=$(RCNAME) endif endif ifndef ARPROG ifdef CROSSBINDIR ARPROG=$(CROSSBINDIR)/$(ARNAME)$(SRCEXEEXT) else ARPROG=$(ARNAME) endif endif ifndef NASMPROG ifdef CROSSBINDIR NASMPROG=$(CROSSBINDIR)/$(NASMNAME)$(SRCEXEEXT) else NASMPROG=$(NASMNAME) endif endif AS=$(ASPROG) LD=$(LDPROG) RC=$(RCPROG) AR=$(ARPROG) NASM=$(NASMPROG) ifdef inUnix PPAS=./ppas$(SRCBATCHEXT) else PPAS=ppas$(SRCBATCHEXT) endif ifdef inUnix LDCONFIG=ldconfig else LDCONFIG= endif ifdef DATE DATESTR:=$(shell $(DATE) +%Y%m%d) else DATESTR= endif ZIPOPT=-9 ZIPEXT=.zip ifeq ($(USETAR),bz2) TAROPT=vj TAREXT=.tar.bz2 else TAROPT=vz TAREXT=.tar.gz endif ifndef NOCPUDEF override FPCOPTDEF=$(ARCH) endif ifneq ($(OS_TARGET),$(OS_SOURCE)) override FPCOPT+=-T$(OS_TARGET) endif ifneq ($(CPU_TARGET),$(CPU_SOURCE)) override FPCOPT+=-P$(ARCH) endif ifeq ($(OS_SOURCE),openbsd) override FPCOPT+=-FD$(NEW_BINUTILS_PATH) override FPCMAKEOPT+=-FD$(NEW_BINUTILS_PATH) override FPMAKE_BUILD_OPT+=-FD$(NEW_BINUTILS_PATH) endif ifndef CROSSBOOTSTRAP ifneq ($(BINUTILSPREFIX),) override FPCOPT+=-XP$(BINUTILSPREFIX) ifneq ($(RLINKPATH),) override FPCOPT+=-Xr$(RLINKPATH) endif endif endif ifndef CROSSCOMPILE ifneq ($(BINUTILSPREFIX),) override FPCMAKEOPT+=-XP$(BINUTILSPREFIX) override FPMAKE_BUILD_OPT+=-XP$(BINUTILSPREFIX) endif endif ifdef UNITDIR override FPCOPT+=$(addprefix -Fu,$(UNITDIR)) endif ifdef LIBDIR override FPCOPT+=$(addprefix -Fl,$(LIBDIR)) endif ifdef OBJDIR override FPCOPT+=$(addprefix -Fo,$(OBJDIR)) endif ifdef INCDIR override FPCOPT+=$(addprefix -Fi,$(INCDIR)) endif ifdef LINKSMART override FPCOPT+=-XX endif ifdef CREATESMART override FPCOPT+=-CX endif ifdef DEBUG override FPCOPT+=-gl override FPCOPTDEF+=DEBUG endif ifdef RELEASE FPCCPUOPT:=-O2 override FPCOPT+=-Ur -Xs $(FPCCPUOPT) -n override FPCOPTDEF+=RELEASE endif ifdef STRIP override FPCOPT+=-Xs endif ifdef OPTIMIZE override FPCOPT+=-O2 endif ifdef VERBOSE override FPCOPT+=-vwni endif ifdef COMPILER_OPTIONS override FPCOPT+=$(COMPILER_OPTIONS) endif ifdef COMPILER_UNITDIR override FPCOPT+=$(addprefix -Fu,$(COMPILER_UNITDIR)) endif ifdef COMPILER_LIBRARYDIR override FPCOPT+=$(addprefix -Fl,$(COMPILER_LIBRARYDIR)) endif ifdef COMPILER_OBJECTDIR override FPCOPT+=$(addprefix -Fo,$(COMPILER_OBJECTDIR)) endif ifdef COMPILER_INCLUDEDIR override FPCOPT+=$(addprefix -Fi,$(COMPILER_INCLUDEDIR)) endif ifdef CROSSBINDIR override FPCOPT+=-FD$(CROSSBINDIR) endif ifdef COMPILER_TARGETDIR override FPCOPT+=-FE$(COMPILER_TARGETDIR) ifeq ($(COMPILER_TARGETDIR),.) override TARGETDIRPREFIX= else override TARGETDIRPREFIX=$(COMPILER_TARGETDIR)/ endif endif ifdef COMPILER_UNITTARGETDIR override FPCOPT+=-FU$(COMPILER_UNITTARGETDIR) ifeq ($(COMPILER_UNITTARGETDIR),.) override UNITTARGETDIRPREFIX= else override UNITTARGETDIRPREFIX=$(COMPILER_UNITTARGETDIR)/ endif else ifdef COMPILER_TARGETDIR override COMPILER_UNITTARGETDIR=$(COMPILER_TARGETDIR) override UNITTARGETDIRPREFIX=$(TARGETDIRPREFIX) endif endif ifdef SYSROOTPATH override FPCOPT+=-XR$(SYSROOTPATH) else ifeq ($(OS_TARGET),$(OS_SOURCE)) ifneq ($(findstring $(OS_TARGET),darwin),) ifneq ($(findstring $(CPU_TARGET),aarch64),) ifneq ($(wildcard /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk),) override FPCOPT+=-XR/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk endif endif endif endif endif ifdef CREATESHARED override FPCOPT+=-Cg endif ifneq ($(findstring $(OS_TARGET),dragonfly freebsd openbsd netbsd linux solaris),) ifneq ($(findstring $(CPU_TARGET),x86_64 mips mipsel riscv64),) override FPCOPT+=-Cg 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 ifdef FPMAKEBUILDOPT override FPMAKE_BUILD_OPT+=$(FPMAKEBUILDOPT) endif ifdef FPCOPTDEF override FPCOPT+=$(addprefix -d,$(FPCOPTDEF)) endif ifdef CFGFILE override FPCOPT+=@$(CFGFILE) endif ifdef USEENV override FPCEXTCMD:=$(FPCOPT) override FPCOPT:=!FPCEXTCMD export FPCEXTCMD endif override AFULL_TARGET=$(CPU_TARGET)-$(OS_TARGET) override AFULL_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE) ifneq ($(AFULL_TARGET),$(AFULL_SOURCE)) override ACROSSCOMPILE=1 endif ifdef ACROSSCOMPILE override FPCOPT+=$(CROSSOPT) endif override COMPILER:=$(strip $(FPC) $(FPCOPT)) ifneq (,$(findstring -sh ,$(COMPILER))) UseEXECPPAS=1 endif ifneq (,$(findstring -s ,$(COMPILER))) ifeq ($(FULL_SOURCE),$(FULL_TARGET)) UseEXECPPAS=1 endif endif ifneq ($(UseEXECPPAS),1) EXECPPAS= else ifdef RUNBATCH EXECPPAS:=@$(RUNBATCH) $(PPAS) else EXECPPAS:=@$(PPAS) endif endif ifdef TARGET_RSTS override RSTFILES=$(addsuffix $(RSTEXT),$(TARGET_RSTS)) override CLEANRSTFILES+=$(RSTFILES) endif .PHONY: fpc_install fpc_sourceinstall fpc_exampleinstall ifdef INSTALL_UNITS override INSTALLPPUFILES+=$(addsuffix $(PPUEXT),$(INSTALL_UNITS)) endif ifdef INSTALL_BUILDUNIT override INSTALLPPUFILES:=$(filter-out $(INSTALL_BUILDUNIT)$(PPUEXT),$(INSTALLPPUFILES)) endif ifdef INSTALLPPUFILES ifneq ($(IMPORTLIBPREFIX)-$(STATICLIBEXT),$(STATICLIBPREFIX)-$(STATICLIBEXT)) 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)) $(subst $(PPUEXT),$(LTOEXT),$(INSTALLPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES))) endif ifneq ($(UNITTARGETDIRPREFIX),) 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 ifdef INSTALLEXEFILES ifneq ($(TARGETDIRPREFIX),) override INSTALLEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(notdir $(INSTALLEXEFILES))) endif endif fpc_install: all $(INSTALLTARGET) ifdef INSTALLEXEFILES $(MKDIR) $(INSTALL_BINDIR) $(INSTALLEXE) $(INSTALLEXEFILES) $(INSTALL_BINDIR) endif ifdef INSTALL_CREATEPACKAGEFPC ifdef FPCMAKE ifdef PACKAGE_VERSION ifneq ($(wildcard Makefile.fpc),) $(FPCMAKE) -p -T$(CPU_TARGET)-$(OS_TARGET) Makefile.fpc $(MKDIR) $(INSTALL_UNITDIR) $(INSTALL) Package.fpc $(INSTALL_UNITDIR) endif endif endif endif ifdef INSTALLPPUFILES $(MKDIR) $(INSTALL_UNITDIR) $(INSTALL) $(INSTALLPPUFILES) $(INSTALL_UNITDIR) ifneq ($(INSTALLPPULINKFILES),) $(INSTALL) $(INSTALLPPULINKFILES) $(INSTALL_UNITDIR) endif ifneq ($(wildcard $(LIB_FULLNAME)),) $(MKDIR) $(INSTALL_LIBDIR) $(INSTALL) $(LIB_FULLNAME) $(INSTALL_LIBDIR) ifdef inUnix ln -sf $(LIB_FULLNAME) $(INSTALL_LIBDIR)/$(LIB_NAME) endif endif endif ifdef INSTALL_FILES $(MKDIR) $(INSTALL_DATADIR) $(INSTALL) $(INSTALL_FILES) $(INSTALL_DATADIR) endif fpc_sourceinstall: distclean $(MKDIR) $(INSTALL_SOURCEDIR) $(COPYTREE) $(BASEDIR)/* $(INSTALL_SOURCEDIR) fpc_exampleinstall: $(EXAMPLEINSTALLTARGET) $(addsuffix _distclean,$(TARGET_EXAMPLEDIRS)) ifdef HASEXAMPLES $(MKDIR) $(INSTALL_EXAMPLEDIR) endif ifdef EXAMPLESOURCEFILES $(COPY) $(EXAMPLESOURCEFILES) $(INSTALL_EXAMPLEDIR) endif ifdef TARGET_EXAMPLEDIRS $(COPYTREE) $(addsuffix /*,$(TARGET_EXAMPLEDIRS)) $(INSTALL_EXAMPLEDIR) endif .PHONY: fpc_distinstall fpc_distinstall: install exampleinstall .PHONY: fpc_zipinstall fpc_zipsourceinstall fpc_zipexampleinstall ifndef PACKDIR ifndef inUnix PACKDIR=$(BASEDIR)/../fpc-pack else PACKDIR=/tmp/fpc-pack endif endif ifndef ZIPNAME ifdef DIST_ZIPNAME ZIPNAME=$(DIST_ZIPNAME) else ZIPNAME=$(PACKAGE_NAME) endif endif ifndef FULLZIPNAME FULLZIPNAME=$(ZIPCROSSPREFIX)$(ZIPPREFIX)$(ZIPNAME)$(ZIPSUFFIX) endif ifndef ZIPTARGET ifdef DIST_ZIPTARGET ZIPTARGET=DIST_ZIPTARGET else ZIPTARGET=install endif endif ifndef USEZIP ifdef inUnix USETAR=1 endif endif ifndef inUnix USEZIPWRAPPER=1 endif ifdef USEZIPWRAPPER ZIPPATHSEP=$(PATHSEP) ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(SRCBATCHEXT)) else ZIPPATHSEP=/ endif ZIPCMD_CDPACK:=cd $(subst /,$(ZIPPATHSEP),$(PACKDIR)) ZIPCMD_CDBASE:=cd $(subst /,$(ZIPPATHSEP),$(BASEDIR)) ifdef USETAR ZIPDESTFILE:=$(DIST_DESTDIR)/$(FULLZIPNAME)$(TAREXT) ZIPCMD_ZIP:=$(TARPROG) c$(TAROPT)f $(ZIPDESTFILE) * else ZIPDESTFILE:=$(DIST_DESTDIR)/$(FULLZIPNAME)$(ZIPEXT) ZIPCMD_ZIP:=$(subst /,$(ZIPPATHSEP),$(ZIPPROG)) -Dr $(ZIPOPT) $(ZIPDESTFILE) * endif fpc_zipinstall: $(MAKE) $(ZIPTARGET) INSTALL_PREFIX=$(PACKDIR) ZIPINSTALL=1 $(MKDIR) $(DIST_DESTDIR) $(DEL) $(ZIPDESTFILE) ifdef USEZIPWRAPPER ifneq ($(ECHOREDIR),echo) $(ECHOREDIR) -e "$(subst \,\\,$(ZIPCMD_CDPACK))" > $(ZIPWRAPPER) $(ECHOREDIR) -e "$(subst \,\\,$(ZIPCMD_ZIP))" >> $(ZIPWRAPPER) $(ECHOREDIR) -e "$(subst \,\\,$(ZIPCMD_CDBASE))" >> $(ZIPWRAPPER) else echo $(ZIPCMD_CDPACK) > $(ZIPWRAPPER) echo $(ZIPCMD_ZIP) >> $(ZIPWRAPPER) echo $(ZIPCMD_CDBASE) >> $(ZIPWRAPPER) endif ifdef inUnix /bin/sh $(ZIPWRAPPER) else ifdef RUNBATCH $(RUNBATCH) $(ZIPWRAPPER) else $(ZIPWRAPPER) endif endif $(DEL) $(ZIPWRAPPER) else $(ZIPCMD_CDPACK) ; $(ZIPCMD_ZIP) ; $(ZIPCMD_CDBASE) endif $(DELTREE) $(PACKDIR) fpc_zipsourceinstall: $(MAKE) fpc_zipinstall ZIPTARGET=sourceinstall ZIPSUFFIX=$(ZIPSOURCESUFFIX) fpc_zipexampleinstall: ifdef HASEXAMPLES $(MAKE) fpc_zipinstall ZIPTARGET=exampleinstall ZIPSUFFIX=$(ZIPEXAMPLESUFFIX) endif fpc_zipdistinstall: $(MAKE) fpc_zipinstall ZIPTARGET=distinstall .PHONY: fpc_clean fpc_cleanall fpc_distclean ifdef EXEFILES override CLEANEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(CLEANEXEFILES)) override CLEANEXEDBGFILES:=$(addprefix $(TARGETDIRPREFIX),$(CLEANEXEDBGFILES)) endif ifdef CLEAN_PROGRAMS override CLEANEXEFILES+=$(addprefix $(TARGETDIRPREFIX),$(addsuffix $(EXEEXT), $(CLEAN_PROGRAMS))) override CLEANEXEDBGFILES+=$(addprefix $(TARGETDIRPREFIX),$(addsuffix $(EXEDBGEXT), $(CLEAN_PROGRAMS))) endif ifdef CLEAN_UNITS override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS)) endif ifdef 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 CLEANPPUFILENAMES:=$(CLEANPPUFILES) override CLEANPPUFILES=$(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPUFILENAMES)) override CLEANPPULINKFILENAMES:=$(CLEANPPULINKFILES) override CLEANPPULINKFILES=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILENAMES))) endif fpc_clean: $(CLEANTARGET) ifdef CLEANEXEFILES -$(DEL) $(CLEANEXEFILES) endif ifdef CLEANEXEDBGFILES -$(DELTREE) $(CLEANEXEDBGFILES) endif ifdef CLEANPPUFILES -$(DEL) $(CLEANPPUFILES) endif ifneq ($(CLEANPPULINKFILES),) -$(DEL) $(CLEANPPULINKFILES) endif ifdef CLEANRSTFILES -$(DEL) $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANRSTFILES)) endif ifdef CLEAN_FILES -$(DEL) $(CLEAN_FILES) endif ifdef LIB_NAME -$(DEL) $(LIB_NAME) $(LIB_FULLNAME) endif -$(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) endif ifdef COMPILER_UNITTARGETDIR ifdef CLEANPPUFILES -$(DEL) $(CLEANPPUFILES) endif ifneq ($(CLEANPPULINKFILES),) -$(DEL) $(CLEANPPULINKFILES) endif ifdef CLEANRSTFILES -$(DEL) $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANRSTFILES)) endif endif ifdef CLEAN_FILES -$(DEL) $(CLEAN_FILES) endif -$(DELTREE) units -$(DELTREE) bin -$(DEL) *$(OEXT) *$(LTOEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT) ifneq ($(PPUEXT),.ppu) -$(DEL) *.o *.ppu *.a endif -$(DELTREE) *$(SMARTEXT) -$(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 ifdef DEBUGSYMEXT -$(DEL) *$(DEBUGSYMEXT) endif ifdef LOCALFPMAKEBIN -$(DEL) $(LOCALFPMAKEBIN) -$(DEL) $(FPMAKEBINOBJ) endif fpc_distclean: cleanall .PHONY: fpc_baseinfo override INFORULES+=fpc_baseinfo fpc_baseinfo: @$(ECHO) @$(ECHO) == Package info == @$(ECHO) Package Name..... $(PACKAGE_NAME) @$(ECHO) Package Version.. $(PACKAGE_VERSION) @$(ECHO) @$(ECHO) == Configuration info == @$(ECHO) @$(ECHO) FPC.......... $(FPC) @$(ECHO) FPC Version.. $(FPC_VERSION) @$(ECHO) Source CPU... $(CPU_SOURCE) @$(ECHO) Target CPU... $(CPU_TARGET) @$(ECHO) Source OS.... $(OS_SOURCE) @$(ECHO) Target OS.... $(OS_TARGET) @$(ECHO) Full Source.. $(FULL_SOURCE) @$(ECHO) Full Target.. $(FULL_TARGET) @$(ECHO) SourceSuffix. $(SOURCESUFFIX) @$(ECHO) TargetSuffix. $(TARGETSUFFIX) @$(ECHO) FPC fpmake... $(FPCFPMAKE) @$(ECHO) @$(ECHO) == Directory info == @$(ECHO) @$(ECHO) Required pkgs... $(REQUIRE_PACKAGES) @$(ECHO) @$(ECHO) Basedir......... $(BASEDIR) @$(ECHO) FPCDir.......... $(FPCDIR) @$(ECHO) CrossBinDir..... $(CROSSBINDIR) @$(ECHO) UnitsDir........ $(UNITSDIR) @$(ECHO) PackagesDir..... $(PACKAGESDIR) @$(ECHO) @$(ECHO) GCC library..... $(GCCLIBDIR) @$(ECHO) Other library... $(OTHERLIBDIR) @$(ECHO) @$(ECHO) == Tools info == @$(ECHO) @$(ECHO) As........ $(AS) @$(ECHO) Ld........ $(LD) @$(ECHO) Ar........ $(AR) @$(ECHO) Rc........ $(RC) @$(ECHO) @$(ECHO) Mv........ $(MVPROG) @$(ECHO) Cp........ $(CPPROG) @$(ECHO) Rm........ $(RMPROG) @$(ECHO) GInstall.. $(GINSTALL) @$(ECHO) Echo...... $(ECHO) @$(ECHO) Shell..... $(SHELL) @$(ECHO) Date...... $(DATE) @$(ECHO) FPCMake... $(FPCMAKE) @$(ECHO) PPUMove... $(PPUMOVE) @$(ECHO) Zip....... $(ZIPPROG) @$(ECHO) @$(ECHO) == Object info == @$(ECHO) @$(ECHO) Target Loaders........ $(TARGET_LOADERS) @$(ECHO) Target Units.......... $(TARGET_UNITS) @$(ECHO) Target Implicit Units. $(TARGET_IMPLICITUNITS) @$(ECHO) Target Programs....... $(TARGET_PROGRAMS) @$(ECHO) Target Dirs........... $(TARGET_DIRS) @$(ECHO) Target Examples....... $(TARGET_EXAMPLES) @$(ECHO) Target ExampleDirs.... $(TARGET_EXAMPLEDIRS) @$(ECHO) @$(ECHO) Clean Units......... $(CLEAN_UNITS) @$(ECHO) Clean Files......... $(CLEAN_FILES) @$(ECHO) @$(ECHO) Install Units....... $(INSTALL_UNITS) @$(ECHO) Install Files....... $(INSTALL_FILES) @$(ECHO) @$(ECHO) == Install info == @$(ECHO) @$(ECHO) DateStr.............. $(DATESTR) @$(ECHO) ZipName.............. $(ZIPNAME) @$(ECHO) ZipPrefix............ $(ZIPPREFIX) @$(ECHO) ZipCrossPrefix....... $(ZIPCROSSPREFIX) @$(ECHO) ZipSuffix............ $(ZIPSUFFIX) @$(ECHO) FullZipName.......... $(FULLZIPNAME) @$(ECHO) Install FPC Package.. $(INSTALL_FPCPACKAGE) @$(ECHO) @$(ECHO) Install base dir..... $(INSTALL_BASEDIR) @$(ECHO) Install binary dir... $(INSTALL_BINDIR) @$(ECHO) Install library dir.. $(INSTALL_LIBDIR) @$(ECHO) Install units dir.... $(INSTALL_UNITDIR) @$(ECHO) Install source dir... $(INSTALL_SOURCEDIR) @$(ECHO) Install doc dir...... $(INSTALL_DOCDIR) @$(ECHO) Install example dir.. $(INSTALL_EXAMPLEDIR) @$(ECHO) Install data dir..... $(INSTALL_DATADIR) @$(ECHO) @$(ECHO) Dist destination dir. $(DIST_DESTDIR) @$(ECHO) Dist zip name........ $(DIST_ZIPNAME) @$(ECHO) .PHONY: fpc_info fpc_info: $(INFORULES) .PHONY: fpc_makefile fpc_makefiles fpc_makefile_sub1 fpc_makefile_sub2 \ fpc_makefile_dirs fpc_makefile: $(FPCMAKE) -w -T$(OS_TARGET) Makefile.fpc fpc_makefile_sub1: ifdef TARGET_DIRS $(FPCMAKE) -w -T$(OS_TARGET) $(addsuffix /Makefile.fpc,$(TARGET_DIRS)) endif ifdef TARGET_EXAMPLEDIRS $(FPCMAKE) -w -T$(OS_TARGET) $(addsuffix /Makefile.fpc,$(TARGET_EXAMPLEDIRS)) endif fpc_makefile_sub2: $(addsuffix _makefile_dirs,$(TARGET_DIRS) $(TARGET_EXAMPLEDIRS)) fpc_makefile_dirs: fpc_makefile_sub1 fpc_makefile_sub2 fpc_makefiles: fpc_makefile fpc_makefile_dirs ifeq ($(FULL_TARGET),i386-linux) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),i386-go32v2) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),i386-win32) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),i386-os2) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),i386-freebsd) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),i386-beos) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),i386-haiku) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),i386-netbsd) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),i386-solaris) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),i386-netware) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),i386-openbsd) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),i386-wdosx) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),i386-darwin) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),i386-emx) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),i386-watcom) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),i386-netwlibc) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),i386-wince) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),i386-embedded) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),i386-symbian) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),i386-nativent) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),i386-iphonesim) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),i386-android) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),i386-aros) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),m68k-linux) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),m68k-netbsd) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),m68k-amiga) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),m68k-atari) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),m68k-palmos) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),m68k-macosclassic) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),m68k-embedded) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),m68k-sinclairql) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),powerpc-linux) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),powerpc-netbsd) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),powerpc-amiga) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),powerpc-macosclassic) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),powerpc-darwin) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),powerpc-morphos) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),powerpc-embedded) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),powerpc-wii) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),powerpc-aix) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),sparc-linux) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),sparc-netbsd) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),sparc-solaris) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),sparc-embedded) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),x86_64-linux) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),x86_64-freebsd) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),x86_64-haiku) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),x86_64-netbsd) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),x86_64-solaris) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),x86_64-openbsd) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),x86_64-darwin) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),x86_64-win64) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),x86_64-embedded) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),x86_64-iphonesim) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),x86_64-android) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),x86_64-aros) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),x86_64-dragonfly) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),arm-linux) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),arm-netbsd) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),arm-palmos) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),arm-wince) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),arm-gba) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),arm-nds) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),arm-embedded) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),arm-symbian) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),arm-android) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),arm-aros) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),arm-freertos) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),arm-ios) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),powerpc64-linux) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),powerpc64-darwin) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),powerpc64-embedded) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),powerpc64-aix) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),avr-embedded) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),armeb-linux) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),armeb-embedded) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),mips-linux) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),mipsel-linux) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),mipsel-embedded) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),mipsel-android) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),mips64el-linux) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),jvm-java) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),jvm-android) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),i8086-embedded) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),i8086-msdos) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),i8086-win16) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),aarch64-linux) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),aarch64-freebsd) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),aarch64-darwin) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),aarch64-win64) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),aarch64-android) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),aarch64-ios) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),wasm32-embedded) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),wasm32-wasi) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),sparc64-linux) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),riscv32-linux) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),riscv32-embedded) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),riscv64-linux) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),riscv64-embedded) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),xtensa-linux) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),xtensa-embedded) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),xtensa-freertos) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),z80-embedded) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),z80-zxspectrum) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),z80-msxdos) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_INSTALLER=1 endif ifeq ($(FULL_TARGET),z80-amstradcpc) 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 compiler_all: $(MAKE) -C compiler all compiler_debug: $(MAKE) -C compiler debug compiler_smart: $(MAKE) -C compiler smart compiler_release: $(MAKE) -C compiler release compiler_units: $(MAKE) -C compiler units compiler_examples: $(MAKE) -C compiler examples compiler_shared: $(MAKE) -C compiler shared compiler_install: $(MAKE) -C compiler install compiler_sourceinstall: $(MAKE) -C compiler sourceinstall compiler_exampleinstall: $(MAKE) -C compiler exampleinstall compiler_distinstall: $(MAKE) -C compiler distinstall compiler_zipinstall: $(MAKE) -C compiler zipinstall compiler_zipsourceinstall: $(MAKE) -C compiler zipsourceinstall compiler_zipexampleinstall: $(MAKE) -C compiler zipexampleinstall compiler_zipdistinstall: $(MAKE) -C compiler zipdistinstall compiler_clean: $(MAKE) -C compiler clean compiler_distclean: $(MAKE) -C compiler distclean compiler_cleanall: $(MAKE) -C compiler cleanall compiler_info: $(MAKE) -C compiler info compiler_makefiles: $(MAKE) -C compiler makefiles compiler: $(MAKE) -C compiler all .PHONY: compiler_all compiler_debug compiler_smart compiler_release compiler_units compiler_examples compiler_shared compiler_install compiler_sourceinstall compiler_exampleinstall compiler_distinstall compiler_zipinstall compiler_zipsourceinstall compiler_zipexampleinstall compiler_zipdistinstall compiler_clean compiler_distclean compiler_cleanall compiler_info compiler_makefiles compiler endif ifdef TARGET_DIRS_RTL rtl_all: $(MAKE) -C rtl all rtl_debug: $(MAKE) -C rtl debug rtl_smart: $(MAKE) -C rtl smart rtl_release: $(MAKE) -C rtl release rtl_units: $(MAKE) -C rtl units rtl_examples: $(MAKE) -C rtl examples rtl_shared: $(MAKE) -C rtl shared rtl_install: $(MAKE) -C rtl install rtl_sourceinstall: $(MAKE) -C rtl sourceinstall rtl_exampleinstall: $(MAKE) -C rtl exampleinstall rtl_distinstall: $(MAKE) -C rtl distinstall rtl_zipinstall: $(MAKE) -C rtl zipinstall rtl_zipsourceinstall: $(MAKE) -C rtl zipsourceinstall rtl_zipexampleinstall: $(MAKE) -C rtl zipexampleinstall rtl_zipdistinstall: $(MAKE) -C rtl zipdistinstall rtl_clean: $(MAKE) -C rtl clean rtl_distclean: $(MAKE) -C rtl distclean rtl_cleanall: $(MAKE) -C rtl cleanall rtl_info: $(MAKE) -C rtl info rtl_makefiles: $(MAKE) -C rtl makefiles rtl: $(MAKE) -C rtl all .PHONY: rtl_all rtl_debug rtl_smart rtl_release rtl_units rtl_examples rtl_shared rtl_install rtl_sourceinstall rtl_exampleinstall rtl_distinstall rtl_zipinstall rtl_zipsourceinstall rtl_zipexampleinstall rtl_zipdistinstall rtl_clean rtl_distclean rtl_cleanall rtl_info rtl_makefiles rtl endif ifdef TARGET_DIRS_UTILS utils_all: $(MAKE) -C utils all utils_debug: $(MAKE) -C utils debug utils_smart: $(MAKE) -C utils smart utils_release: $(MAKE) -C utils release utils_units: $(MAKE) -C utils units utils_examples: $(MAKE) -C utils examples utils_shared: $(MAKE) -C utils shared utils_install: $(MAKE) -C utils install utils_sourceinstall: $(MAKE) -C utils sourceinstall utils_exampleinstall: $(MAKE) -C utils exampleinstall utils_distinstall: $(MAKE) -C utils distinstall utils_zipinstall: $(MAKE) -C utils zipinstall utils_zipsourceinstall: $(MAKE) -C utils zipsourceinstall utils_zipexampleinstall: $(MAKE) -C utils zipexampleinstall utils_zipdistinstall: $(MAKE) -C utils zipdistinstall utils_clean: $(MAKE) -C utils clean utils_distclean: $(MAKE) -C utils distclean utils_cleanall: $(MAKE) -C utils cleanall utils_info: $(MAKE) -C utils info utils_makefiles: $(MAKE) -C utils makefiles utils: $(MAKE) -C utils all .PHONY: utils_all utils_debug utils_smart utils_release utils_units utils_examples utils_shared utils_install utils_sourceinstall utils_exampleinstall utils_distinstall utils_zipinstall utils_zipsourceinstall utils_zipexampleinstall utils_zipdistinstall utils_clean utils_distclean utils_cleanall utils_info utils_makefiles utils endif ifdef TARGET_DIRS_PACKAGES packages_all: $(MAKE) -C packages all packages_debug: $(MAKE) -C packages debug packages_smart: $(MAKE) -C packages smart packages_release: $(MAKE) -C packages release packages_units: $(MAKE) -C packages units packages_examples: $(MAKE) -C packages examples packages_shared: $(MAKE) -C packages shared packages_install: $(MAKE) -C packages install packages_sourceinstall: $(MAKE) -C packages sourceinstall packages_exampleinstall: $(MAKE) -C packages exampleinstall packages_distinstall: $(MAKE) -C packages distinstall packages_zipinstall: $(MAKE) -C packages zipinstall packages_zipsourceinstall: $(MAKE) -C packages zipsourceinstall packages_zipexampleinstall: $(MAKE) -C packages zipexampleinstall packages_zipdistinstall: $(MAKE) -C packages zipdistinstall packages_clean: $(MAKE) -C packages clean packages_distclean: $(MAKE) -C packages distclean packages_cleanall: $(MAKE) -C packages cleanall packages_info: $(MAKE) -C packages info packages_makefiles: $(MAKE) -C packages makefiles packages: $(MAKE) -C packages all .PHONY: packages_all packages_debug packages_smart packages_release packages_units packages_examples packages_shared packages_install packages_sourceinstall packages_exampleinstall packages_distinstall packages_zipinstall packages_zipsourceinstall packages_zipexampleinstall packages_zipdistinstall packages_clean packages_distclean packages_cleanall packages_info packages_makefiles packages endif ifdef TARGET_DIRS_INSTALLER installer_all: $(MAKE) -C installer all installer_debug: $(MAKE) -C installer debug installer_smart: $(MAKE) -C installer smart installer_release: $(MAKE) -C installer release installer_units: $(MAKE) -C installer units installer_examples: $(MAKE) -C installer examples installer_shared: $(MAKE) -C installer shared installer_install: $(MAKE) -C installer install installer_sourceinstall: $(MAKE) -C installer sourceinstall installer_exampleinstall: $(MAKE) -C installer exampleinstall installer_distinstall: $(MAKE) -C installer distinstall installer_zipinstall: $(MAKE) -C installer zipinstall installer_zipsourceinstall: $(MAKE) -C installer zipsourceinstall installer_zipexampleinstall: $(MAKE) -C installer zipexampleinstall installer_zipdistinstall: $(MAKE) -C installer zipdistinstall installer_clean: $(MAKE) -C installer clean installer_distclean: $(MAKE) -C installer distclean installer_cleanall: $(MAKE) -C installer cleanall installer_info: $(MAKE) -C installer info installer_makefiles: $(MAKE) -C installer makefiles installer: $(MAKE) -C installer all .PHONY: installer_all installer_debug installer_smart installer_release installer_units installer_examples installer_shared installer_install installer_sourceinstall installer_exampleinstall installer_distinstall installer_zipinstall installer_zipsourceinstall installer_zipexampleinstall installer_zipdistinstall installer_clean installer_distclean installer_cleanall installer_info installer_makefiles installer endif debug: $(addsuffix _debug,$(TARGET_DIRS)) smart: $(addsuffix _smart,$(TARGET_DIRS)) release: $(addsuffix _release,$(TARGET_DIRS)) units: $(addsuffix _units,$(TARGET_DIRS)) examples: $(addsuffix _examples,$(TARGET_DIRS)) shared: $(addsuffix _shared,$(TARGET_DIRS)) sourceinstall: fpc_sourceinstall exampleinstall: fpc_exampleinstall $(addsuffix _exampleinstall,$(TARGET_DIRS)) distinstall: fpc_distinstall zipsourceinstall: fpc_zipsourceinstall zipexampleinstall: fpc_zipexampleinstall $(addsuffix _zipexampleinstall,$(TARGET_DIRS)) zipdistinstall: fpc_zipdistinstall cleanall: $(addsuffix _cleanall,$(TARGET_DIRS)) info: fpc_info makefiles: fpc_makefiles .PHONY: debug smart release units examples shared sourceinstall exampleinstall distinstall zipsourceinstall zipexampleinstall zipdistinstall cleanall info makefiles ifneq ($(wildcard fpcmake.loc),) include fpcmake.loc endif unexport FPC_VERSION FPC_COMPILERINFO OS_SOURCE override TARGET_DIRS:=$(wildcard $(TARGET_DIRS)) .PHONY: help help: @$(ECHO) @$(ECHO) Targets @$(ECHO) all Build a new compiler and all packages @$(ECHO) install Install newly build files @$(ECHO) zipinstall Create zip/tar of installed files @$(ECHO) singlezipinstall Alias for zipinstall @$(ECHO) @exit .PHONY: compiler_cycle compiler_cycle: $(MAKE) -C compiler cycle BUILDSTAMP=build-stamp.$(FULL_TARGET) .PHONY: all clean distclean build buildbase install installbase .PHONY: installother zipinstallbase zipinstallotherzipinstall .PHONY: singlezipinstall versioncheckstartingcompiler versioncheckstartingcompiler: ifndef CROSSCOMPILE ifneq ($(FPC_VERSION),$(REQUIREDVERSION)) ifneq ($(FPC_VERSION),$(REQUIREDVERSION2)) ifndef OVERRIDEVERSIONCHECK $(error The only supported starting compiler version is $(REQUIREDVERSION). You are trying to build with $(FPC_VERSION).) else @$(ECHO) You have overriden the starting compiler versioncheck while using starting compiler version $(FPC_VERSION). This situation is not supported and strange things and errors may happen. Remove OVERRIDEVERSIONCHECK=1 to fix this. endif endif endif endif ifeq ($(findstring $(CPU_TARGET),$(BuildOnlyBaseCPUs)),) all: versioncheckstartingcompiler build install: installall zipinstall: zipinstallall else all: versioncheckstartingcompiler buildbase install: installbase zipinstall: zipinstallbase endif clean: $(addsuffix _distclean,$(TARGET_DIRS)) -$(DEL) build-stamp.* -$(DEL) base.build-stamp.* distclean: clean build: $(BUILDSTAMP) $(BUILDSTAMP): $(MAKE) compiler_cycle RELEASE=1 ifdef CROSSCOMPILE $(MAKE) -C utils/fpcm bootstrap $(BUILDOPTS) endif $(MAKE) rtl_clean $(CLEANOPTS) $(MAKE) packages_clean $(CLEANOPTS) ifdef UTILS $(MAKE) utils_clean $(CLEANOPTS) endif $(MAKE) rtl_$(ALLTARGET) $(BUILDOPTS) $(MAKE) packages_$(ALLTARGET) $(BUILDOPTS) ifdef UTILS $(MAKE) utils_all $(BUILDOPTS) endif $(ECHOREDIR) Build > $(BUILDSTAMP) $(ECHOREDIR) Build > base.$(BUILDSTAMP) buildbase: base.$(BUILDSTAMP) base.$(BUILDSTAMP): $(MAKE) compiler_cycle RELEASE=1 ifdef CROSSCOMPILE $(MAKE) -C utils/fpcm bootstrap $(BUILDOPTS) endif $(MAKE) rtl_clean $(CLEANOPTS) $(MAKE) rtl_$(ALLTARGET) $(BUILDOPTS) $(ECHOREDIR) Build > base.$(BUILDSTAMP) installbase: base.$(BUILDSTAMP) $(MKDIR) $(INSTALL_BASEDIR) $(MKDIR) $(INSTALL_BINDIR) $(MAKE) compiler_$(INSTALLTARGET) $(INSTALLOPTS) $(MAKE) rtl_$(INSTALLTARGET) $(INSTALLOPTS) installother: $(MAKE) packages_$(INSTALLTARGET) $(INSTALLOPTS) ifdef UTILS $(MAKE) utils_$(INSTALLTARGET) $(INSTALLOPTS) endif zipinstallbase: $(MAKE) fpc_zipinstall ZIPTARGET=installbase ZIPNAME=base $(INSTALLOPTS) zipinstallother: $(MAKE) packages_zip$(INSTALLTARGET) $(INSTALLOPTS) ZIPPREFIX=$(PKGUNITSPRE) ifdef UTILS $(MAKE) utils_zip$(INSTALLTARGET) $(INSTALLOPTS) endif installall: $(BUILDSTAMP) $(MAKE) installbase $(INSTALLOPTS) ifeq ($(findstring $(CPU_TARGET), $(BuildOnlyBaseCPUs)),) $(MAKE) installother $(INSTALLOPTS) endif singlezipinstall: zipinstallall zipinstallall: $(BUILDSTAMP) ifeq ($(FULL_SOURCE),$(FULL_TARGET)) $(MAKE) fpc_zipinstall ZIPTARGET=install FULLZIPNAME=fpc-$(PACKAGE_VERSION).$(TARGETSUFFIX) $(INSTALLOPTS) else $(MAKE) fpc_zipinstall ZIPTARGET=install FULLZIPNAME=fpc-$(PACKAGE_VERSION).$(TARGETSUFFIX).built.on.$(SOURCESUFFIX) $(INSTALLOPTS) endif .PHONY: crossall crossinstall crosszipinstall crosssinglezipinstall crossall: $(MAKE) all CROSSINSTALL=1 crossinstall: $(MAKE) install CROSSINSTALL=1 crosszipinstall: $(MAKE) zipinstall CROSSINSTALL=1 crosssinglezipinstall: $(MAKE) fpc_zipinstall ZIPTARGET=crossinstall FULLZIPNAME=fpc-$(PACKAGE_VERSION).$(SOURCESUFFIX).cross.$(TARGETSUFFIX) $(INSTALLOPTS)