PageRenderTime 90ms CodeModel.GetById 15ms app.highlight 60ms RepoModel.GetById 1ms app.codeStats 0ms

/packages/matroska/Makefile

https://github.com/slibre/freepascal
Makefile | 2239 lines | 2236 code | 0 blank | 3 comment | 9 complexity | 045f0740a99254c9b6a7a41d672d867c MD5 | raw file
Possible License(s): LGPL-2.0, LGPL-2.1, LGPL-3.0
   1#
   2# Don't edit, this file is generated by FPCMake Version 2.0.0 [2012/08/17]
   3#
   4default: all
   5MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux jvm-java jvm-android
   6BSDs = freebsd netbsd openbsd darwin
   7UNIXs = linux $(BSDs) solaris qnx haiku aix
   8LIMIT83fs = go32v2 os2 emx watcom
   9OSNeedsComspecToRunBatch = go32v2 watcom
  10FORCE:
  11.PHONY: FORCE
  12override PATH:=$(patsubst %/,%,$(subst \,/,$(PATH)))
  13ifneq ($(findstring darwin,$(OSTYPE)),)
  14inUnix=1 #darwin
  15SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
  16else
  17ifeq ($(findstring ;,$(PATH)),)
  18inUnix=1
  19SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
  20else
  21SEARCHPATH:=$(subst ;, ,$(PATH))
  22endif
  23endif
  24SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
  25PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
  26ifeq ($(PWD),)
  27PWD:=$(strip $(wildcard $(addsuffix /pwd,$(SEARCHPATH))))
  28ifeq ($(PWD),)
  29$(error You need the GNU utils package to use this Makefile)
  30else
  31PWD:=$(firstword $(PWD))
  32SRCEXEEXT=
  33endif
  34else
  35PWD:=$(firstword $(PWD))
  36SRCEXEEXT=.exe
  37endif
  38ifndef inUnix
  39ifeq ($(OS),Windows_NT)
  40inWinNT=1
  41else
  42ifdef OS2_SHELL
  43inOS2=1
  44endif
  45endif
  46else
  47ifneq ($(findstring cygdrive,$(PATH)),)
  48inCygWin=1
  49endif
  50endif
  51ifdef inUnix
  52SRCBATCHEXT=.sh
  53else
  54ifdef inOS2
  55SRCBATCHEXT=.cmd
  56else
  57SRCBATCHEXT=.bat
  58endif
  59endif
  60ifdef COMSPEC
  61ifneq ($(findstring $(OS_SOURCE),$(OSNeedsComspecToRunBatch)),)
  62ifndef RUNBATCH
  63RUNBATCH=$(COMSPEC) /C
  64endif
  65endif
  66endif
  67ifdef inUnix
  68PATHSEP=/
  69else
  70PATHSEP:=$(subst /,\,/)
  71ifdef inCygWin
  72PATHSEP=/
  73endif
  74endif
  75ifdef PWD
  76BASEDIR:=$(subst \,/,$(shell $(PWD)))
  77ifdef inCygWin
  78ifneq ($(findstring /cygdrive/,$(BASEDIR)),)
  79BASENODIR:=$(patsubst /cygdrive%,%,$(BASEDIR))
  80BASEDRIVE:=$(firstword $(subst /, ,$(BASENODIR)))
  81BASEDIR:=$(subst /cygdrive/$(BASEDRIVE)/,$(BASEDRIVE):/,$(BASEDIR))
  82endif
  83endif
  84else
  85BASEDIR=.
  86endif
  87ifdef inOS2
  88ifndef ECHO
  89ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
  90ifeq ($(ECHO),)
  91ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
  92ifeq ($(ECHO),)
  93ECHO=echo
  94else
  95ECHO:=$(firstword $(ECHO))
  96endif
  97else
  98ECHO:=$(firstword $(ECHO))
  99endif
 100endif
 101export ECHO
 102endif
 103override DEFAULT_FPCDIR=../..
 104ifndef FPC
 105ifdef PP
 106FPC=$(PP)
 107endif
 108endif
 109ifndef FPC
 110FPCPROG:=$(strip $(wildcard $(addsuffix /fpc$(SRCEXEEXT),$(SEARCHPATH))))
 111ifneq ($(FPCPROG),)
 112FPCPROG:=$(firstword $(FPCPROG))
 113ifneq ($(CPU_TARGET),)
 114FPC:=$(shell $(FPCPROG) -P$(CPU_TARGET) -PB)
 115else
 116FPC:=$(shell $(FPCPROG) -PB)
 117endif
 118ifneq ($(findstring Error,$(FPC)),)
 119override FPC=$(firstword $(strip $(wildcard $(addsuffix /ppc386$(SRCEXEEXT),$(SEARCHPATH)))))
 120else
 121ifeq ($(strip $(wildcard $(FPC))),)
 122FPC:=$(firstword $(FPCPROG))
 123endif
 124endif
 125else
 126override FPC=$(firstword $(strip $(wildcard $(addsuffix /ppc386$(SRCEXEEXT),$(SEARCHPATH)))))
 127endif
 128endif
 129override FPC:=$(subst $(SRCEXEEXT),,$(FPC))
 130override FPC:=$(subst \,/,$(FPC))$(SRCEXEEXT)
 131FOUNDFPC:=$(strip $(wildcard $(FPC)))
 132ifeq ($(FOUNDFPC),)
 133FOUNDFPC=$(strip $(wildcard $(addsuffix /$(FPC),$(SEARCHPATH))))
 134ifeq ($(FOUNDFPC),)
 135$(error Compiler $(FPC) not found)
 136endif
 137endif
 138ifndef FPC_COMPILERINFO
 139FPC_COMPILERINFO:=$(shell $(FPC) -iVSPTPSOTO)
 140endif
 141ifndef FPC_VERSION
 142FPC_VERSION:=$(word 1,$(FPC_COMPILERINFO))
 143endif
 144export FPC FPC_VERSION FPC_COMPILERINFO
 145unexport CHECKDEPEND ALLDEPENDENCIES
 146ifndef CPU_TARGET
 147ifdef CPU_TARGET_DEFAULT
 148CPU_TARGET=$(CPU_TARGET_DEFAULT)
 149endif
 150endif
 151ifndef OS_TARGET
 152ifdef OS_TARGET_DEFAULT
 153OS_TARGET=$(OS_TARGET_DEFAULT)
 154endif
 155endif
 156ifndef CPU_SOURCE
 157CPU_SOURCE:=$(word 2,$(FPC_COMPILERINFO))
 158endif
 159ifndef CPU_TARGET
 160CPU_TARGET:=$(word 3,$(FPC_COMPILERINFO))
 161endif
 162ifndef OS_SOURCE
 163OS_SOURCE:=$(word 4,$(FPC_COMPILERINFO))
 164endif
 165ifndef OS_TARGET
 166OS_TARGET:=$(word 5,$(FPC_COMPILERINFO))
 167endif
 168FULL_TARGET=$(CPU_TARGET)-$(OS_TARGET)
 169FULL_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE)
 170ifeq ($(CPU_TARGET),armeb)
 171ARCH=arm
 172override FPCOPT+=-Cb
 173else
 174ifeq ($(CPU_TARGET),armel)
 175ARCH=arm
 176override FPCOPT+=-CaEABI
 177else
 178ARCH=$(CPU_TARGET)
 179endif
 180endif
 181ifeq ($(FULL_TARGET),arm-embedded)
 182ifeq ($(SUBARCH),)
 183$(error When compiling for arm-embedded, a sub-architecture (e.g. SUBARCH=armv4t or SUBARCH=armv7m) must be defined)
 184endif
 185override FPCOPT+=-Cp$(SUBARCH)
 186endif
 187ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 188TARGETSUFFIX=$(OS_TARGET)
 189SOURCESUFFIX=$(OS_SOURCE)
 190else
 191ifneq ($(findstring $(OS_TARGET),$(LIMIT83fs)),)
 192TARGETSUFFIX=$(OS_TARGET)
 193else
 194TARGETSUFFIX=$(FULL_TARGET)
 195endif
 196SOURCESUFFIX=$(FULL_SOURCE)
 197endif
 198ifneq ($(FULL_TARGET),$(FULL_SOURCE))
 199CROSSCOMPILE=1
 200endif
 201ifeq ($(findstring makefile,$(MAKECMDGOALS)),)
 202ifeq ($(findstring $(FULL_TARGET),$(MAKEFILETARGETS)),)
 203$(error The Makefile doesn't support target $(FULL_TARGET), please run fpcmake first)
 204endif
 205endif
 206ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
 207BSDhier=1
 208endif
 209ifeq ($(OS_TARGET),linux)
 210linuxHier=1
 211endif
 212export OS_TARGET OS_SOURCE ARCH CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE TARGETSUFFIX SOURCESUFFIX CROSSCOMPILE
 213ifdef FPCDIR
 214override FPCDIR:=$(subst \,/,$(FPCDIR))
 215ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
 216override FPCDIR=wrong
 217endif
 218else
 219override FPCDIR=wrong
 220endif
 221ifdef DEFAULT_FPCDIR
 222ifeq ($(FPCDIR),wrong)
 223override FPCDIR:=$(subst \,/,$(DEFAULT_FPCDIR))
 224ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
 225override FPCDIR=wrong
 226endif
 227endif
 228endif
 229ifeq ($(FPCDIR),wrong)
 230ifdef inUnix
 231override FPCDIR=/usr/local/lib/fpc/$(FPC_VERSION)
 232ifeq ($(wildcard $(FPCDIR)/units),)
 233override FPCDIR=/usr/lib/fpc/$(FPC_VERSION)
 234endif
 235else
 236override FPCDIR:=$(subst /$(FPC),,$(firstword $(strip $(wildcard $(addsuffix /$(FPC),$(SEARCHPATH))))))
 237override FPCDIR:=$(FPCDIR)/..
 238ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
 239override FPCDIR:=$(FPCDIR)/..
 240ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
 241override FPCDIR:=$(BASEDIR)
 242ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
 243override FPCDIR=c:/pp
 244endif
 245endif
 246endif
 247endif
 248endif
 249ifndef CROSSBINDIR
 250CROSSBINDIR:=$(wildcard $(FPCDIR)/bin/$(TARGETSUFFIX))
 251endif
 252ifneq ($(findstring $(OS_TARGET),darwin iphonesim),)
 253ifeq ($(OS_SOURCE),darwin)
 254DARWIN2DARWIN=1
 255endif
 256endif
 257ifndef BINUTILSPREFIX
 258ifndef CROSSBINDIR
 259ifdef CROSSCOMPILE
 260ifndef DARWIN2DARWIN
 261ifneq ($(CPU_TARGET),jvm)
 262BINUTILSPREFIX=$(CPU_TARGET)-$(OS_TARGET)-
 263endif
 264endif
 265endif
 266endif
 267endif
 268UNITSDIR:=$(wildcard $(FPCDIR)/units/$(TARGETSUFFIX))
 269ifeq ($(UNITSDIR),)
 270UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET))
 271endif
 272PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages $(FPCDIR)/packages/base $(FPCDIR)/packages/extra)
 273ifndef FPCFPMAKE
 274ifdef CROSSCOMPILE
 275ifeq ($(strip $(wildcard $(addsuffix /compiler/ppc$(SRCEXEEXT),$(FPCDIR)))),)
 276FPCPROG:=$(strip $(wildcard $(addsuffix /fpc$(SRCEXEEXT),$(SEARCHPATH))))
 277ifneq ($(FPCPROG),)
 278FPCPROG:=$(firstword $(FPCPROG))
 279FPCFPMAKE:=$(shell $(FPCPROG) -PB)
 280ifeq ($(strip $(wildcard $(FPCFPMAKE))),)
 281FPCFPMAKE:=$(firstword $(FPCPROG))
 282endif
 283else
 284override FPCFPMAKE=$(firstword $(strip $(wildcard $(addsuffix /ppc386$(SRCEXEEXT),$(SEARCHPATH)))))
 285endif
 286else
 287FPCFPMAKE=$(strip $(wildcard $(addsuffix /compiler/ppc$(SRCEXEEXT),$(FPCDIR))))
 288FPMAKE_SKIP_CONFIG=-n
 289export FPCFPMAKE
 290export FPMAKE_SKIP_CONFIG
 291endif
 292else
 293FPMAKE_SKIP_CONFIG=-n
 294FPCFPMAKE=$(FPC)
 295endif
 296endif
 297override PACKAGE_NAME=matroska
 298override PACKAGE_VERSION=2.7.1
 299FPMAKE_BIN_CLEAN=$(wildcard .$(PATHSEP)fpmake$(SRCEXEEXT))
 300ifdef OS_TARGET
 301FPC_TARGETOPT+=--os=$(OS_TARGET)
 302endif
 303ifdef CPU_TARGET
 304FPC_TARGETOPT+=--cpu=$(CPU_TARGET)
 305endif
 306LOCALFPMAKE=.$(PATHSEP)fpmake$(SRCEXEEXT)
 307override INSTALL_FPCPACKAGE=y
 308ifdef REQUIRE_UNITSDIR
 309override UNITSDIR+=$(REQUIRE_UNITSDIR)
 310endif
 311ifdef REQUIRE_PACKAGESDIR
 312override PACKAGESDIR+=$(REQUIRE_PACKAGESDIR)
 313endif
 314ifdef ZIPINSTALL
 315ifneq ($(findstring $(OS_TARGET),$(UNIXs)),)
 316UNIXHier=1
 317endif
 318else
 319ifneq ($(findstring $(OS_SOURCE),$(UNIXs)),)
 320UNIXHier=1
 321endif
 322endif
 323ifndef INSTALL_PREFIX
 324ifdef PREFIX
 325INSTALL_PREFIX=$(PREFIX)
 326endif
 327endif
 328ifndef INSTALL_PREFIX
 329ifdef UNIXHier
 330INSTALL_PREFIX=/usr/local
 331else
 332ifdef INSTALL_FPCPACKAGE
 333INSTALL_BASEDIR:=/pp
 334else
 335INSTALL_BASEDIR:=/$(PACKAGE_NAME)
 336endif
 337endif
 338endif
 339export INSTALL_PREFIX
 340ifdef INSTALL_FPCSUBDIR
 341export INSTALL_FPCSUBDIR
 342endif
 343ifndef DIST_DESTDIR
 344DIST_DESTDIR:=$(BASEDIR)
 345endif
 346export DIST_DESTDIR
 347ifndef COMPILER_UNITTARGETDIR
 348ifdef PACKAGEDIR_MAIN
 349COMPILER_UNITTARGETDIR=$(PACKAGEDIR_MAIN)/units/$(TARGETSUFFIX)
 350else
 351COMPILER_UNITTARGETDIR=units/$(TARGETSUFFIX)
 352endif
 353endif
 354ifndef COMPILER_TARGETDIR
 355COMPILER_TARGETDIR=.
 356endif
 357ifndef INSTALL_BASEDIR
 358ifdef UNIXHier
 359ifdef INSTALL_FPCPACKAGE
 360INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 361else
 362INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/$(PACKAGE_NAME)
 363endif
 364else
 365INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 366endif
 367endif
 368ifndef INSTALL_BINDIR
 369ifdef UNIXHier
 370INSTALL_BINDIR:=$(INSTALL_PREFIX)/bin
 371else
 372INSTALL_BINDIR:=$(INSTALL_BASEDIR)/bin
 373ifdef INSTALL_FPCPACKAGE
 374ifdef CROSSCOMPILE
 375ifdef CROSSINSTALL
 376INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(SOURCESUFFIX)
 377else
 378INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(TARGETSUFFIX)
 379endif
 380else
 381INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(TARGETSUFFIX)
 382endif
 383endif
 384endif
 385endif
 386ifndef INSTALL_UNITDIR
 387INSTALL_UNITDIR:=$(INSTALL_BASEDIR)/units/$(TARGETSUFFIX)
 388ifdef INSTALL_FPCPACKAGE
 389ifdef PACKAGE_NAME
 390INSTALL_UNITDIR:=$(INSTALL_UNITDIR)/$(PACKAGE_NAME)
 391endif
 392endif
 393endif
 394ifndef INSTALL_LIBDIR
 395ifdef UNIXHier
 396INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 397else
 398INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 399endif
 400endif
 401ifndef INSTALL_SOURCEDIR
 402ifdef UNIXHier
 403ifdef BSDhier
 404SRCPREFIXDIR=share/src
 405else
 406ifdef linuxHier
 407SRCPREFIXDIR=share/src
 408else
 409SRCPREFIXDIR=src
 410endif
 411endif
 412ifdef INSTALL_FPCPACKAGE
 413ifdef INSTALL_FPCSUBDIR
 414INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
 415else
 416INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 417endif
 418else
 419INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 420endif
 421else
 422ifdef INSTALL_FPCPACKAGE
 423ifdef INSTALL_FPCSUBDIR
 424INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
 425else
 426INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(PACKAGE_NAME)
 427endif
 428else
 429INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source
 430endif
 431endif
 432endif
 433ifndef INSTALL_DOCDIR
 434ifdef UNIXHier
 435ifdef BSDhier
 436DOCPREFIXDIR=share/doc
 437else
 438ifdef linuxHier
 439DOCPREFIXDIR=share/doc
 440else
 441DOCPREFIXDIR=doc
 442endif
 443endif
 444ifdef INSTALL_FPCPACKAGE
 445INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 446else
 447INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 448endif
 449else
 450ifdef INSTALL_FPCPACKAGE
 451INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc/$(PACKAGE_NAME)
 452else
 453INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc
 454endif
 455endif
 456endif
 457ifndef INSTALL_EXAMPLEDIR
 458ifdef UNIXHier
 459ifdef INSTALL_FPCPACKAGE
 460ifdef BSDhier
 461INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 462else
 463ifdef linuxHier
 464INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples
 465else
 466INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 467endif
 468endif
 469else
 470ifdef BSDhier
 471INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 472else
 473ifdef linuxHier
 474INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 475else
 476INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 477endif
 478endif
 479endif
 480else
 481ifdef INSTALL_FPCPACKAGE
 482INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
 483else
 484INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples
 485endif
 486endif
 487endif
 488ifndef INSTALL_DATADIR
 489INSTALL_DATADIR=$(INSTALL_BASEDIR)
 490endif
 491ifndef INSTALL_SHAREDDIR
 492INSTALL_SHAREDDIR=$(INSTALL_PREFIX)/lib
 493endif
 494ifdef CROSSCOMPILE
 495ifndef CROSSBINDIR
 496CROSSBINDIR:=$(wildcard $(CROSSTARGETDIR)/bin/$(SOURCESUFFIX))
 497ifeq ($(CROSSBINDIR),)
 498CROSSBINDIR:=$(wildcard $(INSTALL_BASEDIR)/cross/$(TARGETSUFFIX)/bin/$(FULL_SOURCE))
 499endif
 500endif
 501else
 502CROSSBINDIR=
 503endif
 504BATCHEXT=.bat
 505LOADEREXT=.as
 506EXEEXT=.exe
 507PPLEXT=.ppl
 508PPUEXT=.ppu
 509OEXT=.o
 510ASMEXT=.s
 511SMARTEXT=.sl
 512STATICLIBEXT=.a
 513SHAREDLIBEXT=.so
 514SHAREDLIBPREFIX=libfp
 515STATICLIBPREFIX=libp
 516IMPORTLIBPREFIX=libimp
 517RSTEXT=.rst
 518EXEDBGEXT=.dbg
 519ifeq ($(OS_TARGET),go32v1)
 520STATICLIBPREFIX=
 521SHORTSUFFIX=v1
 522endif
 523ifeq ($(OS_TARGET),go32v2)
 524STATICLIBPREFIX=
 525SHORTSUFFIX=dos
 526IMPORTLIBPREFIX=
 527endif
 528ifeq ($(OS_TARGET),watcom)
 529STATICLIBPREFIX=
 530OEXT=.obj
 531ASMEXT=.asm
 532SHAREDLIBEXT=.dll
 533SHORTSUFFIX=wat
 534IMPORTLIBPREFIX=
 535endif
 536ifeq ($(OS_TARGET),linux)
 537BATCHEXT=.sh
 538EXEEXT=
 539HASSHAREDLIB=1
 540SHORTSUFFIX=lnx
 541endif
 542ifeq ($(OS_TARGET),freebsd)
 543BATCHEXT=.sh
 544EXEEXT=
 545HASSHAREDLIB=1
 546SHORTSUFFIX=fbs
 547endif
 548ifeq ($(OS_TARGET),netbsd)
 549BATCHEXT=.sh
 550EXEEXT=
 551HASSHAREDLIB=1
 552SHORTSUFFIX=nbs
 553endif
 554ifeq ($(OS_TARGET),openbsd)
 555BATCHEXT=.sh
 556EXEEXT=
 557HASSHAREDLIB=1
 558SHORTSUFFIX=obs
 559endif
 560ifeq ($(OS_TARGET),win32)
 561SHAREDLIBEXT=.dll
 562SHORTSUFFIX=w32
 563endif
 564ifeq ($(OS_TARGET),os2)
 565BATCHEXT=.cmd
 566AOUTEXT=.out
 567STATICLIBPREFIX=
 568SHAREDLIBEXT=.dll
 569SHORTSUFFIX=os2
 570ECHO=echo
 571IMPORTLIBPREFIX=
 572endif
 573ifeq ($(OS_TARGET),emx)
 574BATCHEXT=.cmd
 575AOUTEXT=.out
 576STATICLIBPREFIX=
 577SHAREDLIBEXT=.dll
 578SHORTSUFFIX=emx
 579ECHO=echo
 580IMPORTLIBPREFIX=
 581endif
 582ifeq ($(OS_TARGET),amiga)
 583EXEEXT=
 584SHAREDLIBEXT=.library
 585SHORTSUFFIX=amg
 586endif
 587ifeq ($(OS_TARGET),morphos)
 588EXEEXT=
 589SHAREDLIBEXT=.library
 590SHORTSUFFIX=mos
 591endif
 592ifeq ($(OS_TARGET),atari)
 593EXEEXT=.ttp
 594SHORTSUFFIX=ata
 595endif
 596ifeq ($(OS_TARGET),beos)
 597BATCHEXT=.sh
 598EXEEXT=
 599SHORTSUFFIX=be
 600endif
 601ifeq ($(OS_TARGET),haiku)
 602BATCHEXT=.sh
 603EXEEXT=
 604SHORTSUFFIX=hai
 605endif
 606ifeq ($(OS_TARGET),solaris)
 607BATCHEXT=.sh
 608EXEEXT=
 609SHORTSUFFIX=sun
 610endif
 611ifeq ($(OS_TARGET),qnx)
 612BATCHEXT=.sh
 613EXEEXT=
 614SHORTSUFFIX=qnx
 615endif
 616ifeq ($(OS_TARGET),netware)
 617EXEEXT=.nlm
 618STATICLIBPREFIX=
 619SHORTSUFFIX=nw
 620IMPORTLIBPREFIX=imp
 621endif
 622ifeq ($(OS_TARGET),netwlibc)
 623EXEEXT=.nlm
 624STATICLIBPREFIX=
 625SHORTSUFFIX=nwl
 626IMPORTLIBPREFIX=imp
 627endif
 628ifeq ($(OS_TARGET),macos)
 629BATCHEXT=
 630EXEEXT=
 631DEBUGSYMEXT=.xcoff
 632SHORTSUFFIX=mac
 633IMPORTLIBPREFIX=imp
 634endif
 635ifneq ($(findstring $(OS_TARGET),darwin iphonesim),)
 636BATCHEXT=.sh
 637EXEEXT=
 638HASSHAREDLIB=1
 639SHORTSUFFIX=dwn
 640EXEDBGEXT=.dSYM
 641endif
 642ifeq ($(OS_TARGET),gba)
 643EXEEXT=.gba
 644SHAREDLIBEXT=.so
 645SHORTSUFFIX=gba
 646endif
 647ifeq ($(OS_TARGET),symbian)
 648SHAREDLIBEXT=.dll
 649SHORTSUFFIX=symbian
 650endif
 651ifeq ($(OS_TARGET),NativeNT)
 652SHAREDLIBEXT=.dll
 653SHORTSUFFIX=nativent
 654endif
 655ifeq ($(OS_TARGET),wii)
 656EXEEXT=.dol
 657SHAREDLIBEXT=.so
 658SHORTSUFFIX=wii
 659endif
 660ifeq ($(OS_TARGET),aix)
 661BATCHEXT=.sh
 662EXEEXT=
 663SHORTSUFFIX=aix
 664endif
 665ifeq ($(OS_TARGET),java)
 666OEXT=.class
 667ASMEXT=.j
 668SHAREDLIBEXT=.jar
 669SHORTSUFFIX=java
 670endif
 671ifeq ($(OS_TARGET),android)
 672OEXT=.class
 673ASMEXT=.j
 674SHAREDLIBEXT=.jar
 675SHORTSUFFIX=android
 676endif
 677ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 678FPCMADE=fpcmade.$(SHORTSUFFIX)
 679ZIPSUFFIX=$(SHORTSUFFIX)
 680ZIPCROSSPREFIX=
 681ZIPSOURCESUFFIX=src
 682ZIPEXAMPLESUFFIX=exm
 683else
 684FPCMADE=fpcmade.$(TARGETSUFFIX)
 685ZIPSOURCESUFFIX=.source
 686ZIPEXAMPLESUFFIX=.examples
 687ifdef CROSSCOMPILE
 688ZIPSUFFIX=.$(SOURCESUFFIX)
 689ZIPCROSSPREFIX=$(TARGETSUFFIX)-
 690else
 691ZIPSUFFIX=.$(TARGETSUFFIX)
 692ZIPCROSSPREFIX=
 693endif
 694endif
 695ifndef ECHO
 696ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 697ifeq ($(ECHO),)
 698ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 699ifeq ($(ECHO),)
 700ECHO= __missing_command_ECHO
 701else
 702ECHO:=$(firstword $(ECHO))
 703endif
 704else
 705ECHO:=$(firstword $(ECHO))
 706endif
 707endif
 708export ECHO
 709ifndef DATE
 710DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 711ifeq ($(DATE),)
 712DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 713ifeq ($(DATE),)
 714DATE= __missing_command_DATE
 715else
 716DATE:=$(firstword $(DATE))
 717endif
 718else
 719DATE:=$(firstword $(DATE))
 720endif
 721endif
 722export DATE
 723ifndef GINSTALL
 724GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 725ifeq ($(GINSTALL),)
 726GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 727ifeq ($(GINSTALL),)
 728GINSTALL= __missing_command_GINSTALL
 729else
 730GINSTALL:=$(firstword $(GINSTALL))
 731endif
 732else
 733GINSTALL:=$(firstword $(GINSTALL))
 734endif
 735endif
 736export GINSTALL
 737ifndef CPPROG
 738CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 739ifeq ($(CPPROG),)
 740CPPROG= __missing_command_CPPROG
 741else
 742CPPROG:=$(firstword $(CPPROG))
 743endif
 744endif
 745export CPPROG
 746ifndef RMPROG
 747RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 748ifeq ($(RMPROG),)
 749RMPROG= __missing_command_RMPROG
 750else
 751RMPROG:=$(firstword $(RMPROG))
 752endif
 753endif
 754export RMPROG
 755ifndef MVPROG
 756MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 757ifeq ($(MVPROG),)
 758MVPROG= __missing_command_MVPROG
 759else
 760MVPROG:=$(firstword $(MVPROG))
 761endif
 762endif
 763export MVPROG
 764ifndef MKDIRPROG
 765MKDIRPROG:=$(strip $(wildcard $(addsuffix /gmkdir$(SRCEXEEXT),$(SEARCHPATH))))
 766ifeq ($(MKDIRPROG),)
 767MKDIRPROG:=$(strip $(wildcard $(addsuffix /mkdir$(SRCEXEEXT),$(SEARCHPATH))))
 768ifeq ($(MKDIRPROG),)
 769MKDIRPROG= __missing_command_MKDIRPROG
 770else
 771MKDIRPROG:=$(firstword $(MKDIRPROG))
 772endif
 773else
 774MKDIRPROG:=$(firstword $(MKDIRPROG))
 775endif
 776endif
 777export MKDIRPROG
 778ifndef ECHOREDIR
 779ifndef inUnix
 780ECHOREDIR=echo
 781else
 782ECHOREDIR=$(ECHO)
 783endif
 784endif
 785ifndef COPY
 786COPY:=$(CPPROG) -fp
 787endif
 788ifndef COPYTREE
 789COPYTREE:=$(CPPROG) -Rfp
 790endif
 791ifndef MKDIRTREE
 792MKDIRTREE:=$(MKDIRPROG) -p
 793endif
 794ifndef MOVE
 795MOVE:=$(MVPROG) -f
 796endif
 797ifndef DEL
 798DEL:=$(RMPROG) -f
 799endif
 800ifndef DELTREE
 801DELTREE:=$(RMPROG) -rf
 802endif
 803ifndef INSTALL
 804ifdef inUnix
 805INSTALL:=$(GINSTALL) -c -m 644
 806else
 807INSTALL:=$(COPY)
 808endif
 809endif
 810ifndef INSTALLEXE
 811ifdef inUnix
 812INSTALLEXE:=$(GINSTALL) -c -m 755
 813else
 814INSTALLEXE:=$(COPY)
 815endif
 816endif
 817ifndef MKDIR
 818MKDIR:=$(GINSTALL) -m 755 -d
 819endif
 820export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 821ifndef PPUMOVE
 822PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 823ifeq ($(PPUMOVE),)
 824PPUMOVE= __missing_command_PPUMOVE
 825else
 826PPUMOVE:=$(firstword $(PPUMOVE))
 827endif
 828endif
 829export PPUMOVE
 830ifndef FPCMAKE
 831FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 832ifeq ($(FPCMAKE),)
 833FPCMAKE= __missing_command_FPCMAKE
 834else
 835FPCMAKE:=$(firstword $(FPCMAKE))
 836endif
 837endif
 838export FPCMAKE
 839ifndef ZIPPROG
 840ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 841ifeq ($(ZIPPROG),)
 842ZIPPROG= __missing_command_ZIPPROG
 843else
 844ZIPPROG:=$(firstword $(ZIPPROG))
 845endif
 846endif
 847export ZIPPROG
 848ifndef TARPROG
 849TARPROG:=$(strip $(wildcard $(addsuffix /gtar$(SRCEXEEXT),$(SEARCHPATH))))
 850ifeq ($(TARPROG),)
 851TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 852ifeq ($(TARPROG),)
 853TARPROG= __missing_command_TARPROG
 854else
 855TARPROG:=$(firstword $(TARPROG))
 856endif
 857else
 858TARPROG:=$(firstword $(TARPROG))
 859endif
 860endif
 861export TARPROG
 862ASNAME=$(BINUTILSPREFIX)as
 863LDNAME=$(BINUTILSPREFIX)ld
 864ARNAME=$(BINUTILSPREFIX)ar
 865RCNAME=$(BINUTILSPREFIX)rc
 866ifndef ASPROG
 867ifdef CROSSBINDIR
 868ASPROG=$(CROSSBINDIR)/$(ASNAME)$(SRCEXEEXT)
 869else
 870ASPROG=$(ASNAME)
 871endif
 872endif
 873ifndef LDPROG
 874ifdef CROSSBINDIR
 875LDPROG=$(CROSSBINDIR)/$(LDNAME)$(SRCEXEEXT)
 876else
 877LDPROG=$(LDNAME)
 878endif
 879endif
 880ifndef RCPROG
 881ifdef CROSSBINDIR
 882RCPROG=$(CROSSBINDIR)/$(RCNAME)$(SRCEXEEXT)
 883else
 884RCPROG=$(RCNAME)
 885endif
 886endif
 887ifndef ARPROG
 888ifdef CROSSBINDIR
 889ARPROG=$(CROSSBINDIR)/$(ARNAME)$(SRCEXEEXT)
 890else
 891ARPROG=$(ARNAME)
 892endif
 893endif
 894AS=$(ASPROG)
 895LD=$(LDPROG)
 896RC=$(RCPROG)
 897AR=$(ARPROG)
 898PPAS=ppas$(SRCBATCHEXT)
 899ifdef inUnix
 900LDCONFIG=ldconfig
 901else
 902LDCONFIG=
 903endif
 904ifdef DATE
 905DATESTR:=$(shell $(DATE) +%Y%m%d)
 906else
 907DATESTR=
 908endif
 909ZIPOPT=-9
 910ZIPEXT=.zip
 911ifeq ($(USETAR),bz2)
 912TAROPT=vj
 913TAREXT=.tar.bz2
 914else
 915TAROPT=vz
 916TAREXT=.tar.gz
 917endif
 918override REQUIRE_PACKAGES=rtl fpmkunit
 919ifeq ($(FULL_TARGET),i386-linux)
 920REQUIRE_PACKAGES_RTL=1
 921REQUIRE_PACKAGES_PASZLIB=1
 922REQUIRE_PACKAGES_FCL-PROCESS=1
 923REQUIRE_PACKAGES_HASH=1
 924REQUIRE_PACKAGES_FPMKUNIT=1
 925endif
 926ifeq ($(FULL_TARGET),i386-go32v2)
 927REQUIRE_PACKAGES_RTL=1
 928REQUIRE_PACKAGES_PASZLIB=1
 929REQUIRE_PACKAGES_FCL-PROCESS=1
 930REQUIRE_PACKAGES_HASH=1
 931REQUIRE_PACKAGES_FPMKUNIT=1
 932endif
 933ifeq ($(FULL_TARGET),i386-win32)
 934REQUIRE_PACKAGES_RTL=1
 935REQUIRE_PACKAGES_PASZLIB=1
 936REQUIRE_PACKAGES_FCL-PROCESS=1
 937REQUIRE_PACKAGES_HASH=1
 938REQUIRE_PACKAGES_FPMKUNIT=1
 939endif
 940ifeq ($(FULL_TARGET),i386-os2)
 941REQUIRE_PACKAGES_RTL=1
 942REQUIRE_PACKAGES_PASZLIB=1
 943REQUIRE_PACKAGES_FCL-PROCESS=1
 944REQUIRE_PACKAGES_HASH=1
 945REQUIRE_PACKAGES_FPMKUNIT=1
 946endif
 947ifeq ($(FULL_TARGET),i386-freebsd)
 948REQUIRE_PACKAGES_RTL=1
 949REQUIRE_PACKAGES_PASZLIB=1
 950REQUIRE_PACKAGES_FCL-PROCESS=1
 951REQUIRE_PACKAGES_HASH=1
 952REQUIRE_PACKAGES_FPMKUNIT=1
 953endif
 954ifeq ($(FULL_TARGET),i386-beos)
 955REQUIRE_PACKAGES_RTL=1
 956REQUIRE_PACKAGES_PASZLIB=1
 957REQUIRE_PACKAGES_FCL-PROCESS=1
 958REQUIRE_PACKAGES_HASH=1
 959REQUIRE_PACKAGES_FPMKUNIT=1
 960endif
 961ifeq ($(FULL_TARGET),i386-haiku)
 962REQUIRE_PACKAGES_RTL=1
 963REQUIRE_PACKAGES_PASZLIB=1
 964REQUIRE_PACKAGES_FCL-PROCESS=1
 965REQUIRE_PACKAGES_HASH=1
 966REQUIRE_PACKAGES_FPMKUNIT=1
 967endif
 968ifeq ($(FULL_TARGET),i386-netbsd)
 969REQUIRE_PACKAGES_RTL=1
 970REQUIRE_PACKAGES_PASZLIB=1
 971REQUIRE_PACKAGES_FCL-PROCESS=1
 972REQUIRE_PACKAGES_HASH=1
 973REQUIRE_PACKAGES_FPMKUNIT=1
 974endif
 975ifeq ($(FULL_TARGET),i386-solaris)
 976REQUIRE_PACKAGES_RTL=1
 977REQUIRE_PACKAGES_PASZLIB=1
 978REQUIRE_PACKAGES_FCL-PROCESS=1
 979REQUIRE_PACKAGES_HASH=1
 980REQUIRE_PACKAGES_FPMKUNIT=1
 981endif
 982ifeq ($(FULL_TARGET),i386-qnx)
 983REQUIRE_PACKAGES_RTL=1
 984REQUIRE_PACKAGES_PASZLIB=1
 985REQUIRE_PACKAGES_FCL-PROCESS=1
 986REQUIRE_PACKAGES_HASH=1
 987REQUIRE_PACKAGES_FPMKUNIT=1
 988endif
 989ifeq ($(FULL_TARGET),i386-netware)
 990REQUIRE_PACKAGES_RTL=1
 991REQUIRE_PACKAGES_PASZLIB=1
 992REQUIRE_PACKAGES_FCL-PROCESS=1
 993REQUIRE_PACKAGES_HASH=1
 994REQUIRE_PACKAGES_FPMKUNIT=1
 995endif
 996ifeq ($(FULL_TARGET),i386-openbsd)
 997REQUIRE_PACKAGES_RTL=1
 998REQUIRE_PACKAGES_PASZLIB=1
 999REQUIRE_PACKAGES_FCL-PROCESS=1
1000REQUIRE_PACKAGES_HASH=1
1001REQUIRE_PACKAGES_FPMKUNIT=1
1002endif
1003ifeq ($(FULL_TARGET),i386-wdosx)
1004REQUIRE_PACKAGES_RTL=1
1005REQUIRE_PACKAGES_PASZLIB=1
1006REQUIRE_PACKAGES_FCL-PROCESS=1
1007REQUIRE_PACKAGES_HASH=1
1008REQUIRE_PACKAGES_FPMKUNIT=1
1009endif
1010ifeq ($(FULL_TARGET),i386-darwin)
1011REQUIRE_PACKAGES_RTL=1
1012REQUIRE_PACKAGES_PASZLIB=1
1013REQUIRE_PACKAGES_FCL-PROCESS=1
1014REQUIRE_PACKAGES_HASH=1
1015REQUIRE_PACKAGES_FPMKUNIT=1
1016endif
1017ifeq ($(FULL_TARGET),i386-emx)
1018REQUIRE_PACKAGES_RTL=1
1019REQUIRE_PACKAGES_PASZLIB=1
1020REQUIRE_PACKAGES_FCL-PROCESS=1
1021REQUIRE_PACKAGES_HASH=1
1022REQUIRE_PACKAGES_FPMKUNIT=1
1023endif
1024ifeq ($(FULL_TARGET),i386-watcom)
1025REQUIRE_PACKAGES_RTL=1
1026REQUIRE_PACKAGES_PASZLIB=1
1027REQUIRE_PACKAGES_FCL-PROCESS=1
1028REQUIRE_PACKAGES_HASH=1
1029REQUIRE_PACKAGES_FPMKUNIT=1
1030endif
1031ifeq ($(FULL_TARGET),i386-netwlibc)
1032REQUIRE_PACKAGES_RTL=1
1033REQUIRE_PACKAGES_PASZLIB=1
1034REQUIRE_PACKAGES_FCL-PROCESS=1
1035REQUIRE_PACKAGES_HASH=1
1036REQUIRE_PACKAGES_FPMKUNIT=1
1037endif
1038ifeq ($(FULL_TARGET),i386-wince)
1039REQUIRE_PACKAGES_RTL=1
1040REQUIRE_PACKAGES_PASZLIB=1
1041REQUIRE_PACKAGES_FCL-PROCESS=1
1042REQUIRE_PACKAGES_HASH=1
1043REQUIRE_PACKAGES_FPMKUNIT=1
1044endif
1045ifeq ($(FULL_TARGET),i386-embedded)
1046REQUIRE_PACKAGES_RTL=1
1047REQUIRE_PACKAGES_PASZLIB=1
1048REQUIRE_PACKAGES_FCL-PROCESS=1
1049REQUIRE_PACKAGES_HASH=1
1050REQUIRE_PACKAGES_FPMKUNIT=1
1051endif
1052ifeq ($(FULL_TARGET),i386-symbian)
1053REQUIRE_PACKAGES_RTL=1
1054REQUIRE_PACKAGES_PASZLIB=1
1055REQUIRE_PACKAGES_FCL-PROCESS=1
1056REQUIRE_PACKAGES_HASH=1
1057REQUIRE_PACKAGES_FPMKUNIT=1
1058endif
1059ifeq ($(FULL_TARGET),i386-nativent)
1060REQUIRE_PACKAGES_RTL=1
1061REQUIRE_PACKAGES_PASZLIB=1
1062REQUIRE_PACKAGES_FCL-PROCESS=1
1063REQUIRE_PACKAGES_HASH=1
1064REQUIRE_PACKAGES_FPMKUNIT=1
1065endif
1066ifeq ($(FULL_TARGET),i386-iphonesim)
1067REQUIRE_PACKAGES_RTL=1
1068REQUIRE_PACKAGES_PASZLIB=1
1069REQUIRE_PACKAGES_FCL-PROCESS=1
1070REQUIRE_PACKAGES_HASH=1
1071REQUIRE_PACKAGES_FPMKUNIT=1
1072endif
1073ifeq ($(FULL_TARGET),m68k-linux)
1074REQUIRE_PACKAGES_RTL=1
1075REQUIRE_PACKAGES_PASZLIB=1
1076REQUIRE_PACKAGES_FCL-PROCESS=1
1077REQUIRE_PACKAGES_HASH=1
1078REQUIRE_PACKAGES_FPMKUNIT=1
1079endif
1080ifeq ($(FULL_TARGET),m68k-freebsd)
1081REQUIRE_PACKAGES_RTL=1
1082REQUIRE_PACKAGES_PASZLIB=1
1083REQUIRE_PACKAGES_FCL-PROCESS=1
1084REQUIRE_PACKAGES_HASH=1
1085REQUIRE_PACKAGES_FPMKUNIT=1
1086endif
1087ifeq ($(FULL_TARGET),m68k-netbsd)
1088REQUIRE_PACKAGES_RTL=1
1089REQUIRE_PACKAGES_PASZLIB=1
1090REQUIRE_PACKAGES_FCL-PROCESS=1
1091REQUIRE_PACKAGES_HASH=1
1092REQUIRE_PACKAGES_FPMKUNIT=1
1093endif
1094ifeq ($(FULL_TARGET),m68k-amiga)
1095REQUIRE_PACKAGES_RTL=1
1096REQUIRE_PACKAGES_PASZLIB=1
1097REQUIRE_PACKAGES_FCL-PROCESS=1
1098REQUIRE_PACKAGES_HASH=1
1099REQUIRE_PACKAGES_FPMKUNIT=1
1100endif
1101ifeq ($(FULL_TARGET),m68k-atari)
1102REQUIRE_PACKAGES_RTL=1
1103REQUIRE_PACKAGES_PASZLIB=1
1104REQUIRE_PACKAGES_FCL-PROCESS=1
1105REQUIRE_PACKAGES_HASH=1
1106REQUIRE_PACKAGES_FPMKUNIT=1
1107endif
1108ifeq ($(FULL_TARGET),m68k-openbsd)
1109REQUIRE_PACKAGES_RTL=1
1110REQUIRE_PACKAGES_PASZLIB=1
1111REQUIRE_PACKAGES_FCL-PROCESS=1
1112REQUIRE_PACKAGES_HASH=1
1113REQUIRE_PACKAGES_FPMKUNIT=1
1114endif
1115ifeq ($(FULL_TARGET),m68k-palmos)
1116REQUIRE_PACKAGES_RTL=1
1117REQUIRE_PACKAGES_PASZLIB=1
1118REQUIRE_PACKAGES_FCL-PROCESS=1
1119REQUIRE_PACKAGES_HASH=1
1120REQUIRE_PACKAGES_FPMKUNIT=1
1121endif
1122ifeq ($(FULL_TARGET),m68k-embedded)
1123REQUIRE_PACKAGES_RTL=1
1124REQUIRE_PACKAGES_PASZLIB=1
1125REQUIRE_PACKAGES_FCL-PROCESS=1
1126REQUIRE_PACKAGES_HASH=1
1127REQUIRE_PACKAGES_FPMKUNIT=1
1128endif
1129ifeq ($(FULL_TARGET),powerpc-linux)
1130REQUIRE_PACKAGES_RTL=1
1131REQUIRE_PACKAGES_PASZLIB=1
1132REQUIRE_PACKAGES_FCL-PROCESS=1
1133REQUIRE_PACKAGES_HASH=1
1134REQUIRE_PACKAGES_FPMKUNIT=1
1135endif
1136ifeq ($(FULL_TARGET),powerpc-netbsd)
1137REQUIRE_PACKAGES_RTL=1
1138REQUIRE_PACKAGES_PASZLIB=1
1139REQUIRE_PACKAGES_FCL-PROCESS=1
1140REQUIRE_PACKAGES_HASH=1
1141REQUIRE_PACKAGES_FPMKUNIT=1
1142endif
1143ifeq ($(FULL_TARGET),powerpc-amiga)
1144REQUIRE_PACKAGES_RTL=1
1145REQUIRE_PACKAGES_PASZLIB=1
1146REQUIRE_PACKAGES_FCL-PROCESS=1
1147REQUIRE_PACKAGES_HASH=1
1148REQUIRE_PACKAGES_FPMKUNIT=1
1149endif
1150ifeq ($(FULL_TARGET),powerpc-macos)
1151REQUIRE_PACKAGES_RTL=1
1152REQUIRE_PACKAGES_PASZLIB=1
1153REQUIRE_PACKAGES_FCL-PROCESS=1
1154REQUIRE_PACKAGES_HASH=1
1155REQUIRE_PACKAGES_FPMKUNIT=1
1156endif
1157ifeq ($(FULL_TARGET),powerpc-darwin)
1158REQUIRE_PACKAGES_RTL=1
1159REQUIRE_PACKAGES_PASZLIB=1
1160REQUIRE_PACKAGES_FCL-PROCESS=1
1161REQUIRE_PACKAGES_HASH=1
1162REQUIRE_PACKAGES_FPMKUNIT=1
1163endif
1164ifeq ($(FULL_TARGET),powerpc-morphos)
1165REQUIRE_PACKAGES_RTL=1
1166REQUIRE_PACKAGES_PASZLIB=1
1167REQUIRE_PACKAGES_FCL-PROCESS=1
1168REQUIRE_PACKAGES_HASH=1
1169REQUIRE_PACKAGES_FPMKUNIT=1
1170endif
1171ifeq ($(FULL_TARGET),powerpc-embedded)
1172REQUIRE_PACKAGES_RTL=1
1173REQUIRE_PACKAGES_PASZLIB=1
1174REQUIRE_PACKAGES_FCL-PROCESS=1
1175REQUIRE_PACKAGES_HASH=1
1176REQUIRE_PACKAGES_FPMKUNIT=1
1177endif
1178ifeq ($(FULL_TARGET),powerpc-wii)
1179REQUIRE_PACKAGES_RTL=1
1180REQUIRE_PACKAGES_PASZLIB=1
1181REQUIRE_PACKAGES_FCL-PROCESS=1
1182REQUIRE_PACKAGES_HASH=1
1183REQUIRE_PACKAGES_FPMKUNIT=1
1184endif
1185ifeq ($(FULL_TARGET),powerpc-aix)
1186REQUIRE_PACKAGES_RTL=1
1187REQUIRE_PACKAGES_PASZLIB=1
1188REQUIRE_PACKAGES_FCL-PROCESS=1
1189REQUIRE_PACKAGES_HASH=1
1190REQUIRE_PACKAGES_FPMKUNIT=1
1191endif
1192ifeq ($(FULL_TARGET),sparc-linux)
1193REQUIRE_PACKAGES_RTL=1
1194REQUIRE_PACKAGES_PASZLIB=1
1195REQUIRE_PACKAGES_FCL-PROCESS=1
1196REQUIRE_PACKAGES_HASH=1
1197REQUIRE_PACKAGES_FPMKUNIT=1
1198endif
1199ifeq ($(FULL_TARGET),sparc-netbsd)
1200REQUIRE_PACKAGES_RTL=1
1201REQUIRE_PACKAGES_PASZLIB=1
1202REQUIRE_PACKAGES_FCL-PROCESS=1
1203REQUIRE_PACKAGES_HASH=1
1204REQUIRE_PACKAGES_FPMKUNIT=1
1205endif
1206ifeq ($(FULL_TARGET),sparc-solaris)
1207REQUIRE_PACKAGES_RTL=1
1208REQUIRE_PACKAGES_PASZLIB=1
1209REQUIRE_PACKAGES_FCL-PROCESS=1
1210REQUIRE_PACKAGES_HASH=1
1211REQUIRE_PACKAGES_FPMKUNIT=1
1212endif
1213ifeq ($(FULL_TARGET),sparc-embedded)
1214REQUIRE_PACKAGES_RTL=1
1215REQUIRE_PACKAGES_PASZLIB=1
1216REQUIRE_PACKAGES_FCL-PROCESS=1
1217REQUIRE_PACKAGES_HASH=1
1218REQUIRE_PACKAGES_FPMKUNIT=1
1219endif
1220ifeq ($(FULL_TARGET),x86_64-linux)
1221REQUIRE_PACKAGES_RTL=1
1222REQUIRE_PACKAGES_PASZLIB=1
1223REQUIRE_PACKAGES_FCL-PROCESS=1
1224REQUIRE_PACKAGES_HASH=1
1225REQUIRE_PACKAGES_FPMKUNIT=1
1226endif
1227ifeq ($(FULL_TARGET),x86_64-freebsd)
1228REQUIRE_PACKAGES_RTL=1
1229REQUIRE_PACKAGES_PASZLIB=1
1230REQUIRE_PACKAGES_FCL-PROCESS=1
1231REQUIRE_PACKAGES_HASH=1
1232REQUIRE_PACKAGES_FPMKUNIT=1
1233endif
1234ifeq ($(FULL_TARGET),x86_64-netbsd)
1235REQUIRE_PACKAGES_RTL=1
1236REQUIRE_PACKAGES_PASZLIB=1
1237REQUIRE_PACKAGES_FCL-PROCESS=1
1238REQUIRE_PACKAGES_HASH=1
1239REQUIRE_PACKAGES_FPMKUNIT=1
1240endif
1241ifeq ($(FULL_TARGET),x86_64-solaris)
1242REQUIRE_PACKAGES_RTL=1
1243REQUIRE_PACKAGES_PASZLIB=1
1244REQUIRE_PACKAGES_FCL-PROCESS=1
1245REQUIRE_PACKAGES_HASH=1
1246REQUIRE_PACKAGES_FPMKUNIT=1
1247endif
1248ifeq ($(FULL_TARGET),x86_64-openbsd)
1249REQUIRE_PACKAGES_RTL=1
1250REQUIRE_PACKAGES_PASZLIB=1
1251REQUIRE_PACKAGES_FCL-PROCESS=1
1252REQUIRE_PACKAGES_HASH=1
1253REQUIRE_PACKAGES_FPMKUNIT=1
1254endif
1255ifeq ($(FULL_TARGET),x86_64-darwin)
1256REQUIRE_PACKAGES_RTL=1
1257REQUIRE_PACKAGES_PASZLIB=1
1258REQUIRE_PACKAGES_FCL-PROCESS=1
1259REQUIRE_PACKAGES_HASH=1
1260REQUIRE_PACKAGES_FPMKUNIT=1
1261endif
1262ifeq ($(FULL_TARGET),x86_64-win64)
1263REQUIRE_PACKAGES_RTL=1
1264REQUIRE_PACKAGES_PASZLIB=1
1265REQUIRE_PACKAGES_FCL-PROCESS=1
1266REQUIRE_PACKAGES_HASH=1
1267REQUIRE_PACKAGES_FPMKUNIT=1
1268endif
1269ifeq ($(FULL_TARGET),x86_64-embedded)
1270REQUIRE_PACKAGES_RTL=1
1271REQUIRE_PACKAGES_PASZLIB=1
1272REQUIRE_PACKAGES_FCL-PROCESS=1
1273REQUIRE_PACKAGES_HASH=1
1274REQUIRE_PACKAGES_FPMKUNIT=1
1275endif
1276ifeq ($(FULL_TARGET),arm-linux)
1277REQUIRE_PACKAGES_RTL=1
1278REQUIRE_PACKAGES_PASZLIB=1
1279REQUIRE_PACKAGES_FCL-PROCESS=1
1280REQUIRE_PACKAGES_HASH=1
1281REQUIRE_PACKAGES_FPMKUNIT=1
1282endif
1283ifeq ($(FULL_TARGET),arm-palmos)
1284REQUIRE_PACKAGES_RTL=1
1285REQUIRE_PACKAGES_PASZLIB=1
1286REQUIRE_PACKAGES_FCL-PROCESS=1
1287REQUIRE_PACKAGES_HASH=1
1288REQUIRE_PACKAGES_FPMKUNIT=1
1289endif
1290ifeq ($(FULL_TARGET),arm-darwin)
1291REQUIRE_PACKAGES_RTL=1
1292REQUIRE_PACKAGES_PASZLIB=1
1293REQUIRE_PACKAGES_FCL-PROCESS=1
1294REQUIRE_PACKAGES_HASH=1
1295REQUIRE_PACKAGES_FPMKUNIT=1
1296endif
1297ifeq ($(FULL_TARGET),arm-wince)
1298REQUIRE_PACKAGES_RTL=1
1299REQUIRE_PACKAGES_PASZLIB=1
1300REQUIRE_PACKAGES_FCL-PROCESS=1
1301REQUIRE_PACKAGES_HASH=1
1302REQUIRE_PACKAGES_FPMKUNIT=1
1303endif
1304ifeq ($(FULL_TARGET),arm-gba)
1305REQUIRE_PACKAGES_RTL=1
1306REQUIRE_PACKAGES_PASZLIB=1
1307REQUIRE_PACKAGES_FCL-PROCESS=1
1308REQUIRE_PACKAGES_HASH=1
1309REQUIRE_PACKAGES_FPMKUNIT=1
1310endif
1311ifeq ($(FULL_TARGET),arm-nds)
1312REQUIRE_PACKAGES_RTL=1
1313REQUIRE_PACKAGES_PASZLIB=1
1314REQUIRE_PACKAGES_FCL-PROCESS=1
1315REQUIRE_PACKAGES_HASH=1
1316REQUIRE_PACKAGES_FPMKUNIT=1
1317endif
1318ifeq ($(FULL_TARGET),arm-embedded)
1319REQUIRE_PACKAGES_RTL=1
1320REQUIRE_PACKAGES_PASZLIB=1
1321REQUIRE_PACKAGES_FCL-PROCESS=1
1322REQUIRE_PACKAGES_HASH=1
1323REQUIRE_PACKAGES_FPMKUNIT=1
1324endif
1325ifeq ($(FULL_TARGET),arm-symbian)
1326REQUIRE_PACKAGES_RTL=1
1327REQUIRE_PACKAGES_PASZLIB=1
1328REQUIRE_PACKAGES_FCL-PROCESS=1
1329REQUIRE_PACKAGES_HASH=1
1330REQUIRE_PACKAGES_FPMKUNIT=1
1331endif
1332ifeq ($(FULL_TARGET),powerpc64-linux)
1333REQUIRE_PACKAGES_RTL=1
1334REQUIRE_PACKAGES_PASZLIB=1
1335REQUIRE_PACKAGES_FCL-PROCESS=1
1336REQUIRE_PACKAGES_HASH=1
1337REQUIRE_PACKAGES_FPMKUNIT=1
1338endif
1339ifeq ($(FULL_TARGET),powerpc64-darwin)
1340REQUIRE_PACKAGES_RTL=1
1341REQUIRE_PACKAGES_PASZLIB=1
1342REQUIRE_PACKAGES_FCL-PROCESS=1
1343REQUIRE_PACKAGES_HASH=1
1344REQUIRE_PACKAGES_FPMKUNIT=1
1345endif
1346ifeq ($(FULL_TARGET),powerpc64-embedded)
1347REQUIRE_PACKAGES_RTL=1
1348REQUIRE_PACKAGES_PASZLIB=1
1349REQUIRE_PACKAGES_FCL-PROCESS=1
1350REQUIRE_PACKAGES_HASH=1
1351REQUIRE_PACKAGES_FPMKUNIT=1
1352endif
1353ifeq ($(FULL_TARGET),powerpc64-aix)
1354REQUIRE_PACKAGES_RTL=1
1355REQUIRE_PACKAGES_PASZLIB=1
1356REQUIRE_PACKAGES_FCL-PROCESS=1
1357REQUIRE_PACKAGES_HASH=1
1358REQUIRE_PACKAGES_FPMKUNIT=1
1359endif
1360ifeq ($(FULL_TARGET),avr-embedded)
1361REQUIRE_PACKAGES_RTL=1
1362REQUIRE_PACKAGES_PASZLIB=1
1363REQUIRE_PACKAGES_FCL-PROCESS=1
1364REQUIRE_PACKAGES_HASH=1
1365REQUIRE_PACKAGES_FPMKUNIT=1
1366endif
1367ifeq ($(FULL_TARGET),armeb-linux)
1368REQUIRE_PACKAGES_RTL=1
1369REQUIRE_PACKAGES_PASZLIB=1
1370REQUIRE_PACKAGES_FCL-PROCESS=1
1371REQUIRE_PACKAGES_HASH=1
1372REQUIRE_PACKAGES_FPMKUNIT=1
1373endif
1374ifeq ($(FULL_TARGET),armeb-embedded)
1375REQUIRE_PACKAGES_RTL=1
1376REQUIRE_PACKAGES_PASZLIB=1
1377REQUIRE_PACKAGES_FCL-PROCESS=1
1378REQUIRE_PACKAGES_HASH=1
1379REQUIRE_PACKAGES_FPMKUNIT=1
1380endif
1381ifeq ($(FULL_TARGET),mips-linux)
1382REQUIRE_PACKAGES_RTL=1
1383REQUIRE_PACKAGES_PASZLIB=1
1384REQUIRE_PACKAGES_FCL-PROCESS=1
1385REQUIRE_PACKAGES_HASH=1
1386REQUIRE_PACKAGES_FPMKUNIT=1
1387endif
1388ifeq ($(FULL_TARGET),mipsel-linux)
1389REQUIRE_PACKAGES_RTL=1
1390REQUIRE_PACKAGES_PASZLIB=1
1391REQUIRE_PACKAGES_FCL-PROCESS=1
1392REQUIRE_PACKAGES_HASH=1
1393REQUIRE_PACKAGES_FPMKUNIT=1
1394endif
1395ifeq ($(FULL_TARGET),jvm-java)
1396REQUIRE_PACKAGES_RTL=1
1397REQUIRE_PACKAGES_PASZLIB=1
1398REQUIRE_PACKAGES_FCL-PROCESS=1
1399REQUIRE_PACKAGES_HASH=1
1400REQUIRE_PACKAGES_FPMKUNIT=1
1401endif
1402ifeq ($(FULL_TARGET),jvm-android)
1403REQUIRE_PACKAGES_RTL=1
1404REQUIRE_PACKAGES_PASZLIB=1
1405REQUIRE_PACKAGES_FCL-PROCESS=1
1406REQUIRE_PACKAGES_HASH=1
1407REQUIRE_PACKAGES_FPMKUNIT=1
1408endif
1409ifdef REQUIRE_PACKAGES_RTL
1410PACKAGEDIR_RTL:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /rtl/Makefile.fpc,$(PACKAGESDIR))))))
1411ifneq ($(PACKAGEDIR_RTL),)
1412ifneq ($(wildcard $(PACKAGEDIR_RTL)/units/$(TARGETSUFFIX)),)
1413UNITDIR_RTL=$(PACKAGEDIR_RTL)/units/$(TARGETSUFFIX)
1414else
1415UNITDIR_RTL=$(PACKAGEDIR_RTL)
1416endif
1417ifneq ($(wildcard $(PACKAGEDIR_RTL)/units/$(SOURCESUFFIX)),)
1418UNITDIR_FPMAKE_RTL=$(PACKAGEDIR_RTL)/units/$(SOURCESUFFIX)
1419else
1420ifneq ($(wildcard $(PACKAGEDIR_RTL)/units_bs/$(SOURCESUFFIX)),)
1421UNITDIR_FPMAKE_RTL=$(PACKAGEDIR_RTL)/units_bs/$(SOURCESUFFIX)
1422else
1423UNITDIR_FPMAKE_RTL=$(PACKAGEDIR_RTL)
1424endif
1425endif
1426ifdef CHECKDEPEND
1427$(PACKAGEDIR_RTL)/$(OS_TARGET)/$(FPCMADE):
1428	$(MAKE) -C $(PACKAGEDIR_RTL)/$(OS_TARGET) $(FPCMADE)
1429override ALLDEPENDENCIES+=$(PACKAGEDIR_RTL)/$(OS_TARGET)/$(FPCMADE)
1430endif
1431else
1432PACKAGEDIR_RTL=
1433UNITDIR_RTL:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /rtl/Package.fpc,$(UNITSDIR)))))
1434ifneq ($(UNITDIR_RTL),)
1435UNITDIR_RTL:=$(firstword $(UNITDIR_RTL))
1436else
1437UNITDIR_RTL=
1438endif
1439endif
1440ifdef UNITDIR_RTL
1441override COMPILER_UNITDIR+=$(UNITDIR_RTL)
1442endif
1443ifdef UNITDIR_FPMAKE_RTL
1444override COMPILER_FPMAKE_UNITDIR+=$(UNITDIR_FPMAKE_RTL)
1445endif
1446endif
1447ifdef REQUIRE_PACKAGES_PASZLIB
1448PACKAGEDIR_PASZLIB:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /paszlib/Makefile.fpc,$(PACKAGESDIR))))))
1449ifneq ($(PACKAGEDIR_PASZLIB),)
1450ifneq ($(wildcard $(PACKAGEDIR_PASZLIB)/units/$(TARGETSUFFIX)),)
1451UNITDIR_PASZLIB=$(PACKAGEDIR_PASZLIB)/units/$(TARGETSUFFIX)
1452else
1453UNITDIR_PASZLIB=$(PACKAGEDIR_PASZLIB)
1454endif
1455ifneq ($(wildcard $(PACKAGEDIR_PASZLIB)/units/$(SOURCESUFFIX)),)
1456UNITDIR_FPMAKE_PASZLIB=$(PACKAGEDIR_PASZLIB)/units/$(SOURCESUFFIX)
1457else
1458ifneq ($(wildcard $(PACKAGEDIR_PASZLIB)/units_bs/$(SOURCESUFFIX)),)
1459UNITDIR_FPMAKE_PASZLIB=$(PACKAGEDIR_PASZLIB)/units_bs/$(SOURCESUFFIX)
1460else
1461UNITDIR_FPMAKE_PASZLIB=$(PACKAGEDIR_PASZLIB)
1462endif
1463endif
1464ifdef CHECKDEPEND
1465$(PACKAGEDIR_PASZLIB)/$(FPCMADE):
1466	$(MAKE) -C $(PACKAGEDIR_PASZLIB) $(FPCMADE)
1467override ALLDEPENDENCIES+=$(PACKAGEDIR_PASZLIB)/$(FPCMADE)
1468endif
1469else
1470PACKAGEDIR_PASZLIB=
1471UNITDIR_PASZLIB:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /paszlib/Package.fpc,$(UNITSDIR)))))
1472ifneq ($(UNITDIR_PASZLIB),)
1473UNITDIR_PASZLIB:=$(firstword $(UNITDIR_PASZLIB))
1474else
1475UNITDIR_PASZLIB=
1476endif
1477endif
1478ifdef UNITDIR_PASZLIB
1479override COMPILER_UNITDIR+=$(UNITDIR_PASZLIB)
1480endif
1481ifdef UNITDIR_FPMAKE_PASZLIB
1482override COMPILER_FPMAKE_UNITDIR+=$(UNITDIR_FPMAKE_PASZLIB)
1483endif
1484endif
1485ifdef REQUIRE_PACKAGES_FCL-PROCESS
1486PACKAGEDIR_FCL-PROCESS:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /fcl-process/Makefile.fpc,$(PACKAGESDIR))))))
1487ifneq ($(PACKAGEDIR_FCL-PROCESS),)
1488ifneq ($(wildcard $(PACKAGEDIR_FCL-PROCESS)/units/$(TARGETSUFFIX)),)
1489UNITDIR_FCL-PROCESS=$(PACKAGEDIR_FCL-PROCESS)/units/$(TARGETSUFFIX)
1490else
1491UNITDIR_FCL-PROCESS=$(PACKAGEDIR_FCL-PROCESS)
1492endif
1493ifneq ($(wildcard $(PACKAGEDIR_FCL-PROCESS)/units/$(SOURCESUFFIX)),)
1494UNITDIR_FPMAKE_FCL-PROCESS=$(PACKAGEDIR_FCL-PROCESS)/units/$(SOURCESUFFIX)
1495else
1496ifneq ($(wildcard $(PACKAGEDIR_FCL-PROCESS)/units_bs/$(SOURCESUFFIX)),)
1497UNITDIR_FPMAKE_FCL-PROCESS=$(PACKAGEDIR_FCL-PROCESS)/units_bs/$(SOURCESUFFIX)
1498else
1499UNITDIR_FPMAKE_FCL-PROCESS=$(PACKAGEDIR_FCL-PROCESS)
1500endif
1501endif
1502ifdef CHECKDEPEND
1503$(PACKAGEDIR_FCL-PROCESS)/$(FPCMADE):
1504	$(MAKE) -C $(PACKAGEDIR_FCL-PROCESS) $(FPCMADE)
1505override ALLDEPENDENCIES+=$(PACKAGEDIR_FCL-PROCESS)/$(FPCMADE)
1506endif
1507else
1508PACKAGEDIR_FCL-PROCESS=
1509UNITDIR_FCL-PROCESS:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /fcl-process/Package.fpc,$(UNITSDIR)))))
1510ifneq ($(UNITDIR_FCL-PROCESS),)
1511UNITDIR_FCL-PROCESS:=$(firstword $(UNITDIR_FCL-PROCESS))
1512else
1513UNITDIR_FCL-PROCESS=
1514endif
1515endif
1516ifdef UNITDIR_FCL-PROCESS
1517override COMPILER_UNITDIR+=$(UNITDIR_FCL-PROCESS)
1518endif
1519ifdef UNITDIR_FPMAKE_FCL-PROCESS
1520override COMPILER_FPMAKE_UNITDIR+=$(UNITDIR_FPMAKE_FCL-PROCESS)
1521endif
1522endif
1523ifdef REQUIRE_PACKAGES_HASH
1524PACKAGEDIR_HASH:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /hash/Makefile.fpc,$(PACKAGESDIR))))))
1525ifneq ($(PACKAGEDIR_HASH),)
1526ifneq ($(wildcard $(PACKAGEDIR_HASH)/units/$(TARGETSUFFIX)),)
1527UNITDIR_HASH=$(PACKAGEDIR_HASH)/units/$(TARGETSUFFIX)
1528else
1529UNITDIR_HASH=$(PACKAGEDIR_HASH)
1530endif
1531ifneq ($(wildcard $(PACKAGEDIR_HASH)/units/$(SOURCESUFFIX)),)
1532UNITDIR_FPMAKE_HASH=$(PACKAGEDIR_HASH)/units/$(SOURCESUFFIX)
1533else
1534ifneq ($(wildcard $(PACKAGEDIR_HASH)/units_bs/$(SOURCESUFFIX)),)
1535UNITDIR_FPMAKE_HASH=$(PACKAGEDIR_HASH)/units_bs/$(SOURCESUFFIX)
1536else
1537UNITDIR_FPMAKE_HASH=$(PACKAGEDIR_HASH)
1538endif
1539endif
1540ifdef CHECKDEPEND
1541$(PACKAGEDIR_HASH)/$(FPCMADE):
1542	$(MAKE) -C $(PACKAGEDIR_HASH) $(FPCMADE)
1543override ALLDEPENDENCIES+=$(PACKAGEDIR_HASH)/$(FPCMADE)
1544endif
1545else
1546PACKAGEDIR_HASH=
1547UNITDIR_HASH:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /hash/Package.fpc,$(UNITSDIR)))))
1548ifneq ($(UNITDIR_HASH),)
1549UNITDIR_HASH:=$(firstword $(UNITDIR_HASH))
1550else
1551UNITDIR_HASH=
1552endif
1553endif
1554ifdef UNITDIR_HASH
1555override COMPILER_UNITDIR+=$(UNITDIR_HASH)
1556endif
1557ifdef UNITDIR_FPMAKE_HASH
1558override COMPILER_FPMAKE_UNITDIR+=$(UNITDIR_FPMAKE_HASH)
1559endif
1560endif
1561ifdef REQUIRE_PACKAGES_FPMKUNIT
1562PACKAGEDIR_FPMKUNIT:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /fpmkunit/Makefile.fpc,$(PACKAGESDIR))))))
1563ifneq ($(PACKAGEDIR_FPMKUNIT),)
1564ifneq ($(wildcard $(PACKAGEDIR_FPMKUNIT)/units/$(TARGETSUFFIX)),)
1565UNITDIR_FPMKUNIT=$(PACKAGEDIR_FPMKUNIT)/units/$(TARGETSUFFIX)
1566else
1567UNITDIR_FPMKUNIT=$(PACKAGEDIR_FPMKUNIT)
1568endif
1569ifneq ($(wildcard $(PACKAGEDIR_FPMKUNIT)/units/$(SOURCESUFFIX)),)
1570UNITDIR_FPMAKE_FPMKUNIT=$(PACKAGEDIR_FPMKUNIT)/units/$(SOURCESUFFIX)
1571else
1572ifneq ($(wildcard $(PACKAGEDIR_FPMKUNIT)/units_bs/$(SOURCESUFFIX)),)
1573UNITDIR_FPMAKE_FPMKUNIT=$(PACKAGEDIR_FPMKUNIT)/units_bs/$(SOURCESUFFIX)
1574else
1575UNITDIR_FPMAKE_FPMKUNIT=$(PACKAGEDIR_FPMKUNIT)
1576endif
1577endif
1578ifdef CHECKDEPEND
1579$(PACKAGEDIR_FPMKUNIT)/$(FPCMADE):
1580	$(MAKE) -C $(PACKAGEDIR_FPMKUNIT) $(FPCMADE)
1581override ALLDEPENDENCIES+=$(PACKAGEDIR_FPMKUNIT)/$(FPCMADE)
1582endif
1583else
1584PACKAGEDIR_FPMKUNIT=
1585UNITDIR_FPMKUNIT:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /fpmkunit/Package.fpc,$(UNITSDIR)))))
1586ifneq ($(UNITDIR_FPMKUNIT),)
1587UNITDIR_FPMKUNIT:=$(firstword $(UNITDIR_FPMKUNIT))
1588else
1589UNITDIR_FPMKUNIT=
1590endif
1591endif
1592ifdef UNITDIR_FPMKUNIT
1593override COMPILER_UNITDIR+=$(UNITDIR_FPMKUNIT)
1594endif
1595ifdef UNITDIR_FPMAKE_FPMKUNIT
1596override COMPILER_FPMAKE_UNITDIR+=$(UNITDIR_FPMAKE_FPMKUNIT)
1597endif
1598endif
1599ifndef NOCPUDEF
1600override FPCOPTDEF=$(ARCH)
1601endif
1602ifneq ($(OS_TARGET),$(OS_SOURCE))
1603override FPCOPT+=-T$(OS_TARGET)
1604endif
1605ifneq ($(CPU_TARGET),$(CPU_SOURCE))
1606override FPCOPT+=-P$(ARCH)
1607endif
1608ifeq ($(OS_SOURCE),openbsd)
1609override FPCOPT+=-FD$(NEW_BINUTILS_PATH)
1610override FPCMAKEOPT+=-FD$(NEW_BINUTILS_PATH)
1611endif
1612ifndef CROSSBOOTSTRAP
1613ifneq ($(BINUTILSPREFIX),)
1614override FPCOPT+=-XP$(BINUTILSPREFIX)
1615endif
1616ifneq ($(BINUTILSPREFIX),)
1617override FPCOPT+=-Xr$(RLINKPATH)
1618endif
1619endif
1620ifndef CROSSCOMPILE
1621ifneq ($(BINUTILSPREFIX),)
1622override FPCMAKEOPT+=-XP$(BINUTILSPREFIX)
1623endif
1624endif
1625ifdef UNITDIR
1626override FPCOPT+=$(addprefix -Fu,$(UNITDIR))
1627endif
1628ifdef LIBDIR
1629override FPCOPT+=$(addprefix -Fl,$(LIBDIR))
1630endif
1631ifdef OBJDIR
1632override FPCOPT+=$(addprefix -Fo,$(OBJDIR))
1633endif
1634ifdef INCDIR
1635override FPCOPT+=$(addprefix -Fi,$(INCDIR))
1636endif
1637ifdef LINKSMART
1638override FPCOPT+=-XX
1639endif
1640ifdef CREATESMART
1641override FPCOPT+=-CX
1642endif
1643ifdef DEBUG
1644override FPCOPT+=-gl
1645override FPCOPTDEF+=DEBUG
1646endif
1647ifdef RELEASE
1648ifneq ($(findstring 2.0.,$(FPC_VERSION)),)
1649ifeq ($(CPU_TARGET),i386)
1650FPCCPUOPT:=-OG2p3
1651endif
1652ifeq ($(CPU_TARGET),powerpc)
1653FPCCPUOPT:=-O1r
1654endif
1655else
1656FPCCPUOPT:=-O2
1657endif
1658override FPCOPT+=-Ur -Xs $(FPCCPUOPT) -n
1659override FPCOPTDEF+=RELEASE
1660endif
1661ifdef STRIP
1662override FPCOPT+=-Xs
1663endif
1664ifdef OPTIMIZE
1665override FPCOPT+=-O2
1666endif
1667ifdef VERBOSE
1668override FPCOPT+=-vwni
1669endif
1670ifdef COMPILER_OPTIONS
1671override FPCOPT+=$(COMPILER_OPTIONS)
1672endif
1673ifdef COMPILER_UNITDIR
1674override FPCOPT+=$(addprefix -Fu,$(COMPILER_UNITDIR))
1675endif
1676ifdef COMPILER_LIBRARYDIR
1677override FPCOPT+=$(addprefix -Fl,$(COMPILER_LIBRARYDIR))
1678endif
1679ifdef COMPILER_OBJECTDIR
1680override FPCOPT+=$(addprefix -Fo,$(COMPILER_OBJECTDIR))
1681endif
1682ifdef COMPILER_INCLUDEDIR
1683override FPCOPT+=$(addprefix -Fi,$(COMPILER_INCLUDEDIR))
1684endif
1685ifdef CROSSBINDIR
1686override FPCOPT+=-FD$(CROSSBINDIR)
1687endif
1688ifdef COMPILER_TARGETDIR
1689override FPCOPT+=-FE$(COMPILER_TARGETDIR)
1690ifeq ($(COMPILER_TARGETDIR),.)
1691override TARGETDIRPREFIX=
1692else
1693override TARGETDIRPREFIX=$(COMPILER_TARGETDIR)/
1694endif
1695endif
1696ifdef COMPILER_UNITTARGETDIR
1697override FPCOPT+=-FU$(COMPILER_UNITTARGETDIR)
1698ifeq ($(COMPILER_UNITTARGETDIR),.)
1699override UNITTARGETDIRPREFIX=
1700else
1701override UNITTARGETDIRPREFIX=$(COMPILER_UNITTARGETDIR)/
1702endif
1703else
1704ifdef COMPILER_TARGETDIR
1705override COMPILER_UNITTARGETDIR=$(COMPILER_TARGETDIR)
1706override UNITTARGETDIRPREFIX=$(TARGETDIRPREFIX)
1707endif
1708endif
1709ifdef CREATESHARED
1710override FPCOPT+=-Cg
1711endif
1712ifneq ($(findstring $(OS_TARGET),freebsd openbsd netbsd linux solaris),)
1713ifeq ($(CPU_TARGET),x86_64)
1714override FPCOPT+=-Cg
1715endif
1716endif
1717ifdef LINKSHARED
1718endif
1719ifdef OPT
1720override FPCOPT+=$(OPT)
1721endif
1722ifdef FPCOPTDEF
1723override FPCOPT+=$(addprefix -d,$(FPCOPTDEF))
1724endif
1725ifdef CFGFILE
1726override FPCOPT+=@$(CFGFILE)
1727endif
1728ifdef USEENV
1729override FPCEXTCMD:=$(FPCOPT)
1730override FPCOPT:=!FPCEXTCMD
1731export FPCEXTCMD
1732endif
1733override AFULL_TARGET=$(CPU_TARGET)-$(OS_TARGET)
1734override AFULL_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE)
1735ifneq ($(AFULL_TARGET),$(AFULL_SOURCE))
1736override ACROSSCOMPILE=1
1737endif
1738ifdef ACROSSCOMPILE
1739override FPCOPT+=$(CROSSOPT)
1740endif
1741override COMPILER:=$(FPC) $(FPCOPT)
1742ifeq (,$(findstring -s ,$(COMPILER)))
1743EXECPPAS=
1744else
1745ifeq ($(FULL_SOURCE),$(FULL_TARGET))
1746ifdef RUNBATCH
1747EXECPPAS:=@$(RUNBATCH) $(PPAS)
1748else
1749EXECPPAS:=@$(PPAS)
1750endif
1751endif
1752endif
1753ifdef TARGET_RSTS
1754override RSTFILES=$(addsuffix $(RSTEXT),$(TARGET_RSTS))
1755override CLEANRSTFILES+=$(RSTFILES)
1756endif
1757.PHONY: fpc_install fpc_sourceinstall fpc_exampleinstall
1758ifdef INSTALL_UNITS
1759override INSTALLPPUFILES+=$(addsuffix $(PPUEXT),$(INSTALL_UNITS))
1760endif
1761ifdef INSTALL_BUILDUNIT
1762override INSTALLPPUFILES:=$(filter-out $(INSTALL_BUILDUNIT)$(PPUEXT),$(INSTALLPPUFILES))
1763endif
1764ifdef INSTALLPPUFILES
1765override INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES))) $(addprefix $(IMPORTLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES)))
1766ifneq ($(UNITTARGETDIRPREFIX),)
1767override INSTALLPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(notdir $(INSTALLPPUFILES)))
1768override INSTALLPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(notdir $(INSTALLPPULINKFILES))))
1769endif
1770override INSTALL_CREATEPACKAGEFPC=1
1771endif
1772ifdef INSTALLEXEFILES
1773ifneq ($(TARGETDIRPREFIX),)
1774override INSTALLEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(notdir $(INSTALLEXEFILES)))
1775endif
1776endif
1777fpc_install: all $(INSTALLTARGET)
1778ifdef INSTALLEXEFILES
1779	$(MKDIR) $(INSTALL_BINDIR)
1780	$(INSTALLEXE) $(INSTALLEXEFILES) $(INSTALL_BINDIR)
1781endif
1782ifdef INSTALL_CREATEPACKAGEFPC
1783ifdef FPCMAKE
1784ifdef PACKAGE_VERSION
1785ifneq ($(wildcard Makefile.fpc),)
1786	$(FPCMAKE) -p -T$(CPU_TARGET)-$(OS_TARGET) Makefile.fpc
1787	$(MKDIR) $(INSTALL_UNITDIR)
1788	$(INSTALL) Package.fpc $(INSTALL_UNITDIR)
1789endif
1790endif
1791endif
1792endif
1793ifdef INSTALLPPUFILES
1794	$(MKDIR) $(INSTALL_UNITDIR)
1795	$(INSTALL) $(INSTALLPPUFILES) $(INSTALL_UNITDIR)
1796ifneq ($(INSTALLPPULINKFILES),)
1797	$(INSTALL) $(INSTALLPPULINKFILES) $(INSTALL_UNITDIR)
1798endif
1799ifneq ($(wildcard $(LIB_FULLNAME)),)
1800	$(MKDIR) $(INSTALL_LIBDIR)
1801	$(INSTALL) $(LIB_FULLNAME) $(INSTALL_LIBDIR)
1802ifdef inUnix
1803	ln -sf $(LIB_FULLNAME) $(INSTALL_LIBDIR)/$(LIB_NAME)
1804endif
1805endif
1806endif
1807ifdef INSTALL_FILES
1808	$(MKDIR) $(INSTALL_DATADIR)
1809	$(INSTALL) $(INSTALL_FILES) $(INSTALL_DATADIR)
1810endif
1811fpc_sourceinstall: distclean
1812	$(MKDIR) $(INSTALL_SOURCEDIR)
1813	$(COPYTREE) $(BASEDIR)/* $(INSTALL_SOURCEDIR)
1814fpc_exampleinstall: $(addsuffix _distclean,$(TARGET_EXAMPLEDIRS))
1815ifdef HASEXAMPLES
1816	$(MKDIR) $(INSTALL_EXAMPLEDIR)
1817endif
1818ifdef EXAMPLESOURCEFILES
1819	$(COPY) $(EXAMPLESOURCEFILES) $(INSTALL_EXAMPLEDIR)
1820endif
1821ifdef TARGET_EXAMPLEDIRS
1822	$(COPYTREE) $(addsuffix /*,$(TARGET_EXAMPLEDIRS)) $(INSTALL_EXAMPLEDIR)
1823endif
1824.PHONY: fpc_distinstall
1825fpc_distinstall: install exampleinstall
1826.PHONY: fpc_zipinstall fpc_zipsourceinstall fpc_zipexampleinstall
1827ifndef PACKDIR
1828ifndef inUnix
1829PACKDIR=$(BASEDIR)/../fpc-pack
1830else
1831PACKDIR=/tmp/fpc-pack
1832endif
1833endif
1834ifndef ZIPNAME
1835ifdef DIST_ZIPNAME
1836ZIPNAME=$(DIST_ZIPNAME)
1837else
1838ZIPNAME=$(PACKAGE_NAME)
1839endif
1840endif
1841ifndef FULLZIPNAME
1842FULLZIPNAME=$(ZIPCROSSPREFIX)$(ZIPPREFIX)$(ZIPNAME)$(ZIPSUFFIX)
1843endif
1844ifndef ZIPTARGET
1845ifdef DIST_ZIPTARGET
1846ZIPTARGET=DIST_ZIPTARGET
1847else
1848ZIPTARGET=install
1849endif
1850endif
1851ifndef USEZIP
1852ifdef inUnix
1853USETAR=1
1854endif
1855endif
1856ifndef inUnix
1857USEZIPWRAPPER=1
1858endif
1859ifdef USEZIPWRAPPER
1860ZIPPATHSEP=$(PATHSEP)
1861ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(SRCBATCHEXT))
1862else
1863ZIPPATHSEP=/
1864endif
1865ZIPCMD_CDPACK:=cd $(subst /,$(ZIPPATHSEP),$(PACKDIR))
1866ZIPCMD_CDBASE:=cd $(subst /,$(ZIPPATHSEP),$(BASEDIR))
1867ifdef USETAR
1868ZIPDESTFILE:=$(DIST_DESTDIR)/$(FULLZIPNAME)$(TAREXT)
1869ZIPCMD_ZIP:=$(TARPROG) c$(TAROPT)f $(ZIPDESTFILE) *
1870else
1871ZIPDESTFILE:=$(DIST_DESTDIR)/$(FULLZIPNAME)$(ZIPEXT)
1872ZIPCMD_ZIP:=$(subst /,$(ZIPPATHSEP),$(ZIPPROG)) -Dr $(ZIPOPT) $(ZIPDESTFILE) *
1873endif
1874fpc_zipinstall:
1875	$(MAKE) $(ZIPTARGET) INSTALL_PREFIX=$(PACKDIR) ZIPINSTALL=1
1876	$(MKDIR) $(DIST_DESTDIR)
1877	$(DEL) $(ZIPDESTFILE)
1878ifdef USEZIPWRAPPER
1879ifneq ($(ECHOREDIR),echo)
1880	$(ECHOREDIR) -e "$(subst \,\\,$(ZIPCMD_CDPACK))" > $(ZIPWRAPPER)
1881	$(ECHOREDIR) -e "$(subst \,\\,$(ZIPCMD_ZIP))" >> $(ZIPWRAPPER)
1882	$(ECHOREDIR) -e "$(subst \,\\,$(ZIPCMD_CDBASE))" >> $(ZIPWRAPPER)
1883else
1884	echo $(ZIPCMD_CDPACK) > $(ZIPWRAPPER)
1885	echo $(ZIPCMD_ZIP) >> $(ZIPWRAPPER)
1886	echo $(ZIPCMD_CDBASE) >> $(ZIPWRAPPER)
1887endif
1888ifdef inUnix
1889	/bin/sh $(ZIPWRAPPER)
1890else
1891ifdef RUNBATCH
1892	$(RUNBATCH) $(ZIPWRAPPER)
1893else
1894	$(ZIPWRAPPER)
1895endif
1896endif
1897	$(DEL) $(ZIPWRAPPER)
1898else
1899	$(ZIPCMD_CDPACK) ; $(ZIPCMD_ZIP) ; $(ZIPCMD_CDBASE)
1900endif
1901	$(DELTREE) $(PACKDIR)
1902fpc_zipsourceinstall:
1903	$(MAKE) fpc_zipinstall ZIPTARGET=sourceinstall ZIPSUFFIX=$(ZIPSOURCESUFFIX)
1904fpc_zipexampleinstall:
1905ifdef HASEXAMPLES
1906	$(MAKE) fpc_zipinstall ZIPTARGET=exampleinstall ZIPSUFFIX=$(ZIPEXAMPLESUFFIX)
1907endif
1908fpc_zipdistinstall:
1909	$(MAKE) fpc_zipinstall ZIPTARGET=distinstall
1910.PHONY: fpc_clean fpc_cleanall fpc_distclean
1911ifdef EXEFILES
1912override CLEANEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(CLEANEXEFILES))
1913override CLEANEXEDBGFILES:=$(addprefix $(TARGETDIRPREFIX),$(CLEANEXEDBGFILES))
1914endif
1915ifdef CLEAN_PROGRAMS
1916override CLEANEXEFILES+=$(addprefix $(TARGETDIRPREFIX),$(addsuffix $(EXEEXT), $(CLEAN_PROGRAMS)))
1917override CLEANEXEDBGFILES+=$(addprefix $(TARGETDIRPREFIX),$(addsuffix $(EXEDBGEXT), $(CLEAN_PROGRAMS)))
1918endif
1919ifdef CLEAN_UNITS
1920override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
1921endif
1922ifdef CLEANPPUFILES
1923override CLEANPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES))) $(addprefix $(IMPORTLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES)))
1924ifdef DEBUGSYMEXT
1925override CLEANPPULINKFILES+=$(subst $(PPUEXT),$(DEBUGSYMEXT),$(CLEANPPUFILES))
1926endif
1927override CLEANPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPUFILES))
1928override CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
1929endif
1930fpc_clean: $(CLEANTARGET)
1931ifdef CLEANEXEFILES
1932	-$(DEL) $(CLEANEXEFILES)
1933endif
1934ifdef CLEANEXEDBGFILES
1935	-$(DELTREE) $(CLEANEXEDBGFILES)
1936endif
1937ifdef CLEANPPUFILES
1938	-$(DEL) $(CLEANPPUFILES)
1939endif
1940ifneq ($(CLEANPPULINKFILES),)
1941	-$(DEL) $(CLEANPPULINKFILES)
1942endif
1943ifdef CLEANRSTFILES
1944	-$(DEL) $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANRSTFILES))
1945endif
1946ifdef CLEAN_FILES
1947	-$(DEL) $(CLEAN_FILES)
1948endif
1949ifdef LIB_NAME
1950	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
1951endif
1952	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
1953	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
1954fpc_cleanall: $(CLEANTARGET)
1955ifdef CLEANEXEFILES
1956	-$(DEL) $(CLEANEXEFILES)
1957endif
1958ifdef COMPILER_UNITTARGETDIR
1959ifdef CLEANPPUFILES
1960	-$(DEL) $(CLEANPPUFILES)
1961endif
1962ifneq ($(CLEANPPULINKFILES),)
1963	-$(DEL) $(CLEANPPULINKFILES)
1964endif
1965ifdef CLEANRSTFILES
1966	-$(DEL) $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANRSTFILES))
1967endif
1968endif
1969ifdef CLEAN_FILES
1970	-$(DEL) $(CLEAN_FILES)
1971endif
1972	-$(DELTREE) units
1973	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
1974ifneq ($(PPUEXT),.ppu)
1975	-$(DEL) *.o *.ppu *.a
1976endif
1977	-$(DELTREE) *$(SMARTEXT)
1978	-$(DEL) fpcmade.* Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
1979	-$(DEL) *_ppas$(BATCHEXT)
1980ifdef AOUTEXT
1981	-$(DEL) *$(AOUTEXT)
1982endif
1983ifdef DEBUGSYMEXT
1984	-$(DEL) *$(DEBUGSYMEXT)
1985endif
1986fpc_distclean: cleanall
1987.PHONY: fpc_baseinfo
1988override INFORULES+=fpc_baseinfo
1989fpc_baseinfo:
1990	@$(ECHO)
1991	@$(ECHO)  == Package info ==
1992	@$(ECHO)  Package Name..... $(PACKAGE_NAME)
1993	@$(ECHO)  Package Version.. $(PACKAGE_VERSION)
1994	@$(ECHO)
1995	@$(ECHO)  == Configuration info ==
1996	@$(ECHO)
1997	@$(ECHO)  FPC.......... $(FPC)
1998	@$(ECHO)  FPC Version.. $(FPC_VERSION)
1999	@$(ECHO)  Source CPU... $(CPU_SOURCE)
2000	@$(ECHO)  Target CPU... $(CPU_TARGET)
2001	@$(ECHO)  Source OS.... $(OS_SOURCE)
2002	@$(ECHO)  Target OS.... $(OS_TARGET)
2003	@$(ECHO)  Full Source.. $(FULL_SOURCE)
2004	@$(ECHO)  Full Target.. $(FULL_TARGET)
2005	@$(ECHO)  SourceSuffix. $(SOURCESUFFIX)
2006	@$(ECHO)  TargetSuffix. $(TARGETSUFFIX)
2007	@$(ECHO)  FPC fpmake... $(FPCFPMAKE)
2008	@$(ECHO)
2009	@$(ECHO)  == Directory info ==
2010	@$(ECHO)
2011	@$(ECHO)  Required pkgs... $(REQUIRE_PACKAGES)
2012	@$(ECHO)
2013	@$(ECHO)  Basedir......... $(BASEDIR)
2014	@$(ECHO)  FPCDir.......... $(FPCDIR)
2015	@$(ECHO)  CrossBinDir..... $(CROSSBINDIR)
2016	@$(ECHO)  UnitsDir........ $(UNITSDIR)
2017	@$(ECHO)  PackagesDir..... $(PACKAGESDIR)
2018	@$(ECHO)
2019	@$(ECHO)  GCC library..... $(GCCLIBDIR)
2020	@$(ECHO)  Other library... $(OTHERLIBDIR)
2021	@$(ECHO)
2022	@$(ECHO)  == Tools info ==
2023	@$(ECHO)
2024	@$(ECHO)  As........ $(AS)
2025	@$(ECHO)  Ld........ $(LD)
2026	@$(ECHO)  Ar........ $(AR)
2027	@$(ECHO)  Rc........ $(RC)
2028	@$(ECHO)
2029	@$(ECHO)  Mv........ $(MVPROG)
2030	@$(ECHO)  Cp........ $(CPPROG)
2031	@$(ECHO)  Rm........ $(RMPROG)
2032	@$(ECHO)  GInstall.. $(GINSTALL)
2033	@$(ECHO)  Echo...... $(ECHO)
2034	@$(ECHO)  Shell..... $(SHELL)
2035	@$(ECHO)  Date...... $(DATE)
2036	@$(ECHO)  FPCMake... $(FPCMAKE)
2037	@$(ECHO)  PPUMove... $(PPUMOVE)
2038	@$(ECHO)  Zip....... $(ZIPPROG)
2039	@$(ECHO)
2040	@$(ECHO)  == Object info ==
2041	@$(ECHO)
2042	@$(ECHO)  Target Loaders........ $(TARGET_LOADERS)
2043	@$(ECHO)  Target Units.......... $(TARGET_UNITS)
2044	@$(ECHO)  Target Implicit Units. $(TARGET_IMPLICITUNITS)
2045	@$(ECHO)  Target Programs....... $(TARGET_PROGRAMS)
2046	@$(ECHO)  Target Dirs........... $(TARGET_DIRS)
2047	@$(ECHO)  Target Examples....... $(TARGET_EXAMPLES)
2048	@$(ECHO)  Target ExampleDirs.... $(TARGET_EXAMPLEDIRS)
2049	@$(ECHO)
2050	@$(ECHO)  Clean Units......... $(CLEAN_UNITS)
2051	@$(ECHO)  Clean Files......... $(CLEAN_FILES)
2052	@$(ECHO)
2053	@$(ECHO)  Install Units....... $(INSTALL_UNITS)
2054	@$(ECHO)  Install Files....... $(INSTALL_FILES)
2055	@$(ECHO)
2056	@$(ECHO)  == Install info ==
2057	@$(ECHO)
2058	@$(ECHO)  DateStr.............. $(DATESTR)
2059	@$(ECHO)  ZipName.............. $(ZIPNAME)
2060	@$(ECHO)  ZipPrefix............ $(ZIPPREFIX)
2061	@$(ECHO)  ZipCrossPrefix....... $(ZIPCROSSPREFIX)
2062	@$(ECHO)  ZipSuffix............ $(ZIPSUFFIX)
2063	@$(ECHO)  FullZipName.......... $(FULLZIPNAME)
2064	@$(ECHO)  Install FPC Package.. $(INSTALL_FPCPACKAGE)
2065	@$(ECHO)
2066	@$(ECHO)  Install base dir..... $(INSTALL_BASEDIR)
2067	@$(ECHO)  Install binary dir... $(INSTALL_BINDIR)
2068	@$(ECHO)  Install library dir.. $(INSTALL_LIBDIR)
2069	@$(ECHO)  Install units dir.... $(INSTALL_UNITDIR)
2070	@$(ECHO)  Install source dir... $(INSTALL_SOURCEDIR)
2071	@$(ECHO)  Install doc dir...... $(INSTALL_DOCDIR)
2072	@$(ECHO)  Install example dir.. $(INSTALL_EXAMPLEDIR)
2073	@$(ECHO)  Install data dir..... $(INSTALL_DATADIR)
2074	@$(ECHO)
2075	@$(ECHO)  Dist destination dir. $(DIST_DESTDIR)
2076	@$(ECHO)  Dist zip name........ $(DIST_ZIPNAME)
2077	@$(ECHO)
2078.PHONY: fpc_info
2079fpc_info: $(INFORULES)
2080.PHONY: fpc_makefile fpc_makefiles fpc_makefile_sub1 fpc_makefile_sub2 \
2081	fpc_makefile_dirs
2082fpc_makefile:
2083	$(FPCMAKE) -w -T$(OS_TARGET) Makefile.fpc
2084fpc_makefile_sub1:
2085ifdef TARGET_DIRS
2086	$(FPCMAKE) -w -T$(OS_TARGET) $(addsuffix /Makefile.fpc,$(TARGET_DIRS))
2087endif
2088ifdef TARGET_EXAMPLEDIRS
2089	$(FPCMAKE) -w -T$(OS_TARGET) $(addsuffix /Makefile.fpc,$(TARGET_EXAMPLEDIRS))
2090endif
2091fpc_makefile_sub2: $(addsuffix _makefile_dirs,$(TARGET_DIRS) $(TARGET_EXAMPLEDIRS))
2092fpc_makefile_dirs: fpc_makefile_sub1 fpc_makefile_sub2
2093fpc_makefiles: fpc_makefile fpc_makefile_dirs
2094ifdef TARGET_DIRS_TARGET_DIRS
2095TARGET_DIRS_all:
2096	$(MAKE) -C TARGET_DIRS all
2097TARGET_DIRS_debug:
2098	$(MAKE) -C TARGET_DIRS debug
2099TARGET_DIRS_smart:
2100	$(MAKE) -C TARGET_DIRS smart
2101TARGET_DIRS_release:
2102	$(MAKE) -C TARGET_DIRS release
2103TARGET_DIRS_units:
2104	$(MAKE) -C TARGET_DIRS units
2105TARGET_DIRS_examples:
2106	$(MAKE) -C TARGET_DIRS examples
2107TARGET_DIRS_shared:
2108	$(MAKE) -C TARGET_DIRS shared
2109TARGET_DIRS_install:
2110	$(MAKE) -C TARGET_DIRS install
2111TARGET_DIRS_sourceinstall:
2112	$(MAKE) -C TARGET_DIRS sourceinstall
2113TARGET_DIRS_exampleinstall:
2114	$(MAKE) -C TARGET_DIRS exampleinstall
2115TARGET_DIRS_distinstall:
2116	$(MAKE) -C TARGET_DIRS distinstall
2117TARGET_DIRS_zipinstall:
2118	$(MAKE) -C TARGET_DIRS zipinstall
2119TARGET_DIRS_zipsourceinstall:
2120	$(MAKE) -C TARGET_DIRS zipsourceinstall
2121TARGET_DIRS_zipexampleinstall:
2122	$(MAKE) -C TARGET_DIRS zipexampleinstall
2123TARGET_DIRS_zipdistinstall:
2124	$(MAKE) -C TARGET_DIRS zipdistinstall
2125TARGET_DIRS_clean:
2126	$(MAKE) -C TARGET_DIRS clean
2127TARGET_DIRS_distclean:
2128	$(MAKE) -C TARGET_DIRS distclean
2129TARGET_DIRS_cleanall:
2130	$(MAKE) -C TARGET_DIRS cleanall
2131TARGET_DIRS_info:
2132	$(MAKE) -C TARGET_DIRS info
2133TARGET_DIRS_makefiles:
2134	$(MAKE) -C TARGET_DIRS makefiles
2135TARGET_DIRS:
2136	$(MAKE) -C TARGET_DIRS all
2137.PHONY: TARGET_DIRS_all TARGET_DIRS_debug TARGET_DIRS_smart TARGET_DIRS_release TARGET_DIRS_units TARGET_DIRS_examples TARGET_DIRS_shared TARGET_DIRS_install TARGET_DIRS_sourceinstall TARGET_DIRS_exampleinstall TARGET_DIRS_distinstall TARGET_DIRS_zipinstall TARGET_DIRS_zipsourceinstall TARGET_DIRS_zipexampleinstall TARGET_DIRS_zipdistinstall TARGET_DIRS_clean TARGET_DIRS_distclean TARGET_DIRS_cleanall TARGET_DIRS_info TARGET_DIRS_makefiles TARGET_DIRS
2138endif
2139ifdef TARGET_EXAMPLEDIRS_TARGET_EXAMPLEDIRS
2140TARGET_EXAMPLEDIRS_all:
2141	$(MAKE) -C TARGET_EXAMPLEDIRS all
2142TARGET_EXAMPLEDIRS_debug:
2143	$(MAKE) -C TARGET_EXAMPLEDIRS debug
2144TARGET_EXAMPLEDIRS_smart:
2145	$(MAKE) -C TARGET_EXAMPLEDIRS smart
2146TARGET_EXAMPLEDIRS_release:
2147	$(MAKE) -C TARGET_EXAMPLEDIRS release
2148TARGET_EXAMPLEDIRS_units:
2149	$(MAKE) -C TARGET_EXAMPLEDIRS units
2150TARGET_EXAMPLEDIRS_examples:
2151	$(MAKE) -C TARGET_EXAMPLEDIRS examples
2152TARGET_EXAMPLEDIRS_shared:
2153	$(MAKE) -C TARGET_EXAMPLEDIRS shared
2154TARGET_EXAMPLEDIRS_install:
2155	$(MAKE) -C TARGET_EXAMPLEDIRS install
2156TARGET_EXAMPLEDIRS_sourceinstall:
2157	$(MAKE) -C TARGET_EXAMPLEDIRS sourceinstall
2158TARGET_EXAMPLEDIRS_exampleinstall:
2159	$(MAKE) -C TARGET_EXAMPLEDIRS exampleinstall
2160TARGET_EXAMPLEDIRS_distinstall:
2161	$(MAKE) -C TARGET_EXAMPLEDIRS distinstall
2162TARGET_EXAMPLEDIRS_zipinstall:
2163	$(MAKE) -C TARGET_EXAMPLEDIRS zipinstall
2164TARGET_EXAMPLEDIRS_zipsourceinstall:
2165	$(MAKE) -C TARGET_EXAMPLEDIRS zipsourceinstall
2166TARGET_EXAMPLEDIRS_zipexampleinstall:
2167	$(MAKE) -C TARGET_EXAMPLEDIRS zipexampleinstall
2168TARGET_EXAMPLEDIRS_zipdistinstall:
2169	$(MAKE) -C TARGET_EXAMPLEDIRS zipdistinstall
2170TARGET_EXAMPLEDIRS_clean:
2171	$(MAKE) -C TARGET_EXAMPLEDIRS clean
2172TARGET_EXAMPLEDIRS_distclean:
2173	$(MAKE) -C TARGET_EXAMPLEDIRS distclean
2174TARGET_EXAMPLEDIRS_cleanall:
2175	$(MAKE) -C TARGET_EXAMPLEDIRS cleanall
2176TARGET_EXAMPLEDIRS_info:
2177	$(MAKE) -C TARGET_EXAMPLEDIRS info
2178TARGET_EXAMPLEDIRS_makefiles:
2179	$(MAKE) -C TARGET_EXAMPLEDIRS makefiles
2180TARGET_EXAMPLEDIRS:
2181	$(MAKE) -C TARGET_EXAMPLEDIRS all
2182.PHONY: TARGET_EXAMPLEDIRS_all TARGET_EXAMPLEDIRS_debug TARGET_EXAMPLEDIRS_smart TARGET_EXAMPLEDIRS_release TARGET_EXAMPLEDIRS_units TARGET_EXAMPLEDIRS_examples TARGET_EXAMPLEDIRS_shared TARGET_EXAMPLEDIRS_install TARGET_EXAMPLEDIRS_sourceinstall TARGET_EXAMPLEDIRS_exampleinstall TARGET_EXAMPLEDIRS_distinstall TARGET_EXAMPLEDIRS_zipinstall TARGET_EXAMPLEDIRS_zipsourceinstall TARGET_EXAMPLEDIRS_zipexampleinstall TARGET_EXAMPLEDIRS_zipdistinstall TARGET_EXAMPLEDIRS_clean TARGET_EXAMPLEDIRS_distclean TARGET_EXAMPLEDIRS_cleanall TARGET_EXAMPLEDIRS_info TARGET_EXAMPLEDIRS_makefiles TARGET_EXAMPLEDIRS
2183endif
2184units:
2185examples:
2186shared:
2187sourceinstall: fpc_sourceinstall
2188exampleinstall: fpc_exampleinstall
2189zipinstall: fpc_zipinstall
2190zipsourceinstall: fpc_zipsourceinstall
2191zipexampleinstall: fpc_zipexampleinstall
2192zipdistinstall: fpc_zipdistinstall
2193cleanall:
2194info: fpc_info
2195makefiles: fpc_makefiles
2196.PHONY: units examples shared sourceinstall exampleinstall zipinstall zipsourceinstall zipexampleinstall zipdistinstall cleanall info makefiles
2197ifneq ($(wildcard fpcmake.loc),)
2198include fpcmake.loc
2199endif
2200.NOTPARALLEL:
2201fpmake: fpmake.pp
2202	$(FPCFPMAKE) fpmake.pp $(FPMAKE_SKIP_CONFIG) $(addprefix -Fu,$(COMPILER_FPMAKE_UNITDIR)) $(FPCMAKEOPT) $(OPT)
2203all:	fpmake
2204	$(LOCALFPMAKE) compile --localunitdir=../.. --globalunitdir=.. $(FPC_TARGETOPT) $(addprefix -o ,$(FPCOPT)) --compiler=$(FPC) -bu
2205smart:	fpmake
2206	$(LOCALFPMAKE) compile --localunitdir=../.. --globalunitdir=.. $(FPC_TARGETOPT) $(addprefix -o ,$(FPCOPT)) --compiler=$(FPC) -bu -o -XX -o -CX
2207release:	fpmake
2208	$(LOCALFPMAKE) compile --localunitdir=../.. --globalunitdir=.. $(FPC_TARGETOPT) $(addprefix -o ,$(FPCOPT)) --compiler=$(FPC) -bu -o -dRELEASE
2209debug:	fpmake
2210	$(LOCALFPMAKE) compile --localunitdir=../.. --globalunitdir=.. $(FPC_TARGETOPT) $(addprefix -o ,$(FPCOPT)) --compiler=$(FPC) -bu -o -dDEBUG
2211ifeq ($(FPMAKE_BIN_CLEAN),)
2212clean:	
2213else
2214clean:	
2215	$(FPMAKE_BIN_CLEAN) clean --localunitdir=../.. --globalunitdir=.. $(FPC_TARGETOPT) $(addprefix -o ,$(FPCOPT)) --compiler=$(FPC)
2216endif
2217ifeq ($(FPMAKE_BIN_CLEAN),)
2218distclean:	$(addsuffix _distclean,$(TARGET_DIRS)) fpc_cleanall
2219else
2220distclean:	
2221ifdef inUnix
2222	{ $(FPMAKE_BIN_CLEAN) distclean --localunitdir=../.. --globalunitdir=.. $(FPC_TARGETOPT) $(addprefix -o ,$(FPCOPT)) --compiler=$(FPC); 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;  }
2223else
2224	$(FPMAKE_BIN_CLEAN) distclean --localunitdir=../.. --globalunitdir=.. $(FPC_TARGETOPT) $(addprefix -o ,$(FPCOPT)) --compiler=$(FPC)
2225endif
2226	-$(DEL) $(LOCALFPMAKE)
2227endif
2228install:	fpmake
2229ifdef UNIXHier
2230	$(LOCALFPMAKE) install --localunitdir=../.. --globalunitdir=.. $(FPC_TARGETOPT) $(addprefix -o ,$(FPCOPT)) --compiler=$(FPC) --prefix=$(INSTALL_PREFIX) --baseinstalldir=$(INSTALL_LIBDIR)/fpc/$(FPC_VERSION) --unitinstalldir=$(INSTALL_UNITDIR)
2231else
2232	$(LOCALFPMAKE) install --localunitdir=../.. --globalunitdir=.. $(FPC_TARGETOPT) $(addprefix -o ,$(FPCOPT)) --compiler=$(FPC) --prefix=$(INSTALL_BASEDIR) --unitinstalldir=$(INSTALL_UNITDIR)
2233endif
2234distinstall:	fpmake
2235ifdef UNIXHier
2236	$(LOCALFPMAKE) install --localunitdir=../.. --globalunitdir=.. $(FPC_TARGETOPT) $(addprefix -o ,$(FPCOPT)) --compiler=$(FPC) --prefix=$(INSTALL_PREFIX) --baseinstalldir=$(INSTALL_LIBDIR)/fpc/$(FPC_VERSION) --unitinstalldir=$(INSTALL_UNITDIR) -ie
2237else
2238	$(LOCALFPMAKE) install --localunitdir=../.. --globalunitdir=.. $(FPC_TARGETOPT) $(addprefix -o ,$(FPCOPT)) --compiler=$(FPC) --prefix=$(INSTALL_BASEDIR)  --unitinstalldir=$(INSTALL_UNITDIR) -ie
2239endif