text: #
  # Don't edit, this file is generated by FPCMake Version 2.0.0
  #
  default: all
  MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded 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
  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=libxml
  override PACKAGE_VERSION=3.3.1
  FPMAKE_BIN_CLEAN=$(wildcard ./fpmake$(SRCEXEEXT))
  ifdef OS_TARGET
  FPC_TARGETOPT+=--os=$(OS_TARGET)
  endif
  ifdef CPU_TARGET
  FPC_TARGETOPT+=--cpu=$(CPU_TARGET)
  endif
  LOCALFPMAKE=./fpmake$(SRCEXEEXT)
  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
  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
  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
  override REQUIRE_PACKAGES=rtl fpmkunit
  ifeq ($(FULL_TARGET),i386-linux)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),i386-go32v2)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),i386-win32)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),i386-os2)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),i386-freebsd)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),i386-beos)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),i386-haiku)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),i386-netbsd)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),i386-solaris)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),i386-netware)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),i386-openbsd)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),i386-wdosx)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),i386-darwin)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),i386-emx)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),i386-watcom)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),i386-netwlibc)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),i386-wince)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),i386-embedded)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),i386-symbian)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),i386-nativent)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),i386-iphonesim)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),i386-android)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),i386-aros)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),m68k-linux)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),m68k-netbsd)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),m68k-amiga)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),m68k-atari)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),m68k-palmos)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),m68k-macosclassic)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),m68k-embedded)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),powerpc-linux)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),powerpc-netbsd)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),powerpc-amiga)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),powerpc-macosclassic)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),powerpc-darwin)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),powerpc-morphos)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),powerpc-embedded)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),powerpc-wii)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),powerpc-aix)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),sparc-linux)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),sparc-netbsd)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),sparc-solaris)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),sparc-embedded)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),x86_64-linux)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),x86_64-freebsd)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),x86_64-haiku)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),x86_64-netbsd)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),x86_64-solaris)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),x86_64-openbsd)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),x86_64-darwin)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),x86_64-win64)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),x86_64-embedded)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),x86_64-iphonesim)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),x86_64-android)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),x86_64-aros)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),x86_64-dragonfly)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),arm-linux)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),arm-netbsd)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),arm-palmos)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),arm-wince)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),arm-gba)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),arm-nds)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),arm-embedded)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),arm-symbian)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),arm-android)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),arm-aros)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),arm-freertos)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),arm-ios)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),powerpc64-linux)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),powerpc64-darwin)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),powerpc64-embedded)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),powerpc64-aix)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),avr-embedded)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),armeb-linux)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),armeb-embedded)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),mips-linux)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),mipsel-linux)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),mipsel-embedded)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),mipsel-android)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),mips64el-linux)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),jvm-java)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),jvm-android)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),i8086-embedded)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),i8086-msdos)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),i8086-win16)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),aarch64-linux)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),aarch64-darwin)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),aarch64-win64)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),aarch64-android)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),aarch64-ios)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),wasm-wasm)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),sparc64-linux)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),riscv32-linux)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),riscv32-embedded)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),riscv64-linux)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),riscv64-embedded)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),xtensa-linux)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),xtensa-embedded)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),xtensa-freertos)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),z80-embedded)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),z80-zxspectrum)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifeq ($(FULL_TARGET),z80-msxdos)
  REQUIRE_PACKAGES_RTL=1
  REQUIRE_PACKAGES_PASZLIB=1
  REQUIRE_PACKAGES_FCL-PROCESS=1
  REQUIRE_PACKAGES_HASH=1
  REQUIRE_PACKAGES_LIBTAR=1
  REQUIRE_PACKAGES_FPMKUNIT=1
  endif
  ifdef REQUIRE_PACKAGES_RTL
  PACKAGEDIR_RTL:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /rtl/Makefile.fpc,$(PACKAGESDIR))))))
  ifneq ($(PACKAGEDIR_RTL),)
  ifneq ($(wildcard $(PACKAGEDIR_RTL)/units/$(TARGETSUFFIX)),)
  UNITDIR_RTL=$(PACKAGEDIR_RTL)/units/$(TARGETSUFFIX)
  else
  UNITDIR_RTL=$(PACKAGEDIR_RTL)
  endif
  ifneq ($(wildcard $(PACKAGEDIR_RTL)/units/$(SOURCESUFFIX)),)
  UNITDIR_FPMAKE_RTL=$(PACKAGEDIR_RTL)/units/$(SOURCESUFFIX)
  else
  ifneq ($(wildcard $(PACKAGEDIR_RTL)/units_bs/$(SOURCESUFFIX)),)
  UNITDIR_FPMAKE_RTL=$(PACKAGEDIR_RTL)/units_bs/$(SOURCESUFFIX)
  else
  UNITDIR_FPMAKE_RTL=$(PACKAGEDIR_RTL)
  endif
  endif
  ifdef CHECKDEPEND
  $(PACKAGEDIR_RTL)/$(OS_TARGET)/$(FPCMADE):
  	$(MAKE) -C $(PACKAGEDIR_RTL)/$(OS_TARGET) $(FPCMADE)
  override ALLDEPENDENCIES+=$(PACKAGEDIR_RTL)/$(OS_TARGET)/$(FPCMADE)
  endif
  else
  PACKAGEDIR_RTL=
  UNITDIR_RTL:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /rtl/Package.fpc,$(UNITSDIR)))))
  ifneq ($(UNITDIR_RTL),)
  UNITDIR_RTL:=$(firstword $(UNITDIR_RTL))
  else
  UNITDIR_RTL=
  endif
  endif
  ifdef UNITDIR_RTL
  override COMPILER_UNITDIR+=$(UNITDIR_RTL)
  endif
  ifdef UNITDIR_FPMAKE_RTL
  override COMPILER_FPMAKE_UNITDIR+=$(UNITDIR_FPMAKE_RTL)
  endif
  endif
  ifdef REQUIRE_PACKAGES_PASZLIB
  PACKAGEDIR_PASZLIB:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /paszlib/Makefile.fpc,$(PACKAGESDIR))))))
  ifneq ($(PACKAGEDIR_PASZLIB),)
  ifneq ($(wildcard $(PACKAGEDIR_PASZLIB)/units/$(TARGETSUFFIX)),)
  UNITDIR_PASZLIB=$(PACKAGEDIR_PASZLIB)/units/$(TARGETSUFFIX)
  else
  UNITDIR_PASZLIB=$(PACKAGEDIR_PASZLIB)
  endif
  ifneq ($(wildcard $(PACKAGEDIR_PASZLIB)/units/$(SOURCESUFFIX)),)
  UNITDIR_FPMAKE_PASZLIB=$(PACKAGEDIR_PASZLIB)/units/$(SOURCESUFFIX)
  else
  ifneq ($(wildcard $(PACKAGEDIR_PASZLIB)/units_bs/$(SOURCESUFFIX)),)
  UNITDIR_FPMAKE_PASZLIB=$(PACKAGEDIR_PASZLIB)/units_bs/$(SOURCESUFFIX)
  else
  UNITDIR_FPMAKE_PASZLIB=$(PACKAGEDIR_PASZLIB)
  endif
  endif
  ifdef CHECKDEPEND
  $(PACKAGEDIR_PASZLIB)/$(FPCMADE):
  	$(MAKE) -C $(PACKAGEDIR_PASZLIB) $(FPCMADE)
  override ALLDEPENDENCIES+=$(PACKAGEDIR_PASZLIB)/$(FPCMADE)
  endif
  else
  PACKAGEDIR_PASZLIB=
  UNITDIR_PASZLIB:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /paszlib/Package.fpc,$(UNITSDIR)))))
  ifneq ($(UNITDIR_PASZLIB),)
  UNITDIR_PASZLIB:=$(firstword $(UNITDIR_PASZLIB))
  else
  UNITDIR_PASZLIB=
  endif
  endif
  ifdef UNITDIR_PASZLIB
  override COMPILER_UNITDIR+=$(UNITDIR_PASZLIB)
  endif
  ifdef UNITDIR_FPMAKE_PASZLIB
  override COMPILER_FPMAKE_UNITDIR+=$(UNITDIR_FPMAKE_PASZLIB)
  endif
  endif
  ifdef REQUIRE_PACKAGES_FCL-PROCESS
  PACKAGEDIR_FCL-PROCESS:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /fcl-process/Makefile.fpc,$(PACKAGESDIR))))))
  ifneq ($(PACKAGEDIR_FCL-PROCESS),)
  ifneq ($(wildcard $(PACKAGEDIR_FCL-PROCESS)/units/$(TARGETSUFFIX)),)
  UNITDIR_FCL-PROCESS=$(PACKAGEDIR_FCL-PROCESS)/units/$(TARGETSUFFIX)
  else
  UNITDIR_FCL-PROCESS=$(PACKAGEDIR_FCL-PROCESS)
  endif
  ifneq ($(wildcard $(PACKAGEDIR_FCL-PROCESS)/units/$(SOURCESUFFIX)),)
  UNITDIR_FPMAKE_FCL-PROCESS=$(PACKAGEDIR_FCL-PROCESS)/units/$(SOURCESUFFIX)
  else
  ifneq ($(wildcard $(PACKAGEDIR_FCL-PROCESS)/units_bs/$(SOURCESUFFIX)),)
  UNITDIR_FPMAKE_FCL-PROCESS=$(PACKAGEDIR_FCL-PROCESS)/units_bs/$(SOURCESUFFIX)
  else
  UNITDIR_FPMAKE_FCL-PROCESS=$(PACKAGEDIR_FCL-PROCESS)
  endif
  endif
  ifdef CHECKDEPEND
  $(PACKAGEDIR_FCL-PROCESS)/$(FPCMADE):
  	$(MAKE) -C $(PACKAGEDIR_FCL-PROCESS) $(FPCMADE)
  override ALLDEPENDENCIES+=$(PACKAGEDIR_FCL-PROCESS)/$(FPCMADE)
  endif
  else
  PACKAGEDIR_FCL-PROCESS=
  UNITDIR_FCL-PROCESS:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /fcl-process/Package.fpc,$(UNITSDIR)))))
  ifneq ($(UNITDIR_FCL-PROCESS),)
  UNITDIR_FCL-PROCESS:=$(firstword $(UNITDIR_FCL-PROCESS))
  else
  UNITDIR_FCL-PROCESS=
  endif
  endif
  ifdef UNITDIR_FCL-PROCESS
  override COMPILER_UNITDIR+=$(UNITDIR_FCL-PROCESS)
  endif
  ifdef UNITDIR_FPMAKE_FCL-PROCESS
  override COMPILER_FPMAKE_UNITDIR+=$(UNITDIR_FPMAKE_FCL-PROCESS)
  endif
  endif
  ifdef REQUIRE_PACKAGES_HASH
  PACKAGEDIR_HASH:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /hash/Makefile.fpc,$(PACKAGESDIR))))))
  ifneq ($(PACKAGEDIR_HASH),)
  ifneq ($(wildcard $(PACKAGEDIR_HASH)/units/$(TARGETSUFFIX)),)
  UNITDIR_HASH=$(PACKAGEDIR_HASH)/units/$(TARGETSUFFIX)
  else
  UNITDIR_HASH=$(PACKAGEDIR_HASH)
  endif
  ifneq ($(wildcard $(PACKAGEDIR_HASH)/units/$(SOURCESUFFIX)),)
  UNITDIR_FPMAKE_HASH=$(PACKAGEDIR_HASH)/units/$(SOURCESUFFIX)
  else
  ifneq ($(wildcard $(PACKAGEDIR_HASH)/units_bs/$(SOURCESUFFIX)),)
  UNITDIR_FPMAKE_HASH=$(PACKAGEDIR_HASH)/units_bs/$(SOURCESUFFIX)
  else
  UNITDIR_FPMAKE_HASH=$(PACKAGEDIR_HASH)
  endif
  endif
  ifdef CHECKDEPEND
  $(PACKAGEDIR_HASH)/$(FPCMADE):
  	$(MAKE) -C $(PACKAGEDIR_HASH) $(FPCMADE)
  override ALLDEPENDENCIES+=$(PACKAGEDIR_HASH)/$(FPCMADE)
  endif
  else
  PACKAGEDIR_HASH=
  UNITDIR_HASH:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /hash/Package.fpc,$(UNITSDIR)))))
  ifneq ($(UNITDIR_HASH),)
  UNITDIR_HASH:=$(firstword $(UNITDIR_HASH))
  else
  UNITDIR_HASH=
  endif
  endif
  ifdef UNITDIR_HASH
  override COMPILER_UNITDIR+=$(UNITDIR_HASH)
  endif
  ifdef UNITDIR_FPMAKE_HASH
  override COMPILER_FPMAKE_UNITDIR+=$(UNITDIR_FPMAKE_HASH)
  endif
  endif
  ifdef REQUIRE_PACKAGES_LIBTAR
  PACKAGEDIR_LIBTAR:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /libtar/Makefile.fpc,$(PACKAGESDIR))))))
  ifneq ($(PACKAGEDIR_LIBTAR),)
  ifneq ($(wildcard $(PACKAGEDIR_LIBTAR)/units/$(TARGETSUFFIX)),)
  UNITDIR_LIBTAR=$(PACKAGEDIR_LIBTAR)/units/$(TARGETSUFFIX)
  else
  UNITDIR_LIBTAR=$(PACKAGEDIR_LIBTAR)
  endif
  ifneq ($(wildcard $(PACKAGEDIR_LIBTAR)/units/$(SOURCESUFFIX)),)
  UNITDIR_FPMAKE_LIBTAR=$(PACKAGEDIR_LIBTAR)/units/$(SOURCESUFFIX)
  else
  ifneq ($(wildcard $(PACKAGEDIR_LIBTAR)/units_bs/$(SOURCESUFFIX)),)
  UNITDIR_FPMAKE_LIBTAR=$(PACKAGEDIR_LIBTAR)/units_bs/$(SOURCESUFFIX)
  else
  UNITDIR_FPMAKE_LIBTAR=$(PACKAGEDIR_LIBTAR)
  endif
  endif
  ifdef CHECKDEPEND
  $(PACKAGEDIR_LIBTAR)/$(FPCMADE):
  	$(MAKE) -C $(PACKAGEDIR_LIBTAR) $(FPCMADE)
  override ALLDEPENDENCIES+=$(PACKAGEDIR_LIBTAR)/$(FPCMADE)
  endif
  else
  PACKAGEDIR_LIBTAR=
  UNITDIR_LIBTAR:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /libtar/Package.fpc,$(UNITSDIR)))))
  ifneq ($(UNITDIR_LIBTAR),)
  UNITDIR_LIBTAR:=$(firstword $(UNITDIR_LIBTAR))
  else
  UNITDIR_LIBTAR=
  endif
  endif
  ifdef UNITDIR_LIBTAR
  override COMPILER_UNITDIR+=$(UNITDIR_LIBTAR)
  endif
  ifdef UNITDIR_FPMAKE_LIBTAR
  override COMPILER_FPMAKE_UNITDIR+=$(UNITDIR_FPMAKE_LIBTAR)
  endif
  endif
  ifdef REQUIRE_PACKAGES_FPMKUNIT
  PACKAGEDIR_FPMKUNIT:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /fpmkunit/Makefile.fpc,$(PACKAGESDIR))))))
  ifneq ($(PACKAGEDIR_FPMKUNIT),)
  ifneq ($(wildcard $(PACKAGEDIR_FPMKUNIT)/units/$(TARGETSUFFIX)),)
  UNITDIR_FPMKUNIT=$(PACKAGEDIR_FPMKUNIT)/units/$(TARGETSUFFIX)
  else
  UNITDIR_FPMKUNIT=$(PACKAGEDIR_FPMKUNIT)
  endif
  ifneq ($(wildcard $(PACKAGEDIR_FPMKUNIT)/units/$(SOURCESUFFIX)),)
  UNITDIR_FPMAKE_FPMKUNIT=$(PACKAGEDIR_FPMKUNIT)/units/$(SOURCESUFFIX)
  else
  ifneq ($(wildcard $(PACKAGEDIR_FPMKUNIT)/units_bs/$(SOURCESUFFIX)),)
  UNITDIR_FPMAKE_FPMKUNIT=$(PACKAGEDIR_FPMKUNIT)/units_bs/$(SOURCESUFFIX)
  else
  UNITDIR_FPMAKE_FPMKUNIT=$(PACKAGEDIR_FPMKUNIT)
  endif
  endif
  ifdef CHECKDEPEND
  $(PACKAGEDIR_FPMKUNIT)/$(FPCMADE):
  	$(MAKE) -C $(PACKAGEDIR_FPMKUNIT) $(FPCMADE)
  override ALLDEPENDENCIES+=$(PACKAGEDIR_FPMKUNIT)/$(FPCMADE)
  endif
  else
  PACKAGEDIR_FPMKUNIT=
  UNITDIR_FPMKUNIT:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /fpmkunit/Package.fpc,$(UNITSDIR)))))
  ifneq ($(UNITDIR_FPMKUNIT),)
  UNITDIR_FPMKUNIT:=$(firstword $(UNITDIR_FPMKUNIT))
  else
  UNITDIR_FPMKUNIT=
  endif
  endif
  ifdef UNITDIR_FPMKUNIT
  override COMPILER_UNITDIR+=$(UNITDIR_FPMKUNIT)
  endif
  ifdef UNITDIR_FPMAKE_FPMKUNIT
  override COMPILER_FPMAKE_UNITDIR+=$(UNITDIR_FPMAKE_FPMKUNIT)
  endif
  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)
  endif
  ifneq ($(BINUTILSPREFIX),)
  override FPCOPT+=-Xr$(RLINKPATH)
  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 CREATESHARED
  override FPCOPT+=-Cg
  endif
  ifneq ($(findstring $(OS_TARGET),dragonfly freebsd openbsd netbsd linux solaris),)
  ifneq ($(findstring $(CPU_TARGET),x86_64 mips mipsel),)
  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
  units:
  examples:
  shared:
  sourceinstall: fpc_sourceinstall
  exampleinstall: fpc_exampleinstall
  zipexampleinstall: fpc_zipexampleinstall
  info: fpc_info
  makefiles: fpc_makefiles
  .PHONY: units examples shared sourceinstall exampleinstall zipexampleinstall info makefiles
  ifneq ($(wildcard fpcmake.loc),)
  include fpcmake.loc
  endif
  override FPCOPT:=$(filter-out -FU%,$(FPCOPT))
  override FPCOPT:=$(filter-out -FE%,$(FPCOPT))
  override FPCOPT:=$(filter-out $(addprefix -Fu,$(COMPILER_UNITDIR)),$(FPCOPT))# Compose general fpmake-parameters
  ifdef FPMAKEOPT
  FPMAKE_OPT+=$(FPMAKEOPT)
  endif
  FPMAKE_OPT+=--localunitdir=../..
  FPMAKE_OPT+=--globalunitdir=..
  FPMAKE_OPT+=$(FPC_TARGETOPT)
  FPMAKE_OPT+=$(addprefix -o ,$(FPCOPT))
  FPMAKE_OPT+=--compiler=$(FPC)
  FPMAKE_OPT+=-bu
  .NOTPARALLEL:
  fpmake$(SRCEXEEXT): fpmake.pp
  	$(FPCFPMAKE) fpmake.pp $(FPMAKE_SKIP_CONFIG) $(addprefix -Fu,$(COMPILER_FPMAKE_UNITDIR)) $(FPCMAKEOPT) $(OPT)
  all:	fpmake$(SRCEXEEXT)
  	$(LOCALFPMAKE) compile $(FPMAKE_OPT)
  smart:	fpmake$(SRCEXEEXT)
  	$(LOCALFPMAKE) compile $(FPMAKE_OPT) -o -XX -o -CX
  release:	fpmake$(SRCEXEEXT)
  	$(LOCALFPMAKE) compile $(FPMAKE_OPT) -o -dRELEASE
  debug:	fpmake$(SRCEXEEXT)
  	$(LOCALFPMAKE) compile $(FPMAKE_OPT) -o -dDEBUG
  ifeq ($(FPMAKE_BIN_CLEAN),)
  clean:
  else
  clean:
  	$(FPMAKE_BIN_CLEAN) clean $(FPMAKE_OPT)
  endif
  ifeq ($(FPMAKE_BIN_CLEAN),)
  distclean:	$(addsuffix _distclean,$(TARGET_DIRS)) fpc_cleanall
  else
  distclean:
  ifdef inUnix
  	{ $(FPMAKE_BIN_CLEAN) distclean $(FPMAKE_OPT); if [ $$? != "0" ]; then { echo Something wrong with fpmake exectable. Remove the executable and call make recursively to recover.; $(DEL) $(FPMAKE_BIN_CLEAN); $(MAKE) fpc_cleanall; }; fi;  }
  else
  	$(FPMAKE_BIN_CLEAN) distclean $(FPMAKE_OPT)
  endif
  	-$(DEL) $(LOCALFPMAKE)
  endif
  cleanall: distclean
  install:	fpmake$(SRCEXEEXT)
  ifdef UNIXHier
  	$(LOCALFPMAKE) install $(FPMAKE_OPT) --prefix=$(INSTALL_PREFIX) --baseinstalldir=$(INSTALL_LIBDIR)/fpc/$(FPC_VERSION) --unitinstalldir=$(INSTALL_UNITDIR)
  else
  	$(LOCALFPMAKE) install $(FPMAKE_OPT) --prefix=$(INSTALL_BASEDIR) --baseinstalldir=$(INSTALL_BASEDIR) --unitinstalldir=$(INSTALL_UNITDIR)
  endif
  distinstall:	fpmake$(SRCEXEEXT)
  ifdef UNIXHier
  	$(LOCALFPMAKE) install $(FPMAKE_OPT) --prefix=$(INSTALL_PREFIX) --baseinstalldir=$(INSTALL_LIBDIR)/fpc/$(FPC_VERSION) --unitinstalldir=$(INSTALL_UNITDIR) -ie -fsp 0
  else
  	$(LOCALFPMAKE) install $(FPMAKE_OPT) --prefix=$(INSTALL_BASEDIR) --baseinstalldir=$(INSTALL_BASEDIR) --unitinstalldir=$(INSTALL_UNITDIR) -ie -fsp 0
  endif
  zipinstall:	fpmake$(SRCEXEEXT)
  	$(LOCALFPMAKE) zipinstall $(FPMAKE_OPT) --zipprefix=$(DIST_DESTDIR)/$(ZIPPREFIX)
  zipdistinstall:	fpmake$(SRCEXEEXT)
  	$(LOCALFPMAKE) zipinstall $(FPMAKE_OPT) --zipprefix=$(DIST_DESTDIR)/$(ZIPPREFIX) -ie -fsp 0
  zipsourceinstall:	fpmake$(SRCEXEEXT)
  ifdef UNIXHier
  	$(LOCALFPMAKE) archive $(FPMAKE_OPT) --zipprefix=$(DIST_DESTDIR)/$(ZIPPREFIX) --prefix=share/src/fpc-\$$\(PACKAGEVERSION\)/$(INSTALL_FPCSUBDIR)/\$$\(PACKAGEDIRECTORY\)
  else
  	$(LOCALFPMAKE) archive $(FPMAKE_OPT) --zipprefix=$(DIST_DESTDIR)/$(ZIPPREFIX) --prefix=source\\$(INSTALL_FPCSUBDIR)\\\$$\(PACKAGEDIRECTORY\)
  endif
  