PageRenderTime 134ms CodeModel.GetById 20ms app.highlight 98ms RepoModel.GetById 0ms app.codeStats 1ms

/packages/libndsfpc/examples/graphics/Backgrounds/all_in_one/Makefile

https://github.com/slibre/freepascal
Makefile | 3093 lines | 3090 code | 0 blank | 3 comment | 7 complexity | e320331be7d658eed0b879deb9be2732 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/04/25]
   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
   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 OS_TARGET_DEFAULT=nds
 104override CPU_TARGET_DEFAULT=arm
 105override DEFAULT_FPCDIR=../../../../../..
 106ifndef FPC
 107ifdef PP
 108FPC=$(PP)
 109endif
 110endif
 111ifndef FPC
 112FPCPROG:=$(strip $(wildcard $(addsuffix /fpc$(SRCEXEEXT),$(SEARCHPATH))))
 113ifneq ($(FPCPROG),)
 114FPCPROG:=$(firstword $(FPCPROG))
 115ifneq ($(CPU_TARGET),)
 116FPC:=$(shell $(FPCPROG) -P$(CPU_TARGET) -PB)
 117else
 118FPC:=$(shell $(FPCPROG) -PB)
 119endif
 120ifneq ($(findstring Error,$(FPC)),)
 121override FPC=$(firstword $(strip $(wildcard $(addsuffix /ppc386$(SRCEXEEXT),$(SEARCHPATH)))))
 122else
 123ifeq ($(strip $(wildcard $(FPC))),)
 124FPC:=$(firstword $(FPCPROG))
 125endif
 126endif
 127else
 128override FPC=$(firstword $(strip $(wildcard $(addsuffix /ppc386$(SRCEXEEXT),$(SEARCHPATH)))))
 129endif
 130endif
 131override FPC:=$(subst $(SRCEXEEXT),,$(FPC))
 132override FPC:=$(subst \,/,$(FPC))$(SRCEXEEXT)
 133FOUNDFPC:=$(strip $(wildcard $(FPC)))
 134ifeq ($(FOUNDFPC),)
 135FOUNDFPC=$(strip $(wildcard $(addsuffix /$(FPC),$(SEARCHPATH))))
 136ifeq ($(FOUNDFPC),)
 137$(error Compiler $(FPC) not found)
 138endif
 139endif
 140ifndef FPC_COMPILERINFO
 141FPC_COMPILERINFO:=$(shell $(FPC) -iVSPTPSOTO)
 142endif
 143ifndef FPC_VERSION
 144FPC_VERSION:=$(word 1,$(FPC_COMPILERINFO))
 145endif
 146export FPC FPC_VERSION FPC_COMPILERINFO
 147unexport CHECKDEPEND ALLDEPENDENCIES
 148ifndef CPU_TARGET
 149ifdef CPU_TARGET_DEFAULT
 150CPU_TARGET=$(CPU_TARGET_DEFAULT)
 151endif
 152endif
 153ifndef OS_TARGET
 154ifdef OS_TARGET_DEFAULT
 155OS_TARGET=$(OS_TARGET_DEFAULT)
 156endif
 157endif
 158ifndef CPU_SOURCE
 159CPU_SOURCE:=$(word 2,$(FPC_COMPILERINFO))
 160endif
 161ifndef CPU_TARGET
 162CPU_TARGET:=$(word 3,$(FPC_COMPILERINFO))
 163endif
 164ifndef OS_SOURCE
 165OS_SOURCE:=$(word 4,$(FPC_COMPILERINFO))
 166endif
 167ifndef OS_TARGET
 168OS_TARGET:=$(word 5,$(FPC_COMPILERINFO))
 169endif
 170FULL_TARGET=$(CPU_TARGET)-$(OS_TARGET)
 171FULL_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE)
 172ifeq ($(CPU_TARGET),armeb)
 173ARCH=arm
 174override FPCOPT+=-Cb
 175else
 176ifeq ($(CPU_TARGET),armel)
 177ARCH=arm
 178override FPCOPT+=-CaEABI
 179else
 180ARCH=$(CPU_TARGET)
 181endif
 182endif
 183ifeq ($(FULL_TARGET),arm-embedded)
 184ifeq ($(SUBARCH),)
 185$(error When compiling for arm-embedded, a sub-architecture (e.g. SUBARCH=armv4t or SUBARCH=armv7m) must be defined)
 186endif
 187override FPCOPT+=-Cp$(SUBARCH)
 188endif
 189ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 190TARGETSUFFIX=$(OS_TARGET)
 191SOURCESUFFIX=$(OS_SOURCE)
 192else
 193ifneq ($(findstring $(OS_TARGET),$(LIMIT83fs)),)
 194TARGETSUFFIX=$(OS_TARGET)
 195else
 196TARGETSUFFIX=$(FULL_TARGET)
 197endif
 198SOURCESUFFIX=$(FULL_SOURCE)
 199endif
 200ifneq ($(FULL_TARGET),$(FULL_SOURCE))
 201CROSSCOMPILE=1
 202endif
 203ifeq ($(findstring makefile,$(MAKECMDGOALS)),)
 204ifeq ($(findstring $(FULL_TARGET),$(MAKEFILETARGETS)),)
 205$(error The Makefile doesn't support target $(FULL_TARGET), please run fpcmake first)
 206endif
 207endif
 208ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
 209BSDhier=1
 210endif
 211ifeq ($(OS_TARGET),linux)
 212linuxHier=1
 213endif
 214export OS_TARGET OS_SOURCE ARCH CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE TARGETSUFFIX SOURCESUFFIX CROSSCOMPILE
 215ifdef FPCDIR
 216override FPCDIR:=$(subst \,/,$(FPCDIR))
 217ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
 218override FPCDIR=wrong
 219endif
 220else
 221override FPCDIR=wrong
 222endif
 223ifdef DEFAULT_FPCDIR
 224ifeq ($(FPCDIR),wrong)
 225override FPCDIR:=$(subst \,/,$(DEFAULT_FPCDIR))
 226ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
 227override FPCDIR=wrong
 228endif
 229endif
 230endif
 231ifeq ($(FPCDIR),wrong)
 232ifdef inUnix
 233override FPCDIR=/usr/local/lib/fpc/$(FPC_VERSION)
 234ifeq ($(wildcard $(FPCDIR)/units),)
 235override FPCDIR=/usr/lib/fpc/$(FPC_VERSION)
 236endif
 237else
 238override FPCDIR:=$(subst /$(FPC),,$(firstword $(strip $(wildcard $(addsuffix /$(FPC),$(SEARCHPATH))))))
 239override FPCDIR:=$(FPCDIR)/..
 240ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
 241override FPCDIR:=$(FPCDIR)/..
 242ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
 243override FPCDIR:=$(BASEDIR)
 244ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
 245override FPCDIR=c:/pp
 246endif
 247endif
 248endif
 249endif
 250endif
 251ifndef CROSSBINDIR
 252CROSSBINDIR:=$(wildcard $(FPCDIR)/bin/$(TARGETSUFFIX))
 253endif
 254ifneq ($(findstring $(OS_TARGET),darwin iphonesim),)
 255ifeq ($(OS_SOURCE),darwin)
 256DARWIN2DARWIN=1
 257endif
 258endif
 259ifndef BINUTILSPREFIX
 260ifndef CROSSBINDIR
 261ifdef CROSSCOMPILE
 262ifndef DARWIN2DARWIN
 263BINUTILSPREFIX=$(CPU_TARGET)-$(OS_TARGET)-
 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
 297BUILD = build
 298INC = inc
 299AUDIO_FILES = $(foreach dir, $(notdir $(wildcard audio/*.*)), $(CURDIR)/audio/$(dir))
 300GFX_FILES = $(foreach dir,gfx,$(notdir $(wildcard $(dir)/*.png)))
 301BIN_FILES = $(foreach dir,data,$(notdir $(wildcard $(dir)/*)))
 302ASM_FILES = $(foreach dir,asm,$(notdir $(wildcard $(dir)/*.s)))
 303ifeq ($(FULL_TARGET),i386-linux)
 304override TARGET_PROGRAMS+=BackgroundAllInOne
 305endif
 306ifeq ($(FULL_TARGET),i386-go32v2)
 307override TARGET_PROGRAMS+=BackgroundAllInOne
 308endif
 309ifeq ($(FULL_TARGET),i386-win32)
 310override TARGET_PROGRAMS+=BackgroundAllInOne
 311endif
 312ifeq ($(FULL_TARGET),i386-os2)
 313override TARGET_PROGRAMS+=BackgroundAllInOne
 314endif
 315ifeq ($(FULL_TARGET),i386-freebsd)
 316override TARGET_PROGRAMS+=BackgroundAllInOne
 317endif
 318ifeq ($(FULL_TARGET),i386-beos)
 319override TARGET_PROGRAMS+=BackgroundAllInOne
 320endif
 321ifeq ($(FULL_TARGET),i386-haiku)
 322override TARGET_PROGRAMS+=BackgroundAllInOne
 323endif
 324ifeq ($(FULL_TARGET),i386-netbsd)
 325override TARGET_PROGRAMS+=BackgroundAllInOne
 326endif
 327ifeq ($(FULL_TARGET),i386-solaris)
 328override TARGET_PROGRAMS+=BackgroundAllInOne
 329endif
 330ifeq ($(FULL_TARGET),i386-qnx)
 331override TARGET_PROGRAMS+=BackgroundAllInOne
 332endif
 333ifeq ($(FULL_TARGET),i386-netware)
 334override TARGET_PROGRAMS+=BackgroundAllInOne
 335endif
 336ifeq ($(FULL_TARGET),i386-openbsd)
 337override TARGET_PROGRAMS+=BackgroundAllInOne
 338endif
 339ifeq ($(FULL_TARGET),i386-wdosx)
 340override TARGET_PROGRAMS+=BackgroundAllInOne
 341endif
 342ifeq ($(FULL_TARGET),i386-darwin)
 343override TARGET_PROGRAMS+=BackgroundAllInOne
 344endif
 345ifeq ($(FULL_TARGET),i386-emx)
 346override TARGET_PROGRAMS+=BackgroundAllInOne
 347endif
 348ifeq ($(FULL_TARGET),i386-watcom)
 349override TARGET_PROGRAMS+=BackgroundAllInOne
 350endif
 351ifeq ($(FULL_TARGET),i386-netwlibc)
 352override TARGET_PROGRAMS+=BackgroundAllInOne
 353endif
 354ifeq ($(FULL_TARGET),i386-wince)
 355override TARGET_PROGRAMS+=BackgroundAllInOne
 356endif
 357ifeq ($(FULL_TARGET),i386-embedded)
 358override TARGET_PROGRAMS+=BackgroundAllInOne
 359endif
 360ifeq ($(FULL_TARGET),i386-symbian)
 361override TARGET_PROGRAMS+=BackgroundAllInOne
 362endif
 363ifeq ($(FULL_TARGET),i386-nativent)
 364override TARGET_PROGRAMS+=BackgroundAllInOne
 365endif
 366ifeq ($(FULL_TARGET),i386-iphonesim)
 367override TARGET_PROGRAMS+=BackgroundAllInOne
 368endif
 369ifeq ($(FULL_TARGET),m68k-linux)
 370override TARGET_PROGRAMS+=BackgroundAllInOne
 371endif
 372ifeq ($(FULL_TARGET),m68k-freebsd)
 373override TARGET_PROGRAMS+=BackgroundAllInOne
 374endif
 375ifeq ($(FULL_TARGET),m68k-netbsd)
 376override TARGET_PROGRAMS+=BackgroundAllInOne
 377endif
 378ifeq ($(FULL_TARGET),m68k-amiga)
 379override TARGET_PROGRAMS+=BackgroundAllInOne
 380endif
 381ifeq ($(FULL_TARGET),m68k-atari)
 382override TARGET_PROGRAMS+=BackgroundAllInOne
 383endif
 384ifeq ($(FULL_TARGET),m68k-openbsd)
 385override TARGET_PROGRAMS+=BackgroundAllInOne
 386endif
 387ifeq ($(FULL_TARGET),m68k-palmos)
 388override TARGET_PROGRAMS+=BackgroundAllInOne
 389endif
 390ifeq ($(FULL_TARGET),m68k-embedded)
 391override TARGET_PROGRAMS+=BackgroundAllInOne
 392endif
 393ifeq ($(FULL_TARGET),powerpc-linux)
 394override TARGET_PROGRAMS+=BackgroundAllInOne
 395endif
 396ifeq ($(FULL_TARGET),powerpc-netbsd)
 397override TARGET_PROGRAMS+=BackgroundAllInOne
 398endif
 399ifeq ($(FULL_TARGET),powerpc-amiga)
 400override TARGET_PROGRAMS+=BackgroundAllInOne
 401endif
 402ifeq ($(FULL_TARGET),powerpc-macos)
 403override TARGET_PROGRAMS+=BackgroundAllInOne
 404endif
 405ifeq ($(FULL_TARGET),powerpc-darwin)
 406override TARGET_PROGRAMS+=BackgroundAllInOne
 407endif
 408ifeq ($(FULL_TARGET),powerpc-morphos)
 409override TARGET_PROGRAMS+=BackgroundAllInOne
 410endif
 411ifeq ($(FULL_TARGET),powerpc-embedded)
 412override TARGET_PROGRAMS+=BackgroundAllInOne
 413endif
 414ifeq ($(FULL_TARGET),powerpc-wii)
 415override TARGET_PROGRAMS+=BackgroundAllInOne
 416endif
 417ifeq ($(FULL_TARGET),powerpc-aix)
 418override TARGET_PROGRAMS+=BackgroundAllInOne
 419endif
 420ifeq ($(FULL_TARGET),sparc-linux)
 421override TARGET_PROGRAMS+=BackgroundAllInOne
 422endif
 423ifeq ($(FULL_TARGET),sparc-netbsd)
 424override TARGET_PROGRAMS+=BackgroundAllInOne
 425endif
 426ifeq ($(FULL_TARGET),sparc-solaris)
 427override TARGET_PROGRAMS+=BackgroundAllInOne
 428endif
 429ifeq ($(FULL_TARGET),sparc-embedded)
 430override TARGET_PROGRAMS+=BackgroundAllInOne
 431endif
 432ifeq ($(FULL_TARGET),x86_64-linux)
 433override TARGET_PROGRAMS+=BackgroundAllInOne
 434endif
 435ifeq ($(FULL_TARGET),x86_64-freebsd)
 436override TARGET_PROGRAMS+=BackgroundAllInOne
 437endif
 438ifeq ($(FULL_TARGET),x86_64-netbsd)
 439override TARGET_PROGRAMS+=BackgroundAllInOne
 440endif
 441ifeq ($(FULL_TARGET),x86_64-solaris)
 442override TARGET_PROGRAMS+=BackgroundAllInOne
 443endif
 444ifeq ($(FULL_TARGET),x86_64-openbsd)
 445override TARGET_PROGRAMS+=BackgroundAllInOne
 446endif
 447ifeq ($(FULL_TARGET),x86_64-darwin)
 448override TARGET_PROGRAMS+=BackgroundAllInOne
 449endif
 450ifeq ($(FULL_TARGET),x86_64-win64)
 451override TARGET_PROGRAMS+=BackgroundAllInOne
 452endif
 453ifeq ($(FULL_TARGET),x86_64-embedded)
 454override TARGET_PROGRAMS+=BackgroundAllInOne
 455endif
 456ifeq ($(FULL_TARGET),arm-linux)
 457override TARGET_PROGRAMS+=BackgroundAllInOne
 458endif
 459ifeq ($(FULL_TARGET),arm-palmos)
 460override TARGET_PROGRAMS+=BackgroundAllInOne
 461endif
 462ifeq ($(FULL_TARGET),arm-darwin)
 463override TARGET_PROGRAMS+=BackgroundAllInOne
 464endif
 465ifeq ($(FULL_TARGET),arm-wince)
 466override TARGET_PROGRAMS+=BackgroundAllInOne
 467endif
 468ifeq ($(FULL_TARGET),arm-gba)
 469override TARGET_PROGRAMS+=BackgroundAllInOne
 470endif
 471ifeq ($(FULL_TARGET),arm-nds)
 472override TARGET_PROGRAMS+=BackgroundAllInOne
 473endif
 474ifeq ($(FULL_TARGET),arm-embedded)
 475override TARGET_PROGRAMS+=BackgroundAllInOne
 476endif
 477ifeq ($(FULL_TARGET),arm-symbian)
 478override TARGET_PROGRAMS+=BackgroundAllInOne
 479endif
 480ifeq ($(FULL_TARGET),powerpc64-linux)
 481override TARGET_PROGRAMS+=BackgroundAllInOne
 482endif
 483ifeq ($(FULL_TARGET),powerpc64-darwin)
 484override TARGET_PROGRAMS+=BackgroundAllInOne
 485endif
 486ifeq ($(FULL_TARGET),powerpc64-embedded)
 487override TARGET_PROGRAMS+=BackgroundAllInOne
 488endif
 489ifeq ($(FULL_TARGET),powerpc64-aix)
 490override TARGET_PROGRAMS+=BackgroundAllInOne
 491endif
 492ifeq ($(FULL_TARGET),avr-embedded)
 493override TARGET_PROGRAMS+=BackgroundAllInOne
 494endif
 495ifeq ($(FULL_TARGET),armeb-linux)
 496override TARGET_PROGRAMS+=BackgroundAllInOne
 497endif
 498ifeq ($(FULL_TARGET),armeb-embedded)
 499override TARGET_PROGRAMS+=BackgroundAllInOne
 500endif
 501ifeq ($(FULL_TARGET),mips-linux)
 502override TARGET_PROGRAMS+=BackgroundAllInOne
 503endif
 504ifeq ($(FULL_TARGET),mipsel-linux)
 505override TARGET_PROGRAMS+=BackgroundAllInOne
 506endif
 507ifeq ($(FULL_TARGET),i386-linux)
 508override CLEAN_UNITS+=*
 509endif
 510ifeq ($(FULL_TARGET),i386-go32v2)
 511override CLEAN_UNITS+=*
 512endif
 513ifeq ($(FULL_TARGET),i386-win32)
 514override CLEAN_UNITS+=*
 515endif
 516ifeq ($(FULL_TARGET),i386-os2)
 517override CLEAN_UNITS+=*
 518endif
 519ifeq ($(FULL_TARGET),i386-freebsd)
 520override CLEAN_UNITS+=*
 521endif
 522ifeq ($(FULL_TARGET),i386-beos)
 523override CLEAN_UNITS+=*
 524endif
 525ifeq ($(FULL_TARGET),i386-haiku)
 526override CLEAN_UNITS+=*
 527endif
 528ifeq ($(FULL_TARGET),i386-netbsd)
 529override CLEAN_UNITS+=*
 530endif
 531ifeq ($(FULL_TARGET),i386-solaris)
 532override CLEAN_UNITS+=*
 533endif
 534ifeq ($(FULL_TARGET),i386-qnx)
 535override CLEAN_UNITS+=*
 536endif
 537ifeq ($(FULL_TARGET),i386-netware)
 538override CLEAN_UNITS+=*
 539endif
 540ifeq ($(FULL_TARGET),i386-openbsd)
 541override CLEAN_UNITS+=*
 542endif
 543ifeq ($(FULL_TARGET),i386-wdosx)
 544override CLEAN_UNITS+=*
 545endif
 546ifeq ($(FULL_TARGET),i386-darwin)
 547override CLEAN_UNITS+=*
 548endif
 549ifeq ($(FULL_TARGET),i386-emx)
 550override CLEAN_UNITS+=*
 551endif
 552ifeq ($(FULL_TARGET),i386-watcom)
 553override CLEAN_UNITS+=*
 554endif
 555ifeq ($(FULL_TARGET),i386-netwlibc)
 556override CLEAN_UNITS+=*
 557endif
 558ifeq ($(FULL_TARGET),i386-wince)
 559override CLEAN_UNITS+=*
 560endif
 561ifeq ($(FULL_TARGET),i386-embedded)
 562override CLEAN_UNITS+=*
 563endif
 564ifeq ($(FULL_TARGET),i386-symbian)
 565override CLEAN_UNITS+=*
 566endif
 567ifeq ($(FULL_TARGET),i386-nativent)
 568override CLEAN_UNITS+=*
 569endif
 570ifeq ($(FULL_TARGET),i386-iphonesim)
 571override CLEAN_UNITS+=*
 572endif
 573ifeq ($(FULL_TARGET),m68k-linux)
 574override CLEAN_UNITS+=*
 575endif
 576ifeq ($(FULL_TARGET),m68k-freebsd)
 577override CLEAN_UNITS+=*
 578endif
 579ifeq ($(FULL_TARGET),m68k-netbsd)
 580override CLEAN_UNITS+=*
 581endif
 582ifeq ($(FULL_TARGET),m68k-amiga)
 583override CLEAN_UNITS+=*
 584endif
 585ifeq ($(FULL_TARGET),m68k-atari)
 586override CLEAN_UNITS+=*
 587endif
 588ifeq ($(FULL_TARGET),m68k-openbsd)
 589override CLEAN_UNITS+=*
 590endif
 591ifeq ($(FULL_TARGET),m68k-palmos)
 592override CLEAN_UNITS+=*
 593endif
 594ifeq ($(FULL_TARGET),m68k-embedded)
 595override CLEAN_UNITS+=*
 596endif
 597ifeq ($(FULL_TARGET),powerpc-linux)
 598override CLEAN_UNITS+=*
 599endif
 600ifeq ($(FULL_TARGET),powerpc-netbsd)
 601override CLEAN_UNITS+=*
 602endif
 603ifeq ($(FULL_TARGET),powerpc-amiga)
 604override CLEAN_UNITS+=*
 605endif
 606ifeq ($(FULL_TARGET),powerpc-macos)
 607override CLEAN_UNITS+=*
 608endif
 609ifeq ($(FULL_TARGET),powerpc-darwin)
 610override CLEAN_UNITS+=*
 611endif
 612ifeq ($(FULL_TARGET),powerpc-morphos)
 613override CLEAN_UNITS+=*
 614endif
 615ifeq ($(FULL_TARGET),powerpc-embedded)
 616override CLEAN_UNITS+=*
 617endif
 618ifeq ($(FULL_TARGET),powerpc-wii)
 619override CLEAN_UNITS+=*
 620endif
 621ifeq ($(FULL_TARGET),powerpc-aix)
 622override CLEAN_UNITS+=*
 623endif
 624ifeq ($(FULL_TARGET),sparc-linux)
 625override CLEAN_UNITS+=*
 626endif
 627ifeq ($(FULL_TARGET),sparc-netbsd)
 628override CLEAN_UNITS+=*
 629endif
 630ifeq ($(FULL_TARGET),sparc-solaris)
 631override CLEAN_UNITS+=*
 632endif
 633ifeq ($(FULL_TARGET),sparc-embedded)
 634override CLEAN_UNITS+=*
 635endif
 636ifeq ($(FULL_TARGET),x86_64-linux)
 637override CLEAN_UNITS+=*
 638endif
 639ifeq ($(FULL_TARGET),x86_64-freebsd)
 640override CLEAN_UNITS+=*
 641endif
 642ifeq ($(FULL_TARGET),x86_64-netbsd)
 643override CLEAN_UNITS+=*
 644endif
 645ifeq ($(FULL_TARGET),x86_64-solaris)
 646override CLEAN_UNITS+=*
 647endif
 648ifeq ($(FULL_TARGET),x86_64-openbsd)
 649override CLEAN_UNITS+=*
 650endif
 651ifeq ($(FULL_TARGET),x86_64-darwin)
 652override CLEAN_UNITS+=*
 653endif
 654ifeq ($(FULL_TARGET),x86_64-win64)
 655override CLEAN_UNITS+=*
 656endif
 657ifeq ($(FULL_TARGET),x86_64-embedded)
 658override CLEAN_UNITS+=*
 659endif
 660ifeq ($(FULL_TARGET),arm-linux)
 661override CLEAN_UNITS+=*
 662endif
 663ifeq ($(FULL_TARGET),arm-palmos)
 664override CLEAN_UNITS+=*
 665endif
 666ifeq ($(FULL_TARGET),arm-darwin)
 667override CLEAN_UNITS+=*
 668endif
 669ifeq ($(FULL_TARGET),arm-wince)
 670override CLEAN_UNITS+=*
 671endif
 672ifeq ($(FULL_TARGET),arm-gba)
 673override CLEAN_UNITS+=*
 674endif
 675ifeq ($(FULL_TARGET),arm-nds)
 676override CLEAN_UNITS+=*
 677endif
 678ifeq ($(FULL_TARGET),arm-embedded)
 679override CLEAN_UNITS+=*
 680endif
 681ifeq ($(FULL_TARGET),arm-symbian)
 682override CLEAN_UNITS+=*
 683endif
 684ifeq ($(FULL_TARGET),powerpc64-linux)
 685override CLEAN_UNITS+=*
 686endif
 687ifeq ($(FULL_TARGET),powerpc64-darwin)
 688override CLEAN_UNITS+=*
 689endif
 690ifeq ($(FULL_TARGET),powerpc64-embedded)
 691override CLEAN_UNITS+=*
 692endif
 693ifeq ($(FULL_TARGET),powerpc64-aix)
 694override CLEAN_UNITS+=*
 695endif
 696ifeq ($(FULL_TARGET),avr-embedded)
 697override CLEAN_UNITS+=*
 698endif
 699ifeq ($(FULL_TARGET),armeb-linux)
 700override CLEAN_UNITS+=*
 701endif
 702ifeq ($(FULL_TARGET),armeb-embedded)
 703override CLEAN_UNITS+=*
 704endif
 705ifeq ($(FULL_TARGET),mips-linux)
 706override CLEAN_UNITS+=*
 707endif
 708ifeq ($(FULL_TARGET),mipsel-linux)
 709override CLEAN_UNITS+=*
 710endif
 711ifeq ($(FULL_TARGET),i386-linux)
 712override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/*
 713endif
 714ifeq ($(FULL_TARGET),i386-go32v2)
 715override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/*
 716endif
 717ifeq ($(FULL_TARGET),i386-win32)
 718override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/*
 719endif
 720ifeq ($(FULL_TARGET),i386-os2)
 721override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/*
 722endif
 723ifeq ($(FULL_TARGET),i386-freebsd)
 724override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/*
 725endif
 726ifeq ($(FULL_TARGET),i386-beos)
 727override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/*
 728endif
 729ifeq ($(FULL_TARGET),i386-haiku)
 730override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/*
 731endif
 732ifeq ($(FULL_TARGET),i386-netbsd)
 733override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/*
 734endif
 735ifeq ($(FULL_TARGET),i386-solaris)
 736override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/*
 737endif
 738ifeq ($(FULL_TARGET),i386-qnx)
 739override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/*
 740endif
 741ifeq ($(FULL_TARGET),i386-netware)
 742override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/*
 743endif
 744ifeq ($(FULL_TARGET),i386-openbsd)
 745override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/*
 746endif
 747ifeq ($(FULL_TARGET),i386-wdosx)
 748override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/*
 749endif
 750ifeq ($(FULL_TARGET),i386-darwin)
 751override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/*
 752endif
 753ifeq ($(FULL_TARGET),i386-emx)
 754override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/*
 755endif
 756ifeq ($(FULL_TARGET),i386-watcom)
 757override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/*
 758endif
 759ifeq ($(FULL_TARGET),i386-netwlibc)
 760override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/*
 761endif
 762ifeq ($(FULL_TARGET),i386-wince)
 763override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/*
 764endif
 765ifeq ($(FULL_TARGET),i386-embedded)
 766override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/*
 767endif
 768ifeq ($(FULL_TARGET),i386-symbian)
 769override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/*
 770endif
 771ifeq ($(FULL_TARGET),i386-nativent)
 772override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/*
 773endif
 774ifeq ($(FULL_TARGET),i386-iphonesim)
 775override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/*
 776endif
 777ifeq ($(FULL_TARGET),m68k-linux)
 778override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/*
 779endif
 780ifeq ($(FULL_TARGET),m68k-freebsd)
 781override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/*
 782endif
 783ifeq ($(FULL_TARGET),m68k-netbsd)
 784override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/*
 785endif
 786ifeq ($(FULL_TARGET),m68k-amiga)
 787override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/*
 788endif
 789ifeq ($(FULL_TARGET),m68k-atari)
 790override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/*
 791endif
 792ifeq ($(FULL_TARGET),m68k-openbsd)
 793override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/*
 794endif
 795ifeq ($(FULL_TARGET),m68k-palmos)
 796override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/*
 797endif
 798ifeq ($(FULL_TARGET),m68k-embedded)
 799override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/*
 800endif
 801ifeq ($(FULL_TARGET),powerpc-linux)
 802override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/*
 803endif
 804ifeq ($(FULL_TARGET),powerpc-netbsd)
 805override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/*
 806endif
 807ifeq ($(FULL_TARGET),powerpc-amiga)
 808override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/*
 809endif
 810ifeq ($(FULL_TARGET),powerpc-macos)
 811override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/*
 812endif
 813ifeq ($(FULL_TARGET),powerpc-darwin)
 814override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/*
 815endif
 816ifeq ($(FULL_TARGET),powerpc-morphos)
 817override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/*
 818endif
 819ifeq ($(FULL_TARGET),powerpc-embedded)
 820override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/*
 821endif
 822ifeq ($(FULL_TARGET),powerpc-wii)
 823override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/*
 824endif
 825ifeq ($(FULL_TARGET),powerpc-aix)
 826override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/*
 827endif
 828ifeq ($(FULL_TARGET),sparc-linux)
 829override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/*
 830endif
 831ifeq ($(FULL_TARGET),sparc-netbsd)
 832override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/*
 833endif
 834ifeq ($(FULL_TARGET),sparc-solaris)
 835override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/*
 836endif
 837ifeq ($(FULL_TARGET),sparc-embedded)
 838override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/*
 839endif
 840ifeq ($(FULL_TARGET),x86_64-linux)
 841override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/*
 842endif
 843ifeq ($(FULL_TARGET),x86_64-freebsd)
 844override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/*
 845endif
 846ifeq ($(FULL_TARGET),x86_64-netbsd)
 847override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/*
 848endif
 849ifeq ($(FULL_TARGET),x86_64-solaris)
 850override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/*
 851endif
 852ifeq ($(FULL_TARGET),x86_64-openbsd)
 853override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/*
 854endif
 855ifeq ($(FULL_TARGET),x86_64-darwin)
 856override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/*
 857endif
 858ifeq ($(FULL_TARGET),x86_64-win64)
 859override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/*
 860endif
 861ifeq ($(FULL_TARGET),x86_64-embedded)
 862override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/*
 863endif
 864ifeq ($(FULL_TARGET),arm-linux)
 865override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/*
 866endif
 867ifeq ($(FULL_TARGET),arm-palmos)
 868override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/*
 869endif
 870ifeq ($(FULL_TARGET),arm-darwin)
 871override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/*
 872endif
 873ifeq ($(FULL_TARGET),arm-wince)
 874override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/*
 875endif
 876ifeq ($(FULL_TARGET),arm-gba)
 877override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/*
 878endif
 879ifeq ($(FULL_TARGET),arm-nds)
 880override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/*
 881endif
 882ifeq ($(FULL_TARGET),arm-embedded)
 883override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/*
 884endif
 885ifeq ($(FULL_TARGET),arm-symbian)
 886override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/*
 887endif
 888ifeq ($(FULL_TARGET),powerpc64-linux)
 889override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/*
 890endif
 891ifeq ($(FULL_TARGET),powerpc64-darwin)
 892override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/*
 893endif
 894ifeq ($(FULL_TARGET),powerpc64-embedded)
 895override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/*
 896endif
 897ifeq ($(FULL_TARGET),powerpc64-aix)
 898override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/*
 899endif
 900ifeq ($(FULL_TARGET),avr-embedded)
 901override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/*
 902endif
 903ifeq ($(FULL_TARGET),armeb-linux)
 904override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/*
 905endif
 906ifeq ($(FULL_TARGET),armeb-embedded)
 907override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/*
 908endif
 909ifeq ($(FULL_TARGET),mips-linux)
 910override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/*
 911endif
 912ifeq ($(FULL_TARGET),mipsel-linux)
 913override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/*
 914endif
 915override INSTALL_FPCPACKAGE=y
 916ifeq ($(FULL_TARGET),i386-linux)
 917override COMPILER_OPTIONS+=-g -Xm -O2
 918endif
 919ifeq ($(FULL_TARGET),i386-go32v2)
 920override COMPILER_OPTIONS+=-g -Xm -O2
 921endif
 922ifeq ($(FULL_TARGET),i386-win32)
 923override COMPILER_OPTIONS+=-g -Xm -O2
 924endif
 925ifeq ($(FULL_TARGET),i386-os2)
 926override COMPILER_OPTIONS+=-g -Xm -O2
 927endif
 928ifeq ($(FULL_TARGET),i386-freebsd)
 929override COMPILER_OPTIONS+=-g -Xm -O2
 930endif
 931ifeq ($(FULL_TARGET),i386-beos)
 932override COMPILER_OPTIONS+=-g -Xm -O2
 933endif
 934ifeq ($(FULL_TARGET),i386-haiku)
 935override COMPILER_OPTIONS+=-g -Xm -O2
 936endif
 937ifeq ($(FULL_TARGET),i386-netbsd)
 938override COMPILER_OPTIONS+=-g -Xm -O2
 939endif
 940ifeq ($(FULL_TARGET),i386-solaris)
 941override COMPILER_OPTIONS+=-g -Xm -O2
 942endif
 943ifeq ($(FULL_TARGET),i386-qnx)
 944override COMPILER_OPTIONS+=-g -Xm -O2
 945endif
 946ifeq ($(FULL_TARGET),i386-netware)
 947override COMPILER_OPTIONS+=-g -Xm -O2
 948endif
 949ifeq ($(FULL_TARGET),i386-openbsd)
 950override COMPILER_OPTIONS+=-g -Xm -O2
 951endif
 952ifeq ($(FULL_TARGET),i386-wdosx)
 953override COMPILER_OPTIONS+=-g -Xm -O2
 954endif
 955ifeq ($(FULL_TARGET),i386-darwin)
 956override COMPILER_OPTIONS+=-g -Xm -O2
 957endif
 958ifeq ($(FULL_TARGET),i386-emx)
 959override COMPILER_OPTIONS+=-g -Xm -O2
 960endif
 961ifeq ($(FULL_TARGET),i386-watcom)
 962override COMPILER_OPTIONS+=-g -Xm -O2
 963endif
 964ifeq ($(FULL_TARGET),i386-netwlibc)
 965override COMPILER_OPTIONS+=-g -Xm -O2
 966endif
 967ifeq ($(FULL_TARGET),i386-wince)
 968override COMPILER_OPTIONS+=-g -Xm -O2
 969endif
 970ifeq ($(FULL_TARGET),i386-embedded)
 971override COMPILER_OPTIONS+=-g -Xm -O2
 972endif
 973ifeq ($(FULL_TARGET),i386-symbian)
 974override COMPILER_OPTIONS+=-g -Xm -O2
 975endif
 976ifeq ($(FULL_TARGET),i386-nativent)
 977override COMPILER_OPTIONS+=-g -Xm -O2
 978endif
 979ifeq ($(FULL_TARGET),i386-iphonesim)
 980override COMPILER_OPTIONS+=-g -Xm -O2
 981endif
 982ifeq ($(FULL_TARGET),m68k-linux)
 983override COMPILER_OPTIONS+=-g -Xm -O2
 984endif
 985ifeq ($(FULL_TARGET),m68k-freebsd)
 986override COMPILER_OPTIONS+=-g -Xm -O2
 987endif
 988ifeq ($(FULL_TARGET),m68k-netbsd)
 989override COMPILER_OPTIONS+=-g -Xm -O2
 990endif
 991ifeq ($(FULL_TARGET),m68k-amiga)
 992override COMPILER_OPTIONS+=-g -Xm -O2
 993endif
 994ifeq ($(FULL_TARGET),m68k-atari)
 995override COMPILER_OPTIONS+=-g -Xm -O2
 996endif
 997ifeq ($(FULL_TARGET),m68k-openbsd)
 998override COMPILER_OPTIONS+=-g -Xm -O2
 999endif
1000ifeq ($(FULL_TARGET),m68k-palmos)
1001override COMPILER_OPTIONS+=-g -Xm -O2
1002endif
1003ifeq ($(FULL_TARGET),m68k-embedded)
1004override COMPILER_OPTIONS+=-g -Xm -O2
1005endif
1006ifeq ($(FULL_TARGET),powerpc-linux)
1007override COMPILER_OPTIONS+=-g -Xm -O2
1008endif
1009ifeq ($(FULL_TARGET),powerpc-netbsd)
1010override COMPILER_OPTIONS+=-g -Xm -O2
1011endif
1012ifeq ($(FULL_TARGET),powerpc-amiga)
1013override COMPILER_OPTIONS+=-g -Xm -O2
1014endif
1015ifeq ($(FULL_TARGET),powerpc-macos)
1016override COMPILER_OPTIONS+=-g -Xm -O2
1017endif
1018ifeq ($(FULL_TARGET),powerpc-darwin)
1019override COMPILER_OPTIONS+=-g -Xm -O2
1020endif
1021ifeq ($(FULL_TARGET),powerpc-morphos)
1022override COMPILER_OPTIONS+=-g -Xm -O2
1023endif
1024ifeq ($(FULL_TARGET),powerpc-embedded)
1025override COMPILER_OPTIONS+=-g -Xm -O2
1026endif
1027ifeq ($(FULL_TARGET),powerpc-wii)
1028override COMPILER_OPTIONS+=-g -Xm -O2
1029endif
1030ifeq ($(FULL_TARGET),powerpc-aix)
1031override COMPILER_OPTIONS+=-g -Xm -O2
1032endif
1033ifeq ($(FULL_TARGET),sparc-linux)
1034override COMPILER_OPTIONS+=-g -Xm -O2
1035endif
1036ifeq ($(FULL_TARGET),sparc-netbsd)
1037override COMPILER_OPTIONS+=-g -Xm -O2
1038endif
1039ifeq ($(FULL_TARGET),sparc-solaris)
1040override COMPILER_OPTIONS+=-g -Xm -O2
1041endif
1042ifeq ($(FULL_TARGET),sparc-embedded)
1043override COMPILER_OPTIONS+=-g -Xm -O2
1044endif
1045ifeq ($(FULL_TARGET),x86_64-linux)
1046override COMPILER_OPTIONS+=-g -Xm -O2
1047endif
1048ifeq ($(FULL_TARGET),x86_64-freebsd)
1049override COMPILER_OPTIONS+=-g -Xm -O2
1050endif
1051ifeq ($(FULL_TARGET),x86_64-netbsd)
1052override COMPILER_OPTIONS+=-g -Xm -O2
1053endif
1054ifeq ($(FULL_TARGET),x86_64-solaris)
1055override COMPILER_OPTIONS+=-g -Xm -O2
1056endif
1057ifeq ($(FULL_TARGET),x86_64-openbsd)
1058override COMPILER_OPTIONS+=-g -Xm -O2
1059endif
1060ifeq ($(FULL_TARGET),x86_64-darwin)
1061override COMPILER_OPTIONS+=-g -Xm -O2
1062endif
1063ifeq ($(FULL_TARGET),x86_64-win64)
1064override COMPILER_OPTIONS+=-g -Xm -O2
1065endif
1066ifeq ($(FULL_TARGET),x86_64-embedded)
1067override COMPILER_OPTIONS+=-g -Xm -O2
1068endif
1069ifeq ($(FULL_TARGET),arm-linux)
1070override COMPILER_OPTIONS+=-g -Xm -O2
1071endif
1072ifeq ($(FULL_TARGET),arm-palmos)
1073override COMPILER_OPTIONS+=-g -Xm -O2
1074endif
1075ifeq ($(FULL_TARGET),arm-darwin)
1076override COMPILER_OPTIONS+=-g -Xm -O2
1077endif
1078ifeq ($(FULL_TARGET),arm-wince)
1079override COMPILER_OPTIONS+=-g -Xm -O2
1080endif
1081ifeq ($(FULL_TARGET),arm-gba)
1082override COMPILER_OPTIONS+=-g -Xm -O2
1083endif
1084ifeq ($(FULL_TARGET),arm-nds)
1085override COMPILER_OPTIONS+=-g -Xm -O2
1086endif
1087ifeq ($(FULL_TARGET),arm-embedded)
1088override COMPILER_OPTIONS+=-g -Xm -O2
1089endif
1090ifeq ($(FULL_TARGET),arm-symbian)
1091override COMPILER_OPTIONS+=-g -Xm -O2
1092endif
1093ifeq ($(FULL_TARGET),powerpc64-linux)
1094override COMPILER_OPTIONS+=-g -Xm -O2
1095endif
1096ifeq ($(FULL_TARGET),powerpc64-darwin)
1097override COMPILER_OPTIONS+=-g -Xm -O2
1098endif
1099ifeq ($(FULL_TARGET),powerpc64-embedded)
1100override COMPILER_OPTIONS+=-g -Xm -O2
1101endif
1102ifeq ($(FULL_TARGET),powerpc64-aix)
1103override COMPILER_OPTIONS+=-g -Xm -O2
1104endif
1105ifeq ($(FULL_TARGET),avr-embedded)
1106override COMPILER_OPTIONS+=-g -Xm -O2
1107endif
1108ifeq ($(FULL_TARGET),armeb-linux)
1109override COMPILER_OPTIONS+=-g -Xm -O2
1110endif
1111ifeq ($(FULL_TARGET),armeb-embedded)
1112override COMPILER_OPTIONS+=-g -Xm -O2
1113endif
1114ifeq ($(FULL_TARGET),mips-linux)
1115override COMPILER_OPTIONS+=-g -Xm -O2
1116endif
1117ifeq ($(FULL_TARGET),mipsel-linux)
1118override COMPILER_OPTIONS+=-g -Xm -O2
1119endif
1120ifdef REQUIRE_UNITSDIR
1121override UNITSDIR+=$(REQUIRE_UNITSDIR)
1122endif
1123ifdef REQUIRE_PACKAGESDIR
1124override PACKAGESDIR+=$(REQUIRE_PACKAGESDIR)
1125endif
1126ifdef ZIPINSTALL
1127ifneq ($(findstring $(OS_TARGET),$(UNIXs)),)
1128UNIXHier=1
1129endif
1130else
1131ifneq ($(findstring $(OS_SOURCE),$(UNIXs)),)
1132UNIXHier=1
1133endif
1134endif
1135ifndef INSTALL_PREFIX
1136ifdef PREFIX
1137INSTALL_PREFIX=$(PREFIX)
1138endif
1139endif
1140ifndef INSTALL_PREFIX
1141ifdef UNIXHier
1142INSTALL_PREFIX=/usr/local
1143else
1144ifdef INSTALL_FPCPACKAGE
1145INSTALL_BASEDIR:=/pp
1146else
1147INSTALL_BASEDIR:=/$(PACKAGE_NAME)
1148endif
1149endif
1150endif
1151export INSTALL_PREFIX
1152ifdef INSTALL_FPCSUBDIR
1153export INSTALL_FPCSUBDIR
1154endif
1155ifndef DIST_DESTDIR
1156DIST_DESTDIR:=$(BASEDIR)
1157endif
1158export DIST_DESTDIR
1159ifndef COMPILER_UNITTARGETDIR
1160ifdef PACKAGEDIR_MAIN
1161COMPILER_UNITTARGETDIR=$(PACKAGEDIR_MAIN)/units/$(TARGETSUFFIX)
1162else
1163COMPILER_UNITTARGETDIR=units/$(TARGETSUFFIX)
1164endif
1165endif
1166ifndef COMPILER_TARGETDIR
1167COMPILER_TARGETDIR=.
1168endif
1169ifndef INSTALL_BASEDIR
1170ifdef UNIXHier
1171ifdef INSTALL_FPCPACKAGE
1172INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
1173else
1174INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/$(PACKAGE_NAME)
1175endif
1176else
1177INSTALL_BASEDIR:=$(INSTALL_PREFIX)
1178endif
1179endif
1180ifndef INSTALL_BINDIR
1181ifdef UNIXHier
1182INSTALL_BINDIR:=$(INSTALL_PREFIX)/bin
1183else
1184INSTALL_BINDIR:=$(INSTALL_BASEDIR)/bin
1185ifdef INSTALL_FPCPACKAGE
1186ifdef CROSSCOMPILE
1187ifdef CROSSINSTALL
1188INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(SOURCESUFFIX)
1189else
1190INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(TARGETSUFFIX)
1191endif
1192else
1193INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(TARGETSUFFIX)
1194endif
1195endif
1196endif
1197endif
1198ifndef INSTALL_UNITDIR
1199INSTALL_UNITDIR:=$(INSTALL_BASEDIR)/units/$(TARGETSUFFIX)
1200ifdef INSTALL_FPCPACKAGE
1201ifdef PACKAGE_NAME
1202INSTALL_UNITDIR:=$(INSTALL_UNITDIR)/$(PACKAGE_NAME)
1203endif
1204endif
1205endif
1206ifndef INSTALL_LIBDIR
1207ifdef UNIXHier
1208INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
1209else
1210INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
1211endif
1212endif
1213ifndef INSTALL_SOURCEDIR
1214ifdef UNIXHier
1215ifdef BSDhier
1216SRCPREFIXDIR=share/src
1217else
1218ifdef linuxHier
1219SRCPREFIXDIR=share/src
1220else
1221SRCPREFIXDIR=src
1222endif
1223endif
1224ifdef INSTALL_FPCPACKAGE
1225ifdef INSTALL_FPCSUBDIR
1226INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
1227else
1228INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
1229endif
1230else
1231INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
1232endif
1233else
1234ifdef INSTALL_FPCPACKAGE
1235ifdef INSTALL_FPCSUBDIR
1236INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
1237else
1238INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(PACKAGE_NAME)
1239endif
1240else
1241INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source
1242endif
1243endif
1244endif
1245ifndef INSTALL_DOCDIR
1246ifdef UNIXHier
1247ifdef BSDhier
1248DOCPREFIXDIR=share/doc
1249else
1250ifdef linuxHier
1251DOCPREFIXDIR=share/doc
1252else
1253DOCPREFIXDIR=doc
1254endif
1255endif
1256ifdef INSTALL_FPCPACKAGE
1257INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
1258else
1259INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
1260endif
1261else
1262ifdef INSTALL_FPCPACKAGE
1263INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc/$(PACKAGE_NAME)
1264else
1265INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc
1266endif
1267endif
1268endif
1269ifndef INSTALL_EXAMPLEDIR
1270ifdef UNIXHier
1271ifdef INSTALL_FPCPACKAGE
1272ifdef BSDhier
1273INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
1274else
1275ifdef linuxHier
1276INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples
1277else
1278INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
1279endif
1280endif
1281else
1282ifdef BSDhier
1283INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
1284else
1285ifdef linuxHier
1286INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
1287else
1288INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
1289endif
1290endif
1291endif
1292else
1293ifdef INSTALL_FPCPACKAGE
1294INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
1295else
1296INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples
1297endif
1298endif
1299endif
1300ifndef INSTALL_DATADIR
1301INSTALL_DATADIR=$(INSTALL_BASEDIR)
1302endif
1303ifndef INSTALL_SHAREDDIR
1304INSTALL_SHAREDDIR=$(INSTALL_PREFIX)/lib
1305endif
1306ifdef CROSSCOMPILE
1307ifndef CROSSBINDIR
1308CROSSBINDIR:=$(wildcard $(CROSSTARGETDIR)/bin/$(SOURCESUFFIX))
1309ifeq ($(CROSSBINDIR),)
1310CROSSBINDIR:=$(wildcard $(INSTALL_BASEDIR)/cross/$(TARGETSUFFIX)/bin/$(FULL_SOURCE))
1311endif
1312endif
1313else
1314CROSSBINDIR=
1315endif
1316BATCHEXT=.bat
1317LOADEREXT=.as
1318EXEEXT=.exe
1319PPLEXT=.ppl
1320PPUEXT=.ppu
1321OEXT=.o
1322ASMEXT=.s
1323SMARTEXT=.sl
1324STATICLIBEXT=.a
1325SHAREDLIBEXT=.so
1326SHAREDLIBPREFIX=libfp
1327STATICLIBPREFIX=libp
1328IMPORTLIBPREFIX=libimp
1329RSTEXT=.rst
1330EXEDBGEXT=.dbg
1331ifeq ($(OS_TARGET),go32v1)
1332STATICLIBPREFIX=
1333SHORTSUFFIX=v1
1334endif
1335ifeq ($(OS_TARGET),go32v2)
1336STATICLIBPREFIX=
1337SHORTSUFFIX=dos
1338IMPORTLIBPREFIX=
1339endif
1340ifeq ($(OS_TARGET),watcom)
1341STATICLIBPREFIX=
1342OEXT=.obj
1343ASMEXT=.asm
1344SHAREDLIBEXT=.dll
1345SHORTSUFFIX=wat
1346IMPORTLIBPREFIX=
1347endif
1348ifeq ($(OS_TARGET),linux)
1349BATCHEXT=.sh
1350EXEEXT=
1351HASSHAREDLIB=1
1352SHORTSUFFIX=lnx
1353endif
1354ifeq ($(OS_TARGET),freebsd)
1355BATCHEXT=.sh
1356EXEEXT=
1357HASSHAREDLIB=1
1358SHORTSUFFIX=fbs
1359endif
1360ifeq ($(OS_TARGET),netbsd)
1361BATCHEXT=.sh
1362EXEEXT=
1363HASSHAREDLIB=1
1364SHORTSUFFIX=nbs
1365endif
1366ifeq ($(OS_TARGET),openbsd)
1367BATCHEXT=.sh
1368EXEEXT=
1369HASSHAREDLIB=1
1370SHORTSUFFIX=obs
1371endif
1372ifeq ($(OS_TARGET),win32)
1373SHAREDLIBEXT=.dll
1374SHORTSUFFIX=w32
1375endif
1376ifeq ($(OS_TARGET),os2)
1377BATCHEXT=.cmd
1378AOUTEXT=.out
1379STATICLIBPREFIX=
1380SHAREDLIBEXT=.dll
1381SHORTSUFFIX=os2
1382ECHO=echo
1383IMPORTLIBPREFIX=
1384endif
1385ifeq ($(OS_TARGET),emx)
1386BATCHEXT=.cmd
1387AOUTEXT=.out
1388STATICLIBPREFIX=
1389SHAREDLIBEXT=.dll
1390SHORTSUFFIX=emx
1391ECHO=echo
1392IMPORTLIBPREFIX=
1393endif
1394ifeq ($(OS_TARGET),amiga)
1395EXEEXT=
1396SHAREDLIBEXT=.library
1397SHORTSUFFIX=amg
1398endif
1399ifeq ($(OS_TARGET),morphos)
1400EXEEXT=
1401SHAREDLIBEXT=.library
1402SHORTSUFFIX=mos
1403endif
1404ifeq ($(OS_TARGET),atari)
1405EXEEXT=.ttp
1406SHORTSUFFIX=ata
1407endif
1408ifeq ($(OS_TARGET),beos)
1409BATCHEXT=.sh
1410EXEEXT=
1411SHORTSUFFIX=be
1412endif
1413ifeq ($(OS_TARGET),haiku)
1414BATCHEXT=.sh
1415EXEEXT=
1416SHORTSUFFIX=hai
1417endif
1418ifeq ($(OS_TARGET),solaris)
1419BATCHEXT=.sh
1420EXEEXT=
1421SHORTSUFFIX=sun
1422endif
1423ifeq ($(OS_TARGET),qnx)
1424BATCHEXT=.sh
1425EXEEXT=
1426SHORTSUFFIX=qnx
1427endif
1428ifeq ($(OS_TARGET),netware)
1429EXEEXT=.nlm
1430STATICLIBPREFIX=
1431SHORTSUFFIX=nw
1432IMPORTLIBPREFIX=imp
1433endif
1434ifeq ($(OS_TARGET),netwlibc)
1435EXEEXT=.nlm
1436STATICLIBPREFIX=
1437SHORTSUFFIX=nwl
1438IMPORTLIBPREFIX=imp
1439endif
1440ifeq ($(OS_TARGET),macos)
1441BATCHEXT=
1442EXEEXT=
1443DEBUGSYMEXT=.xcoff
1444SHORTSUFFIX=mac
1445IMPORTLIBPREFIX=imp
1446endif
1447ifneq ($(findstring $(OS_TARGET),darwin iphonesim),)
1448BATCHEXT=.sh
1449EXEEXT=
1450HASSHAREDLIB=1
1451SHORTSUFFIX=dwn
1452EXEDBGEXT=.dSYM
1453endif
1454ifeq ($(OS_TARGET),gba)
1455EXEEXT=.gba
1456SHAREDLIBEXT=.so
1457SHORTSUFFIX=gba
1458endif
1459ifeq ($(OS_TARGET),symbian)
1460SHAREDLIBEXT=.dll
1461SHORTSUFFIX=symbian
1462endif
1463ifeq ($(OS_TARGET),NativeNT)
1464SHAREDLIBEXT=.dll
1465SHORTSUFFIX=nativent
1466endif
1467ifeq ($(OS_TARGET),wii)
1468EXEEXT=.dol
1469SHAREDLIBEXT=.so
1470SHORTSUFFIX=wii
1471endif
1472ifeq ($(OS_TARGET),aix)
1473BATCHEXT=.sh
1474EXEEXT=
1475SHORTSUFFIX=aix
1476endif
1477ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
1478FPCMADE=fpcmade.$(SHORTSUFFIX)
1479ZIPSUFFIX=$(SHORTSUFFIX)
1480ZIPCROSSPREFIX=
1481ZIPSOURCESUFFIX=src
1482ZIPEXAMPLESUFFIX=exm
1483else
1484FPCMADE=fpcmade.$(TARGETSUFFIX)
1485ZIPSOURCESUFFIX=.source
1486ZIPEXAMPLESUFFIX=.examples
1487ifdef CROSSCOMPILE
1488ZIPSUFFIX=.$(SOURCESUFFIX)
1489ZIPCROSSPREFIX=$(TARGETSUFFIX)-
1490else
1491ZIPSUFFIX=.$(TARGETSUFFIX)
1492ZIPCROSSPREFIX=
1493endif
1494endif
1495ifndef ECHO
1496ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
1497ifeq ($(ECHO),)
1498ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
1499ifeq ($(ECHO),)
1500ECHO= __missing_command_ECHO
1501else
1502ECHO:=$(firstword $(ECHO))
1503endif
1504else
1505ECHO:=$(firstword $(ECHO))
1506endif
1507endif
1508export ECHO
1509ifndef DATE
1510DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
1511ifeq ($(DATE),)
1512DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
1513ifeq ($(DATE),)
1514DATE= __missing_command_DATE
1515else
1516DATE:=$(firstword $(DATE))
1517endif
1518else
1519DATE:=$(firstword $(DATE))
1520endif
1521endif
1522export DATE
1523ifndef GINSTALL
1524GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
1525ifeq ($(GINSTALL),)
1526GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
1527ifeq ($(GINSTALL),)
1528GINSTALL= __missing_command_GINSTALL
1529else
1530GINSTALL:=$(firstword $(GINSTALL))
1531endif
1532else
1533GINSTALL:=$(firstword $(GINSTALL))
1534endif
1535endif
1536export GINSTALL
1537ifndef CPPROG
1538CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
1539ifeq ($(CPPROG),)
1540CPPROG= __missing_command_CPPROG
1541else
1542CPPROG:=$(firstword $(CPPROG))
1543endif
1544endif
1545export CPPROG
1546ifndef RMPROG
1547RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
1548ifeq ($(RMPROG),)
1549RMPROG= __missing_command_RMPROG
1550else
1551RMPROG:=$(firstword $(RMPROG))
1552endif
1553endif
1554export RMPROG
1555ifndef MVPROG
1556MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
1557ifeq ($(MVPROG),)
1558MVPROG= __missing_command_MVPROG
1559else
1560MVPROG:=$(firstword $(MVPROG))
1561endif
1562endif
1563export MVPROG
1564ifndef MKDIRPROG
1565MKDIRPROG:=$(strip $(wildcard $(addsuffix /gmkdir$(SRCEXEEXT),$(SEARCHPATH))))
1566ifeq ($(MKDIRPROG),)
1567MKDIRPROG:=$(strip $(wildcard $(addsuffix /mkdir$(SRCEXEEXT),$(SEARCHPATH))))
1568ifeq ($(MKDIRPROG),)
1569MKDIRPROG= __missing_command_MKDIRPROG
1570else
1571MKDIRPROG:=$(firstword $(MKDIRPROG))
1572endif
1573else
1574MKDIRPROG:=$(firstword $(MKDIRPROG))
1575endif
1576endif
1577export MKDIRPROG
1578ifndef ECHOREDIR
1579ifndef inUnix
1580ECHOREDIR=echo
1581else
1582ECHOREDIR=$(ECHO)
1583endif
1584endif
1585ifndef COPY
1586COPY:=$(CPPROG) -fp
1587endif
1588ifndef COPYTREE
1589COPYTREE:=$(CPPROG) -Rfp
1590endif
1591ifndef MKDIRTREE
1592MKDIRTREE:=$(MKDIRPROG) -p
1593endif
1594ifndef MOVE
1595MOVE:=$(MVPROG) -f
1596endif
1597ifndef DEL
1598DEL:=$(RMPROG) -f
1599endif
1600ifndef DELTREE
1601DELTREE:=$(RMPROG) -rf
1602endif
1603ifndef INSTALL
1604ifdef inUnix
1605INSTALL:=$(GINSTALL) -c -m 644
1606else
1607INSTALL:=$(COPY)
1608endif
1609endif
1610ifndef INSTALLEXE
1611ifdef inUnix
1612INSTALLEXE:=$(GINSTALL) -c -m 755
1613else
1614INSTALLEXE:=$(COPY)
1615endif
1616endif
1617ifndef MKDIR
1618MKDIR:=$(GINSTALL) -m 755 -d
1619endif
1620export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
1621ifndef PPUMOVE
1622PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
1623ifeq ($(PPUMOVE),)
1624PPUMOVE= __missing_command_PPUMOVE
1625else
1626PPUMOVE:=$(firstword $(PPUMOVE))
1627endif
1628endif
1629export PPUMOVE
1630ifndef FPCMAKE
1631FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
1632ifeq ($(FPCMAKE),)
1633FPCMAKE= __missing_command_FPCMAKE
1634else
1635FPCMAKE:=$(firstword $(FPCMAKE))
1636endif
1637endif
1638export FPCMAKE
1639ifndef ZIPPROG
1640ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
1641ifeq ($(ZIPPROG),)
1642ZIPPROG= __missing_command_ZIPPROG
1643else
1644ZIPPROG:=$(firstword $(ZIPPROG))
1645endif
1646endif
1647export ZIPPROG
1648ifndef TARPROG
1649TARPROG:=$(strip $(wildcard $(addsuffix /gtar$(SRCEXEEXT),$(SEARCHPATH))))
1650ifeq ($(TARPROG),)
1651TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
1652ifeq ($(TARPROG),)
1653TARPROG= __missing_command_TARPROG
1654else
1655TARPROG:=$(firstword $(TARPROG))
1656endif
1657else
1658TARPROG:=$(firstword $(TARPROG))
1659endif
1660endif
1661export TARPROG
1662ASNAME=$(BINUTILSPREFIX)as
1663LDNAME=$(BINUTILSPREFIX)ld
1664ARNAME=$(BINUTILSPREFIX)ar
1665RCNAME=$(BINUTILSPREFIX)rc
1666ifndef ASPROG
1667ifdef CROSSBINDIR
1668ASPROG=$(CROSSBINDIR)/$(ASNAME)$(SRCEXEEXT)
1669else
1670ASPROG=$(ASNAME)
1671endif
1672endif
1673ifndef LDPROG
1674ifdef CROSSBINDIR
1675LDPROG=$(CROSSBINDIR)/$(LDNAME)$(SRCEXEEXT)
1676else
1677LDPROG=$(LDNAME)
1678endif
1679endif
1680ifndef RCPROG
1681ifdef CROSSBINDIR
1682RCPROG=$(CROSSBINDIR)/$(RCNAME)$(SRCEXEEXT)
1683else
1684RCPROG=$(RCNAME)
1685endif
1686endif
1687ifndef ARPROG
1688ifdef CROSSBINDIR
1689ARPROG=$(CROSSBINDIR)/$(ARNAME)$(SRCEXEEXT)
1690else
1691ARPROG=$(ARNAME)
1692endif
1693endif
1694AS=$(ASPROG)
1695LD=$(LDPROG)
1696RC=$(RCPROG)
1697AR=$(ARPROG)
1698PPAS=ppas$(SRCBATCHEXT)
1699ifdef inUnix
1700LDCONFIG=ldconfig
1701else
1702LDCONFIG=
1703endif
1704ifdef DATE
1705DATESTR:=$(shell $(DATE) +%Y%m%d)
1706else
1707DATESTR=
1708endif
1709ZIPOPT=-9
1710ZIPEXT=.zip
1711ifeq ($(USETAR),bz2)
1712TAROPT=vj
1713TAREXT=.tar.bz2
1714else
1715TAROPT=vz
1716TAREXT=.tar.gz
1717endif
1718override REQUIRE_PACKAGES=libndsfpc
1719ifeq ($(FULL_TARGET),i386-linux)
1720REQUIRE_PACKAGES_RTL=1
1721REQUIRE_PACKAGES_PASZLIB=1
1722REQUIRE_PACKAGES_FCL-PROCESS=1
1723REQUIRE_PACKAGES_HASH=1
1724REQUIRE_PACKAGES_FPMKUNIT=1
1725REQUIRE_PACKAGES_LIBNDSFPC=1
1726endif
1727ifeq ($(FULL_TARGET),i386-go32v2)
1728REQUIRE_PACKAGES_RTL=1
1729REQUIRE_PACKAGES_PASZLIB=1
1730REQUIRE_PACKAGES_FCL-PROCESS=1
1731REQUIRE_PACKAGES_HASH=1
1732REQUIRE_PACKAGES_FPMKUNIT=1
1733REQUIRE_PACKAGES_LIBNDSFPC=1
1734endif
1735ifeq ($(FULL_TARGET),i386-win32)
1736REQUIRE_PACKAGES_RTL=1
1737REQUIRE_PACKAGES_PASZLIB=1
1738REQUIRE_PACKAGES_FCL-PROCESS=1
1739REQUIRE_PACKAGES_HASH=1
1740REQUIRE_PACKAGES_FPMKUNIT=1
1741REQUIRE_PACKAGES_LIBNDSFPC=1
1742endif
1743ifeq ($(FULL_TARGET),i386-os2)
1744REQUIRE_PACKAGES_RTL=1
1745REQUIRE_PACKAGES_PASZLIB=1
1746REQUIRE_PACKAGES_FCL-PROCESS=1
1747REQUIRE_PACKAGES_HASH=1
1748REQUIRE_PACKAGES_FPMKUNIT=1
1749REQUIRE_PACKAGES_LIBNDSFPC=1
1750endif
1751ifeq ($(FULL_TARGET),i386-freebsd)
1752REQUIRE_PACKAGES_RTL=1
1753REQUIRE_PACKAGES_PASZLIB=1
1754REQUIRE_PACKAGES_FCL-PROCESS=1
1755REQUIRE_PACKAGES_HASH=1
1756REQUIRE_PACKAGES_FPMKUNIT=1
1757REQUIRE_PACKAGES_LIBNDSFPC=1
1758endif
1759ifeq ($(FULL_TARGET),i386-beos)
1760REQUIRE_PACKAGES_RTL=1
1761REQUIRE_PACKAGES_PASZLIB=1
1762REQUIRE_PACKAGES_FCL-PROCESS=1
1763REQUIRE_PACKAGES_HASH=1
1764REQUIRE_PACKAGES_FPMKUNIT=1
1765REQUIRE_PACKAGES_LIBNDSFPC=1
1766endif
1767ifeq ($(FULL_TARGET),i386-haiku)
1768REQUIRE_PACKAGES_RTL=1
1769REQUIRE_PACKAGES_PASZLIB=1
1770REQUIRE_PACKAGES_FCL-PROCESS=1
1771REQUIRE_PACKAGES_HASH=1
1772REQUIRE_PACKAGES_FPMKUNIT=1
1773REQUIRE_PACKAGES_LIBNDSFPC=1
1774endif
1775ifeq ($(FULL_TARGET),i386-netbsd)
1776REQUIRE_PACKAGES_RTL=1
1777REQUIRE_PACKAGES_PASZLIB=1
1778REQUIRE_PACKAGES_FCL-PROCESS=1
1779REQUIRE_PACKAGES_HASH=1
1780REQUIRE_PACKAGES_FPMKUNIT=1
1781REQUIRE_PACKAGES_LIBNDSFPC=1
1782endif
1783ifeq ($(FULL_TARGET),i386-solaris)
1784REQUIRE_PACKAGES_RTL=1
1785REQUIRE_PACKAGES_PASZLIB=1
1786REQUIRE_PACKAGES_FCL-PROCESS=1
1787REQUIRE_PACKAGES_HASH=1
1788REQUIRE_PACKAGES_FPMKUNIT=1
1789REQUIRE_PACKAGES_LIBNDSFPC=1
1790endif
1791ifeq ($(FULL_TARGET),i386-qnx)
1792REQUIRE_PACKAGES_RTL=1
1793REQUIRE_PACKAGES_PASZLIB=1
1794REQUIRE_PACKAGES_FCL-PROCESS=1
1795REQUIRE_PACKAGES_HASH=1
1796REQUIRE_PACKAGES_FPMKUNIT=1
1797REQUIRE_PACKAGES_LIBNDSFPC=1
1798endif
1799ifeq ($(FULL_TARGET),i386-netware)
1800REQUIRE_PACKAGES_RTL=1
1801REQUIRE_PACKAGES_PASZLIB=1
1802REQUIRE_PACKAGES_FCL-PROCESS=1
1803REQUIRE_PACKAGES_HASH=1
1804REQUIRE_PACKAGES_FPMKUNIT=1
1805REQUIRE_PACKAGES_LIBNDSFPC=1
1806endif
1807ifeq ($(FULL_TARGET),i386-openbsd)
1808REQUIRE_PACKAGES_RTL=1
1809REQUIRE_PACKAGES_PASZLIB=1
1810REQUIRE_PACKAGES_FCL-PROCESS=1
1811REQUIRE_PACKAGES_HASH=1
1812REQUIRE_PACKAGES_FPMKUNIT=1
1813REQUIRE_PACKAGES_LIBNDSFPC=1
1814endif
1815ifeq ($(FULL_TARGET),i386-wdosx)
1816REQUIRE_PACKAGES_RTL=1
1817REQUIRE_PACKAGES_PASZLIB=1
1818REQUIRE_PACKAGES_FCL-PROCESS=1
1819REQUIRE_PACKAGES_HASH=1
1820REQUIRE_PACKAGES_FPMKUNIT=1
1821REQUIRE_PACKAGES_LIBNDSFPC=1
1822endif
1823ifeq ($(FULL_TARGET),i386-darwin)
1824REQUIRE_PACKAGES_RTL=1
1825REQUIRE_PACKAGES_PASZLIB=1
1826REQUIRE_PACKAGES_FCL-PROCESS=1
1827REQUIRE_PACKAGES_HASH=1
1828REQUIRE_PACKAGES_FPMKUNIT=1
1829REQUIRE_PACKAGES_LIBNDSFPC=1
1830endif
1831ifeq ($(FULL_TARGET),i386-emx)
1832REQUIRE_PACKAGES_RTL=1
1833REQUIRE_PACKAGES_PASZLIB=1
1834REQUIRE_PACKAGES_FCL-PROCESS=1
1835REQUIRE_PACKAGES_HASH=1
1836REQUIRE_PACKAGES_FPMKUNIT=1
1837REQUIRE_PACKAGES_LIBNDSFPC=1
1838endif
1839ifeq ($(FULL_TARGET),i386-watcom)
1840REQUIRE_PACKAGES_RTL=1
1841REQUIRE_PACKAGES_PASZLIB=1
1842REQUIRE_PACKAGES_FCL-PROCESS=1
1843REQUIRE_PACKAGES_HASH=1
1844REQUIRE_PACKAGES_FPMKUNIT=1
1845REQUIRE_PACKAGES_LIBNDSFPC=1
1846endif
1847ifeq ($(FULL_TARGET),i386-netwlibc)
1848REQUIRE_PACKAGES_RTL=1
1849REQUIRE_PACKAGES_PASZLIB=1
1850REQUIRE_PACKAGES_FCL-PROCESS=1
1851REQUIRE_PACKAGES_HASH=1
1852REQUIRE_PACKAGES_FPMKUNIT=1
1853REQUIRE_PACKAGES_LIBNDSFPC=1
1854endif
1855ifeq ($(FULL_TARGET),i386-wince)
1856REQUIRE_PACKAGES_RTL=1
1857REQUIRE_PACKAGES_PASZLIB=1
1858REQUIRE_PACKAGES_FCL-PROCESS=1
1859REQUIRE_PACKAGES_HASH=1
1860REQUIRE_PACKAGES_FPMKUNIT=1
1861REQUIRE_PACKAGES_LIBNDSFPC=1
1862endif
1863ifeq ($(FULL_TARGET),i386-embedded)
1864REQUIRE_PACKAGES_RTL=1
1865REQUIRE_PACKAGES_PASZLIB=1
1866REQUIRE_PACKAGES_FCL-PROCESS=1
1867REQUIRE_PACKAGES_HASH=1
1868REQUIRE_PACKAGES_FPMKUNIT=1
1869REQUIRE_PACKAGES_LIBNDSFPC=1
1870endif
1871ifeq ($(FULL_TARGET),i386-symbian)
1872REQUIRE_PACKAGES_RTL=1
1873REQUIRE_PACKAGES_PASZLIB=1
1874REQUIRE_PACKAGES_FCL-PROCESS=1
1875REQUIRE_PACKAGES_HASH=1
1876REQUIRE_PACKAGES_FPMKUNIT=1
1877REQUIRE_PACKAGES_LIBNDSFPC=1
1878endif
1879ifeq ($(FULL_TARGET),i386-nativent)
1880REQUIRE_PACKAGES_RTL=1
1881REQUIRE_PACKAGES_PASZLIB=1
1882REQUIRE_PACKAGES_FCL-PROCESS=1
1883REQUIRE_PACKAGES_HASH=1
1884REQUIRE_PACKAGES_FPMKUNIT=1
1885REQUIRE_PACKAGES_LIBNDSFPC=1
1886endif
1887ifeq ($(FULL_TARGET),i386-iphonesim)
1888REQUIRE_PACKAGES_RTL=1
1889REQUIRE_PACKAGES_PASZLIB=1
1890REQUIRE_PACKAGES_FCL-PROCESS=1
1891REQUIRE_PACKAGES_HASH=1
1892REQUIRE_PACKAGES_FPMKUNIT=1
1893REQUIRE_PACKAGES_LIBNDSFPC=1
1894endif
1895ifeq ($(FULL_TARGET),m68k-linux)
1896REQUIRE_PACKAGES_RTL=1
1897REQUIRE_PACKAGES_PASZLIB=1
1898REQUIRE_PACKAGES_FCL-PROCESS=1
1899REQUIRE_PACKAGES_HASH=1
1900REQUIRE_PACKAGES_FPMKUNIT=1
1901REQUIRE_PACKAGES_LIBNDSFPC=1
1902endif
1903ifeq ($(FULL_TARGET),m68k-freebsd)
1904REQUIRE_PACKAGES_RTL=1
1905REQUIRE_PACKAGES_PASZLIB=1
1906REQUIRE_PACKAGES_FCL-PROCESS=1
1907REQUIRE_PACKAGES_HASH=1
1908REQUIRE_PACKAGES_FPMKUNIT=1
1909REQUIRE_PACKAGES_LIBNDSFPC=1
1910endif
1911ifeq ($(FULL_TARGET),m68k-netbsd)
1912REQUIRE_PACKAGES_RTL=1
1913REQUIRE_PACKAGES_PASZLIB=1
1914REQUIRE_PACKAGES_FCL-PROCESS=1
1915REQUIRE_PACKAGES_HASH=1
1916REQUIRE_PACKAGES_FPMKUNIT=1
1917REQUIRE_PACKAGES_LIBNDSFPC=1
1918endif
1919ifeq ($(FULL_TARGET),m68k-amiga)
1920REQUIRE_PACKAGES_RTL=1
1921REQUIRE_PACKAGES_PASZLIB=1
1922REQUIRE_PACKAGES_FCL-PROCESS=1
1923REQUIRE_PACKAGES_HASH=1
1924REQUIRE_PACKAGES_FPMKUNIT=1
1925REQUIRE_PACKAGES_LIBNDSFPC=1
1926endif
1927ifeq ($(FULL_TARGET),m68k-atari)
1928REQUIRE_PACKAGES_RTL=1
1929REQUIRE_PACKAGES_PASZLIB=1
1930REQUIRE_PACKAGES_FCL-PROCESS=1
1931REQUIRE_PACKAGES_HASH=1
1932REQUIRE_PACKAGES_FPMKUNIT=1
1933REQUIRE_PACKAGES_LIBNDSFPC=1
1934endif
1935ifeq ($(FULL_TARGET),m68k-openbsd)
1936REQUIRE_PACKAGES_RTL=1
1937REQUIRE_PACKAGES_PASZLIB=1
1938REQUIRE_PACKAGES_FCL-PROCESS=1
1939REQUIRE_PACKAGES_HASH=1
1940REQUIRE_PACKAGES_FPMKUNIT=1
1941REQUIRE_PACKAGES_LIBNDSFPC=1
1942endif
1943ifeq ($(FULL_TARGET),m68k-palmos)
1944REQUIRE_PACKAGES_RTL=1
1945REQUIRE_PACKAGES_PASZLIB=1
1946REQUIRE_PACKAGES_FCL-PROCESS=1
1947REQUIRE_PACKAGES_HASH=1
1948REQUIRE_PACKAGES_FPMKUNIT=1
1949REQUIRE_PACKAGES_LIBNDSFPC=1
1950endif
1951ifeq ($(FULL_TARGET),m68k-embedded)
1952REQUIRE_PACKAGES_RTL=1
1953REQUIRE_PACKAGES_PASZLIB=1
1954REQUIRE_PACKAGES_FCL-PROCESS=1
1955REQUIRE_PACKAGES_HASH=1
1956REQUIRE_PACKAGES_FPMKUNIT=1
1957REQUIRE_PACKAGES_LIBNDSFPC=1
1958endif
1959ifeq ($(FULL_TARGET),powerpc-linux)
1960REQUIRE_PACKAGES_RTL=1
1961REQUIRE_PACKAGES_PASZLIB=1
1962REQUIRE_PACKAGES_FCL-PROCESS=1
1963REQUIRE_PACKAGES_HASH=1
1964REQUIRE_PACKAGES_FPMKUNIT=1
1965REQUIRE_PACKAGES_LIBNDSFPC=1
1966endif
1967ifeq ($(FULL_TARGET),powerpc-netbsd)
1968REQUIRE_PACKAGES_RTL=1
1969REQUIRE_PACKAGES_PASZLIB=1
1970REQUIRE_PACKAGES_FCL-PROCESS=1
1971REQUIRE_PACKAGES_HASH=1
1972REQUIRE_PACKAGES_FPMKUNIT=1
1973REQUIRE_PACKAGES_LIBNDSFPC=1
1974endif
1975ifeq ($(FULL_TARGET),powerpc-amiga)
1976REQUIRE_PACKAGES_RTL=1
1977REQUIRE_PACKAGES_PASZLIB=1
1978REQUIRE_PACKAGES_FCL-PROCESS=1
1979REQUIRE_PACKAGES_HASH=1
1980REQUIRE_PACKAGES_FPMKUNIT=1
1981REQUIRE_PACKAGES_LIBNDSFPC=1
1982endif
1983ifeq ($(FULL_TARGET),powerpc-macos)
1984REQUIRE_PACKAGES_RTL=1
1985REQUIRE_PACKAGES_PASZLIB=1
1986REQUIRE_PACKAGES_FCL-PROCESS=1
1987REQUIRE_PACKAGES_HASH=1
1988REQUIRE_PACKAGES_FPMKUNIT=1
1989REQUIRE_PACKAGES_LIBNDSFPC=1
1990endif
1991ifeq ($(FULL_TARGET),powerpc-darwin)
1992REQUIRE_PACKAGES_RTL=1
1993REQUIRE_PACKAGES_PASZLIB=1
1994REQUIRE_PACKAGES_FCL-PROCESS=1
1995REQUIRE_PACKAGES_HASH=1
1996REQUIRE_PACKAGES_FPMKUNIT=1
1997REQUIRE_PACKAGES_LIBNDSFPC=1
1998endif
1999ifeq ($(FULL_TARGET),powerpc-morphos)
2000REQUIRE_PACKAGES_RTL=1
2001REQUIRE_PACKAGES_PASZLIB=1
2002REQUIRE_PACKAGES_FCL-PROCESS=1
2003REQUIRE_PACKAGES_HASH=1
2004REQUIRE_PACKAGES_FPMKUNIT=1
2005REQUIRE_PACKAGES_LIBNDSFPC=1
2006endif
2007ifeq ($(FULL_TARGET),powerpc-embedded)
2008REQUIRE_PACKAGES_RTL=1
2009REQUIRE_PACKAGES_PASZLIB=1
2010REQUIRE_PACKAGES_FCL-PROCESS=1
2011REQUIRE_PACKAGES_HASH=1
2012REQUIRE_PACKAGES_FPMKUNIT=1
2013REQUIRE_PACKAGES_LIBNDSFPC=1
2014endif
2015ifeq ($(FULL_TARGET),powerpc-wii)
2016REQUIRE_PACKAGES_RTL=1
2017REQUIRE_PACKAGES_PASZLIB=1
2018REQUIRE_PACKAGES_FCL-PROCESS=1
2019REQUIRE_PACKAGES_HASH=1
2020REQUIRE_PACKAGES_FPMKUNIT=1
2021REQUIRE_PACKAGES_LIBNDSFPC=1
2022endif
2023ifeq ($(FULL_TARGET),powerpc-aix)
2024REQUIRE_PACKAGES_RTL=1
2025REQUIRE_PACKAGES_PASZLIB=1
2026REQUIRE_PACKAGES_FCL-PROCESS=1
2027REQUIRE_PACKAGES_HASH=1
2028REQUIRE_PACKAGES_FPMKUNIT=1
2029REQUIRE_PACKAGES_LIBNDSFPC=1
2030endif
2031ifeq ($(FULL_TARGET),sparc-linux)
2032REQUIRE_PACKAGES_RTL=1
2033REQUIRE_PACKAGES_PASZLIB=1
2034REQUIRE_PACKAGES_FCL-PROCESS=1
2035REQUIRE_PACKAGES_HASH=1
2036REQUIRE_PACKAGES_FPMKUNIT=1
2037REQUIRE_PACKAGES_LIBNDSFPC=1
2038endif
2039ifeq ($(FULL_TARGET),sparc-netbsd)
2040REQUIRE_PACKAGES_RTL=1
2041REQUIRE_PACKAGES_PASZLIB=1
2042REQUIRE_PACKAGES_FCL-PROCESS=1
2043REQUIRE_PACKAGES_HASH=1
2044REQUIRE_PACKAGES_FPMKUNIT=1
2045REQUIRE_PACKAGES_LIBNDSFPC=1
2046endif
2047ifeq ($(FULL_TARGET),sparc-solaris)
2048REQUIRE_PACKAGES_RTL=1
2049REQUIRE_PACKAGES_PASZLIB=1
2050REQUIRE_PACKAGES_FCL-PROCESS=1
2051REQUIRE_PACKAGES_HASH=1
2052REQUIRE_PACKAGES_FPMKUNIT=1
2053REQUIRE_PACKAGES_LIBNDSFPC=1
2054endif
2055ifeq ($(FULL_TARGET),sparc-embedded)
2056REQUIRE_PACKAGES_RTL=1
2057REQUIRE_PACKAGES_PASZLIB=1
2058REQUIRE_PACKAGES_FCL-PROCESS=1
2059REQUIRE_PACKAGES_HASH=1
2060REQUIRE_PACKAGES_FPMKUNIT=1
2061REQUIRE_PACKAGES_LIBNDSFPC=1
2062endif
2063ifeq ($(FULL_TARGET),x86_64-linux)
2064REQUIRE_PACKAGES_RTL=1
2065REQUIRE_PACKAGES_PASZLIB=1
2066REQUIRE_PACKAGES_FCL-PROCESS=1
2067REQUIRE_PACKAGES_HASH=1
2068REQUIRE_PACKAGES_FPMKUNIT=1
2069REQUIRE_PACKAGES_LIBNDSFPC=1
2070endif
2071ifeq ($(FULL_TARGET),x86_64-freebsd)
2072REQUIRE_PACKAGES_RTL=1
2073REQUIRE_PACKAGES_PASZLIB=1
2074REQUIRE_PACKAGES_FCL-PROCESS=1
2075REQUIRE_PACKAGES_HASH=1
2076REQUIRE_PACKAGES_FPMKUNIT=1
2077REQUIRE_PACKAGES_LIBNDSFPC=1
2078endif
2079ifeq ($(FULL_TARGET),x86_64-netbsd)
2080REQUIRE_PACKAGES_RTL=1
2081REQUIRE_PACKAGES_PASZLIB=1
2082REQUIRE_PACKAGES_FCL-PROCESS=1
2083REQUIRE_PACKAGES_HASH=1
2084REQUIRE_PACKAGES_FPMKUNIT=1
2085REQUIRE_PACKAGES_LIBNDSFPC=1
2086endif
2087ifeq ($(FULL_TARGET),x86_64-solaris)
2088REQUIRE_PACKAGES_RTL=1
2089REQUIRE_PACKAGES_PASZLIB=1
2090REQUIRE_PACKAGES_FCL-PROCESS=1
2091REQUIRE_PACKAGES_HASH=1
2092REQUIRE_PACKAGES_FPMKUNIT=1
2093REQUIRE_PACKAGES_LIBNDSFPC=1
2094endif
2095ifeq ($(FULL_TARGET),x86_64-openbsd)
2096REQUIRE_PACKAGES_RTL=1
2097REQUIRE_PACKAGES_PASZLIB=1
2098REQUIRE_PACKAGES_FCL-PROCESS=1
2099REQUIRE_PACKAGES_HASH=1
2100REQUIRE_PACKAGES_FPMKUNIT=1
2101REQUIRE_PACKAGES_LIBNDSFPC=1
2102endif
2103ifeq ($(FULL_TARGET),x86_64-darwin)
2104REQUIRE_PACKAGES_RTL=1
2105REQUIRE_PACKAGES_PASZLIB=1
2106REQUIRE_PACKAGES_FCL-PROCESS=1
2107REQUIRE_PACKAGES_HASH=1
2108REQUIRE_PACKAGES_FPMKUNIT=1
2109REQUIRE_PACKAGES_LIBNDSFPC=1
2110endif
2111ifeq ($(FULL_TARGET),x86_64-win64)
2112REQUIRE_PACKAGES_RTL=1
2113REQUIRE_PACKAGES_PASZLIB=1
2114REQUIRE_PACKAGES_FCL-PROCESS=1
2115REQUIRE_PACKAGES_HASH=1
2116REQUIRE_PACKAGES_FPMKUNIT=1
2117REQUIRE_PACKAGES_LIBNDSFPC=1
2118endif
2119ifeq ($(FULL_TARGET),x86_64-embedded)
2120REQUIRE_PACKAGES_RTL=1
2121REQUIRE_PACKAGES_PASZLIB=1
2122REQUIRE_PACKAGES_FCL-PROCESS=1
2123REQUIRE_PACKAGES_HASH=1
2124REQUIRE_PACKAGES_FPMKUNIT=1
2125REQUIRE_PACKAGES_LIBNDSFPC=1
2126endif
2127ifeq ($(FULL_TARGET),arm-linux)
2128REQUIRE_PACKAGES_RTL=1
2129REQUIRE_PACKAGES_PASZLIB=1
2130REQUIRE_PACKAGES_FCL-PROCESS=1
2131REQUIRE_PACKAGES_HASH=1
2132REQUIRE_PACKAGES_FPMKUNIT=1
2133REQUIRE_PACKAGES_LIBNDSFPC=1
2134endif
2135ifeq ($(FULL_TARGET),arm-palmos)
2136REQUIRE_PACKAGES_RTL=1
2137REQUIRE_PACKAGES_PASZLIB=1
2138REQUIRE_PACKAGES_FCL-PROCESS=1
2139REQUIRE_PACKAGES_HASH=1
2140REQUIRE_PACKAGES_FPMKUNIT=1
2141REQUIRE_PACKAGES_LIBNDSFPC=1
2142endif
2143ifeq ($(FULL_TARGET),arm-darwin)
2144REQUIRE_PACKAGES_RTL=1
2145REQUIRE_PACKAGES_PASZLIB=1
2146REQUIRE_PACKAGES_FCL-PROCESS=1
2147REQUIRE_PACKAGES_HASH=1
2148REQUIRE_PACKAGES_FPMKUNIT=1
2149REQUIRE_PACKAGES_LIBNDSFPC=1
2150endif
2151ifeq ($(FULL_TARGET),arm-wince)
2152REQUIRE_PACKAGES_RTL=1
2153REQUIRE_PACKAGES_PASZLIB=1
2154REQUIRE_PACKAGES_FCL-PROCESS=1
2155REQUIRE_PACKAGES_HASH=1
2156REQUIRE_PACKAGES_FPMKUNIT=1
2157REQUIRE_PACKAGES_LIBNDSFPC=1
2158endif
2159ifeq ($(FULL_TARGET),arm-gba)
2160REQUIRE_PACKAGES_RTL=1
2161REQUIRE_PACKAGES_PASZLIB=1
2162REQUIRE_PACKAGES_FCL-PROCESS=1
2163REQUIRE_PACKAGES_HASH=1
2164REQUIRE_PACKAGES_FPMKUNIT=1
2165REQUIRE_PACKAGES_LIBNDSFPC=1
2166endif
2167ifeq ($(FULL_TARGET),arm-nds)
2168REQUIRE_PACKAGES_RTL=1
2169REQUIRE_PACKAGES_PASZLIB=1
2170REQUIRE_PACKAGES_FCL-PROCESS=1
2171REQUIRE_PACKAGES_HASH=1
2172REQUIRE_PACKAGES_FPMKUNIT=1
2173REQUIRE_PACKAGES_LIBNDSFPC=1
2174endif
2175ifeq ($(FULL_TARGET),arm-embedded)
2176REQUIRE_PACKAGES_RTL=1
2177REQUIRE_PACKAGES_PASZLIB=1
2178REQUIRE_PACKAGES_FCL-PROCESS=1
2179REQUIRE_PACKAGES_HASH=1
2180REQUIRE_PACKAGES_FPMKUNIT=1
2181REQUIRE_PACKAGES_LIBNDSFPC=1
2182endif
2183ifeq ($(FULL_TARGET),arm-symbian)
2184REQUIRE_PACKAGES_RTL=1
2185REQUIRE_PACKAGES_PASZLIB=1
2186REQUIRE_PACKAGES_FCL-PROCESS=1
2187REQUIRE_PACKAGES_HASH=1
2188REQUIRE_PACKAGES_FPMKUNIT=1
2189REQUIRE_PACKAGES_LIBNDSFPC=1
2190endif
2191ifeq ($(FULL_TARGET),powerpc64-linux)
2192REQUIRE_PACKAGES_RTL=1
2193REQUIRE_PACKAGES_PASZLIB=1
2194REQUIRE_PACKAGES_FCL-PROCESS=1
2195REQUIRE_PACKAGES_HASH=1
2196REQUIRE_PACKAGES_FPMKUNIT=1
2197REQUIRE_PACKAGES_LIBNDSFPC=1
2198endif
2199ifeq ($(FULL_TARGET),powerpc64-darwin)
2200REQUIRE_PACKAGES_RTL=1
2201REQUIRE_PACKAGES_PASZLIB=1
2202REQUIRE_PACKAGES_FCL-PROCESS=1
2203REQUIRE_PACKAGES_HASH=1
2204REQUIRE_PACKAGES_FPMKUNIT=1
2205REQUIRE_PACKAGES_LIBNDSFPC=1
2206endif
2207ifeq ($(FULL_TARGET),powerpc64-embedded)
2208REQUIRE_PACKAGES_RTL=1
2209REQUIRE_PACKAGES_PASZLIB=1
2210REQUIRE_PACKAGES_FCL-PROCESS=1
2211REQUIRE_PACKAGES_HASH=1
2212REQUIRE_PACKAGES_FPMKUNIT=1
2213REQUIRE_PACKAGES_LIBNDSFPC=1
2214endif
2215ifeq ($(FULL_TARGET),powerpc64-aix)
2216REQUIRE_PACKAGES_RTL=1
2217REQUIRE_PACKAGES_PASZLIB=1
2218REQUIRE_PACKAGES_FCL-PROCESS=1
2219REQUIRE_PACKAGES_HASH=1
2220REQUIRE_PACKAGES_FPMKUNIT=1
2221REQUIRE_PACKAGES_LIBNDSFPC=1
2222endif
2223ifeq ($(FULL_TARGET),avr-embedded)
2224REQUIRE_PACKAGES_RTL=1
2225REQUIRE_PACKAGES_PASZLIB=1
2226REQUIRE_PACKAGES_FCL-PROCESS=1
2227REQUIRE_PACKAGES_HASH=1
2228REQUIRE_PACKAGES_FPMKUNIT=1
2229REQUIRE_PACKAGES_LIBNDSFPC=1
2230endif
2231ifeq ($(FULL_TARGET),armeb-linux)
2232REQUIRE_PACKAGES_RTL=1
2233REQUIRE_PACKAGES_PASZLIB=1
2234REQUIRE_PACKAGES_FCL-PROCESS=1
2235REQUIRE_PACKAGES_HASH=1
2236REQUIRE_PACKAGES_FPMKUNIT=1
2237REQUIRE_PACKAGES_LIBNDSFPC=1
2238endif
2239ifeq ($(FULL_TARGET),armeb-embedded)
2240REQUIRE_PACKAGES_RTL=1
2241REQUIRE_PACKAGES_PASZLIB=1
2242REQUIRE_PACKAGES_FCL-PROCESS=1
2243REQUIRE_PACKAGES_HASH=1
2244REQUIRE_PACKAGES_FPMKUNIT=1
2245REQUIRE_PACKAGES_LIBNDSFPC=1
2246endif
2247ifeq ($(FULL_TARGET),mips-linux)
2248REQUIRE_PACKAGES_RTL=1
2249REQUIRE_PACKAGES_PASZLIB=1
2250REQUIRE_PACKAGES_FCL-PROCESS=1
2251REQUIRE_PACKAGES_HASH=1
2252REQUIRE_PACKAGES_FPMKUNIT=1
2253REQUIRE_PACKAGES_LIBNDSFPC=1
2254endif
2255ifeq ($(FULL_TARGET),mipsel-linux)
2256REQUIRE_PACKAGES_RTL=1
2257REQUIRE_PACKAGES_PASZLIB=1
2258REQUIRE_PACKAGES_FCL-PROCESS=1
2259REQUIRE_PACKAGES_HASH=1
2260REQUIRE_PACKAGES_FPMKUNIT=1
2261REQUIRE_PACKAGES_LIBNDSFPC=1
2262endif
2263ifdef REQUIRE_PACKAGES_RTL
2264PACKAGEDIR_RTL:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /rtl/Makefile.fpc,$(PACKAGESDIR))))))
2265ifneq ($(PACKAGEDIR_RTL),)
2266ifneq ($(wildcard $(PACKAGEDIR_RTL)/units/$(TARGETSUFFIX)),)
2267UNITDIR_RTL=$(PACKAGEDIR_RTL)/units/$(TARGETSUFFIX)
2268else
2269UNITDIR_RTL=$(PACKAGEDIR_RTL)
2270endif
2271ifneq ($(wildcard $(PACKAGEDIR_RTL)/units/$(SOURCESUFFIX)),)
2272UNITDIR_FPMAKE_RTL=$(PACKAGEDIR_RTL)/units/$(SOURCESUFFIX)
2273else
2274ifneq ($(wildcard $(PACKAGEDIR_RTL)/units_bs/$(SOURCESUFFIX)),)
2275UNITDIR_FPMAKE_RTL=$(PACKAGEDIR_RTL)/units_bs/$(SOURCESUFFIX)
2276else
2277UNITDIR_FPMAKE_RTL=$(PACKAGEDIR_RTL)
2278endif
2279endif
2280ifdef CHECKDEPEND
2281$(PACKAGEDIR_RTL)/$(OS_TARGET)/$(FPCMADE):
2282	$(MAKE) -C $(PACKAGEDIR_RTL)/$(OS_TARGET) $(FPCMADE)
2283override ALLDEPENDENCIES+=$(PACKAGEDIR_RTL)/$(OS_TARGET)/$(FPCMADE)
2284endif
2285else
2286PACKAGEDIR_RTL=
2287UNITDIR_RTL:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /rtl/Package.fpc,$(UNITSDIR)))))
2288ifneq ($(UNITDIR_RTL),)
2289UNITDIR_RTL:=$(firstword $(UNITDIR_RTL))
2290else
2291UNITDIR_RTL=
2292endif
2293endif
2294ifdef UNITDIR_RTL
2295override COMPILER_UNITDIR+=$(UNITDIR_RTL)
2296endif
2297ifdef UNITDIR_FPMAKE_RTL
2298override COMPILER_FPMAKE_UNITDIR+=$(UNITDIR_FPMAKE_RTL)
2299endif
2300endif
2301ifdef REQUIRE_PACKAGES_PASZLIB
2302PACKAGEDIR_PASZLIB:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /paszlib/Makefile.fpc,$(PACKAGESDIR))))))
2303ifneq ($(PACKAGEDIR_PASZLIB),)
2304ifneq ($(wildcard $(PACKAGEDIR_PASZLIB)/units/$(TARGETSUFFIX)),)
2305UNITDIR_PASZLIB=$(PACKAGEDIR_PASZLIB)/units/$(TARGETSUFFIX)
2306else
2307UNITDIR_PASZLIB=$(PACKAGEDIR_PASZLIB)
2308endif
2309ifneq ($(wildcard $(PACKAGEDIR_PASZLIB)/units/$(SOURCESUFFIX)),)
2310UNITDIR_FPMAKE_PASZLIB=$(PACKAGEDIR_PASZLIB)/units/$(SOURCESUFFIX)
2311else
2312ifneq ($(wildcard $(PACKAGEDIR_PASZLIB)/units_bs/$(SOURCESUFFIX)),)
2313UNITDIR_FPMAKE_PASZLIB=$(PACKAGEDIR_PASZLIB)/units_bs/$(SOURCESUFFIX)
2314else
2315UNITDIR_FPMAKE_PASZLIB=$(PACKAGEDIR_PASZLIB)
2316endif
2317endif
2318ifdef CHECKDEPEND
2319$(PACKAGEDIR_PASZLIB)/$(FPCMADE):
2320	$(MAKE) -C $(PACKAGEDIR_PASZLIB) $(FPCMADE)
2321override ALLDEPENDENCIES+=$(PACKAGEDIR_PASZLIB)/$(FPCMADE)
2322endif
2323else
2324PACKAGEDIR_PASZLIB=
2325UNITDIR_PASZLIB:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /paszlib/Package.fpc,$(UNITSDIR)))))
2326ifneq ($(UNITDIR_PASZLIB),)
2327UNITDIR_PASZLIB:=$(firstword $(UNITDIR_PASZLIB))
2328else
2329UNITDIR_PASZLIB=
2330endif
2331endif
2332ifdef UNITDIR_PASZLIB
2333override COMPILER_UNITDIR+=$(UNITDIR_PASZLIB)
2334endif
2335ifdef UNITDIR_FPMAKE_PASZLIB
2336override COMPILER_FPMAKE_UNITDIR+=$(UNITDIR_FPMAKE_PASZLIB)
2337endif
2338endif
2339ifdef REQUIRE_PACKAGES_FCL-PROCESS
2340PACKAGEDIR_FCL-PROCESS:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /fcl-process/Makefile.fpc,$(PACKAGESDIR))))))
2341ifneq ($(PACKAGEDIR_FCL-PROCESS),)
2342ifneq ($(wildcard $(PACKAGEDIR_FCL-PROCESS)/units/$(TARGETSUFFIX)),)
2343UNITDIR_FCL-PROCESS=$(PACKAGEDIR_FCL-PROCESS)/units/$(TARGETSUFFIX)
2344else
2345UNITDIR_FCL-PROCESS=$(PACKAGEDIR_FCL-PROCESS)
2346endif
2347ifneq ($(wildcard $(PACKAGEDIR_FCL-PROCESS)/units/$(SOURCESUFFIX)),)
2348UNITDIR_FPMAKE_FCL-PROCESS=$(PACKAGEDIR_FCL-PROCESS)/units/$(SOURCESUFFIX)
2349else
2350ifneq ($(wildcard $(PACKAGEDIR_FCL-PROCESS)/units_bs/$(SOURCESUFFIX)),)
2351UNITDIR_FPMAKE_FCL-PROCESS=$(PACKAGEDIR_FCL-PROCESS)/units_bs/$(SOURCESUFFIX)
2352else
2353UNITDIR_FPMAKE_FCL-PROCESS=$(PACKAGEDIR_FCL-PROCESS)
2354endif
2355endif
2356ifdef CHECKDEPEND
2357$(PACKAGEDIR_FCL-PROCESS)/$(FPCMADE):
2358	$(MAKE) -C $(PACKAGEDIR_FCL-PROCESS) $(FPCMADE)
2359override ALLDEPENDENCIES+=$(PACKAGEDIR_FCL-PROCESS)/$(FPCMADE)
2360endif
2361else
2362PACKAGEDIR_FCL-PROCESS=
2363UNITDIR_FCL-PROCESS:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /fcl-process/Package.fpc,$(UNITSDIR)))))
2364ifneq ($(UNITDIR_FCL-PROCESS),)
2365UNITDIR_FCL-PROCESS:=$(firstword $(UNITDIR_FCL-PROCESS))
2366else
2367UNITDIR_FCL-PROCESS=
2368endif
2369endif
2370ifdef UNITDIR_FCL-PROCESS
2371override COMPILER_UNITDIR+=$(UNITDIR_FCL-PROCESS)
2372endif
2373ifdef UNITDIR_FPMAKE_FCL-PROCESS
2374override COMPILER_FPMAKE_UNITDIR+=$(UNITDIR_FPMAKE_FCL-PROCESS)
2375endif
2376endif
2377ifdef REQUIRE_PACKAGES_HASH
2378PACKAGEDIR_HASH:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /hash/Makefile.fpc,$(PACKAGESDIR))))))
2379ifneq ($(PACKAGEDIR_HASH),)
2380ifneq ($(wildcard $(PACKAGEDIR_HASH)/units/$(TARGETSUFFIX)),)
2381UNITDIR_HASH=$(PACKAGEDIR_HASH)/units/$(TARGETSUFFIX)
2382else
2383UNITDIR_HASH=$(PACKAGEDIR_HASH)
2384endif
2385ifneq ($(wildcard $(PACKAGEDIR_HASH)/units/$(SOURCESUFFIX)),)
2386UNITDIR_FPMAKE_HASH=$(PACKAGEDIR_HASH)/units/$(SOURCESUFFIX)
2387else
2388ifneq ($(wildcard $(PACKAGEDIR_HASH)/units_bs/$(SOURCESUFFIX)),)
2389UNITDIR_FPMAKE_HASH=$(PACKAGEDIR_HASH)/units_bs/$(SOURCESUFFIX)
2390else
2391UNITDIR_FPMAKE_HASH=$(PACKAGEDIR_HASH)
2392endif
2393endif
2394ifdef CHECKDEPEND
2395$(PACKAGEDIR_HASH)/$(FPCMADE):
2396	$(MAKE) -C $(PACKAGEDIR_HASH) $(FPCMADE)
2397override ALLDEPENDENCIES+=$(PACKAGEDIR_HASH)/$(FPCMADE)
2398endif
2399else
2400PACKAGEDIR_HASH=
2401UNITDIR_HASH:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /hash/Package.fpc,$(UNITSDIR)))))
2402ifneq ($(UNITDIR_HASH),)
2403UNITDIR_HASH:=$(firstword $(UNITDIR_HASH))
2404else
2405UNITDIR_HASH=
2406endif
2407endif
2408ifdef UNITDIR_HASH
2409override COMPILER_UNITDIR+=$(UNITDIR_HASH)
2410endif
2411ifdef UNITDIR_FPMAKE_HASH
2412override COMPILER_FPMAKE_UNITDIR+=$(UNITDIR_FPMAKE_HASH)
2413endif
2414endif
2415ifdef REQUIRE_PACKAGES_FPMKUNIT
2416PACKAGEDIR_FPMKUNIT:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /fpmkunit/Makefile.fpc,$(PACKAGESDIR))))))
2417ifneq ($(PACKAGEDIR_FPMKUNIT),)
2418ifneq ($(wildcard $(PACKAGEDIR_FPMKUNIT)/units/$(TARGETSUFFIX)),)
2419UNITDIR_FPMKUNIT=$(PACKAGEDIR_FPMKUNIT)/units/$(TARGETSUFFIX)
2420else
2421UNITDIR_FPMKUNIT=$(PACKAGEDIR_FPMKUNIT)
2422endif
2423ifneq ($(wildcard $(PACKAGEDIR_FPMKUNIT)/units/$(SOURCESUFFIX)),)
2424UNITDIR_FPMAKE_FPMKUNIT=$(PACKAGEDIR_FPMKUNIT)/units/$(SOURCESUFFIX)
2425else
2426ifneq ($(wildcard $(PACKAGEDIR_FPMKUNIT)/units_bs/$(SOURCESUFFIX)),)
2427UNITDIR_FPMAKE_FPMKUNIT=$(PACKAGEDIR_FPMKUNIT)/units_bs/$(SOURCESUFFIX)
2428else
2429UNITDIR_FPMAKE_FPMKUNIT=$(PACKAGEDIR_FPMKUNIT)
2430endif
2431endif
2432ifdef CHECKDEPEND
2433$(PACKAGEDIR_FPMKUNIT)/$(FPCMADE):
2434	$(MAKE) -C $(PACKAGEDIR_FPMKUNIT) $(FPCMADE)
2435override ALLDEPENDENCIES+=$(PACKAGEDIR_FPMKUNIT)/$(FPCMADE)
2436endif
2437else
2438PACKAGEDIR_FPMKUNIT=
2439UNITDIR_FPMKUNIT:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /fpmkunit/Package.fpc,$(UNITSDIR)))))
2440ifneq ($(UNITDIR_FPMKUNIT),)
2441UNITDIR_FPMKUNIT:=$(firstword $(UNITDIR_FPMKUNIT))
2442else
2443UNITDIR_FPMKUNIT=
2444endif
2445endif
2446ifdef UNITDIR_FPMKUNIT
2447override COMPILER_UNITDIR+=$(UNITDIR_FPMKUNIT)
2448endif
2449ifdef UNITDIR_FPMAKE_FPMKUNIT
2450override COMPILER_FPMAKE_UNITDIR+=$(UNITDIR_FPMAKE_FPMKUNIT)
2451endif
2452endif
2453ifdef REQUIRE_PACKAGES_LIBNDSFPC
2454PACKAGEDIR_LIBNDSFPC:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /libndsfpc/Makefile.fpc,$(PACKAGESDIR))))))
2455ifneq ($(PACKAGEDIR_LIBNDSFPC),)
2456ifneq ($(wildcard $(PACKAGEDIR_LIBNDSFPC)/units/$(TARGETSUFFIX)),)
2457UNITDIR_LIBNDSFPC=$(PACKAGEDIR_LIBNDSFPC)/units/$(TARGETSUFFIX)
2458else
2459UNITDIR_LIBNDSFPC=$(PACKAGEDIR_LIBNDSFPC)
2460endif
2461ifneq ($(wildcard $(PACKAGEDIR_LIBNDSFPC)/units/$(SOURCESUFFIX)),)
2462UNITDIR_FPMAKE_LIBNDSFPC=$(PACKAGEDIR_LIBNDSFPC)/units/$(SOURCESUFFIX)
2463else
2464ifneq ($(wildcard $(PACKAGEDIR_LIBNDSFPC)/units_bs/$(SOURCESUFFIX)),)
2465UNITDIR_FPMAKE_LIBNDSFPC=$(PACKAGEDIR_LIBNDSFPC)/units_bs/$(SOURCESUFFIX)
2466else
2467UNITDIR_FPMAKE_LIBNDSFPC=$(PACKAGEDIR_LIBNDSFPC)
2468endif
2469endif
2470ifdef CHECKDEPEND
2471$(PACKAGEDIR_LIBNDSFPC)/$(FPCMADE):
2472	$(MAKE) -C $(PACKAGEDIR_LIBNDSFPC) $(FPCMADE)
2473override ALLDEPENDENCIES+=$(PACKAGEDIR_LIBNDSFPC)/$(FPCMADE)
2474endif
2475else
2476PACKAGEDIR_LIBNDSFPC=
2477UNITDIR_LIBNDSFPC:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /libndsfpc/Package.fpc,$(UNITSDIR)))))
2478ifneq ($(UNITDIR_LIBNDSFPC),)
2479UNITDIR_LIBNDSFPC:=$(firstword $(UNITDIR_LIBNDSFPC))
2480else
2481UNITDIR_LIBNDSFPC=
2482endif
2483endif
2484ifdef UNITDIR_LIBNDSFPC
2485override COMPILER_UNITDIR+=$(UNITDIR_LIBNDSFPC)
2486endif
2487ifdef UNITDIR_FPMAKE_LIBNDSFPC
2488override COMPILER_FPMAKE_UNITDIR+=$(UNITDIR_FPMAKE_LIBNDSFPC)
2489endif
2490endif
2491ifndef NOCPUDEF
2492override FPCOPTDEF=$(ARCH)
2493endif
2494ifneq ($(OS_TARGET),$(OS_SOURCE))
2495override FPCOPT+=-T$(OS_TARGET)
2496endif
2497ifneq ($(CPU_TARGET),$(CPU_SOURCE))
2498override FPCOPT+=-P$(ARCH)
2499endif
2500ifeq ($(OS_SOURCE),openbsd)
2501override FPCOPT+=-FD$(NEW_BINUTILS_PATH)
2502override FPCMAKEOPT+=-FD$(NEW_BINUTILS_PATH)
2503endif
2504ifndef CROSSBOOTSTRAP
2505ifneq ($(BINUTILSPREFIX),)
2506override FPCOPT+=-XP$(BINUTILSPREFIX)
2507endif
2508ifneq ($(BINUTILSPREFIX),)
2509override FPCOPT+=-Xr$(RLINKPATH)
2510endif
2511endif
2512ifndef CROSSCOMPILE
2513ifneq ($(BINUTILSPREFIX),)
2514override FPCMAKEOPT+=-XP$(BINUTILSPREFIX)
2515endif
2516endif
2517ifdef UNITDIR
2518override FPCOPT+=$(addprefix -Fu,$(UNITDIR))
2519endif
2520ifdef LIBDIR
2521override FPCOPT+=$(addprefix -Fl,$(LIBDIR))
2522endif
2523ifdef OBJDIR
2524override FPCOPT+=$(addprefix -Fo,$(OBJDIR))
2525endif
2526ifdef INCDIR
2527override FPCOPT+=$(addprefix -Fi,$(INCDIR))
2528endif
2529ifdef LINKSMART
2530override FPCOPT+=-XX
2531endif
2532ifdef CREATESMART
2533override FPCOPT+=-CX
2534endif
2535ifdef DEBUG
2536override FPCOPT+=-gl
2537override FPCOPTDEF+=DEBUG
2538endif
2539ifdef RELEASE
2540ifneq ($(findstring 2.0.,$(FPC_VERSION)),)
2541ifeq ($(CPU_TARGET),i386)
2542FPCCPUOPT:=-OG2p3
2543endif
2544ifeq ($(CPU_TARGET),powerpc)
2545FPCCPUOPT:=-O1r
2546endif
2547else
2548FPCCPUOPT:=-O2
2549endif
2550override FPCOPT+=-Ur -Xs $(FPCCPUOPT) -n
2551override FPCOPTDEF+=RELEASE
2552endif
2553ifdef STRIP
2554override FPCOPT+=-Xs
2555endif
2556ifdef OPTIMIZE
2557override FPCOPT+=-O2
2558endif
2559ifdef VERBOSE
2560override FPCOPT+=-vwni
2561endif
2562ifdef COMPILER_OPTIONS
2563override FPCOPT+=$(COMPILER_OPTIONS)
2564endif
2565ifdef COMPILER_UNITDIR
2566override FPCOPT+=$(addprefix -Fu,$(COMPILER_UNITDIR))
2567endif
2568ifdef COMPILER_LIBRARYDIR
2569override FPCOPT+=$(addprefix -Fl,$(COMPILER_LIBRARYDIR))
2570endif
2571ifdef COMPILER_OBJECTDIR
2572override FPCOPT+=$(addprefix -Fo,$(COMPILER_OBJECTDIR))
2573endif
2574ifdef COMPILER_INCLUDEDIR
2575override FPCOPT+=$(addprefix -Fi,$(COMPILER_INCLUDEDIR))
2576endif
2577ifdef CROSSBINDIR
2578override FPCOPT+=-FD$(CROSSBINDIR)
2579endif
2580ifdef COMPILER_TARGETDIR
2581override FPCOPT+=-FE$(COMPILER_TARGETDIR)
2582ifeq ($(COMPILER_TARGETDIR),.)
2583override TARGETDIRPREFIX=
2584else
2585override TARGETDIRPREFIX=$(COMPILER_TARGETDIR)/
2586endif
2587endif
2588ifdef COMPILER_UNITTARGETDIR
2589override FPCOPT+=-FU$(COMPILER_UNITTARGETDIR)
2590ifeq ($(COMPILER_UNITTARGETDIR),.)
2591override UNITTARGETDIRPREFIX=
2592else
2593override UNITTARGETDIRPREFIX=$(COMPILER_UNITTARGETDIR)/
2594endif
2595else
2596ifdef COMPILER_TARGETDIR
2597override COMPILER_UNITTARGETDIR=$(COMPILER_TARGETDIR)
2598override UNITTARGETDIRPREFIX=$(TARGETDIRPREFIX)
2599endif
2600endif
2601ifdef CREATESHARED
2602override FPCOPT+=-Cg
2603ifeq ($(CPU_TARGET),i386)
2604override FPCOPT+=-Aas
2605endif
2606endif
2607ifeq ($(findstring 2.0.,$(FPC_VERSION)),)
2608ifneq ($(findstring $(OS_TARGET),freebsd openbsd netbsd linux solaris),)
2609ifeq ($(CPU_TARGET),x86_64)
2610override FPCOPT+=-Cg
2611endif
2612endif
2613endif
2614ifdef LINKSHARED
2615endif
2616ifdef OPT
2617override FPCOPT+=$(OPT)
2618endif
2619ifdef FPCOPTDEF
2620override FPCOPT+=$(addprefix -d,$(FPCOPTDEF))
2621endif
2622ifdef CFGFILE
2623override FPCOPT+=@$(CFGFILE)
2624endif
2625ifdef USEENV
2626override FPCEXTCMD:=$(FPCOPT)
2627override FPCOPT:=!FPCEXTCMD
2628export FPCEXTCMD
2629endif
2630override AFULL_TARGET=$(CPU_TARGET)-$(OS_TARGET)
2631override AFULL_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE)
2632ifneq ($(AFULL_TARGET),$(AFULL_SOURCE))
2633override ACROSSCOMPILE=1
2634endif
2635ifdef ACROSSCOMPILE
2636override FPCOPT+=$(CROSSOPT)
2637endif
2638override COMPILER:=$(FPC) $(FPCOPT)
2639ifeq (,$(findstring -s ,$(COMPILER)))
2640EXECPPAS=
2641else
2642ifeq ($(FULL_SOURCE),$(FULL_TARGET))
2643ifdef RUNBATCH
2644EXECPPAS:=@$(RUNBATCH) $(PPAS)
2645else
2646EXECPPAS:=@$(PPAS)
2647endif
2648endif
2649endif
2650.PHONY: fpc_exes
2651ifndef CROSSINSTALL
2652ifneq ($(TARGET_PROGRAMS),)
2653override EXEFILES=$(addsuffix $(EXEEXT),$(TARGET_PROGRAMS))
2654override EXEOFILES:=$(addsuffix $(OEXT),$(TARGET_PROGRAMS)) $(addprefix $(STATICLIBPREFIX),$(addsuffix $(STATICLIBEXT),$(TARGET_PROGRAMS))) $(addprefix $(IMPORTLIBPREFIX),$(addsuffix $(STATICLIBEXT),$(TARGET_PROGRAMS)))
2655override EXEDBGFILES:=$(addsuffix $(EXEDBGEXT),$(TARGET_PROGRAMS))
2656override ALLTARGET+=fpc_exes
2657override INSTALLEXEFILES+=$(EXEFILES)
2658override CLEANEXEFILES+=$(EXEFILES) $(EXEOFILES)
2659override CLEANEXEDBGFILES+=$(EXEDBGFILES)
2660ifeq ($(OS_TARGET),os2)
2661override CLEANEXEFILES+=$(addsuffix $(AOUTEXT),$(TARGET_PROGRAMS))
2662endif
2663ifeq ($(OS_TARGET),emx)
2664override CLEANEXEFILES+=$(addsuffix $(AOUTEXT),$(TARGET_PROGRAMS))
2665endif
2666endif
2667endif
2668fpc_exes: $(COMPILER_TARGETDIR) $(COMPILER_UNITTARGETDIR) $(EXEFILES)
2669ifdef TARGET_RSTS
2670override RSTFILES=$(addsuffix $(RSTEXT),$(TARGET_RSTS))
2671override CLEANRSTFILES+=$(RSTFILES)
2672endif
2673.PHONY: fpc_all fpc_smart fpc_debug fpc_release fpc_shared
2674$(FPCMADE): $(ALLDEPENDENCIES) $(ALLTARGET)
2675	@$(ECHOREDIR) Compiled > $(FPCMADE)
2676fpc_all: $(FPCMADE)
2677fpc_smart:
2678	$(MAKE) all LINKSMART=1 CREATESMART=1
2679fpc_debug:
2680	$(MAKE) all DEBUG=1
2681fpc_release:
2682	$(MAKE) all RELEASE=1
2683.SUFFIXES: $(EXEEXT) $(PPUEXT) $(OEXT) .pas .lpr .dpr .pp .rc .res
2684$(COMPILER_UNITTARGETDIR):
2685	$(MKDIRTREE) $(COMPILER_UNITTARGETDIR)
2686$(COMPILER_TARGETDIR):
2687	$(MKDIRTREE) $(COMPILER_TARGETDIR)
2688%$(PPUEXT): %.pp
2689	$(COMPILER) $<
2690	$(EXECPPAS)
2691%$(PPUEXT): %.pas
2692	$(COMPILER) $<
2693	$(EXECPPAS)
2694%$(EXEEXT): %.pp
2695	$(COMPILER) $<
2696	$(EXECPPAS)
2697%$(EXEEXT): %.pas
2698	$(COMPILER) $<
2699	$(EXECPPAS)
2700%$(EXEEXT): %.lpr
2701	$(COMPILER) $<
2702	$(EXECPPAS)
2703%$(EXEEXT): %.dpr
2704	$(COMPILER) $<
2705	$(EXECPPAS)
2706%.res: %.rc
2707	windres -i $< -o $@
2708vpath %.pp $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
2709vpath %.pas $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
2710vpath %.lpr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
2711vpath %.dpr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
2712vpath %.inc $(COMPILER_INCLUDEDIR)
2713vpath %$(OEXT) $(COMPILER_UNITTARGETDIR)
2714vpath %$(PPUEXT) $(COMPILER_UNITTARGETDIR)
2715.PHONY: fpc_shared
2716override INSTALLTARGET+=fpc_shared_install
2717ifndef SHARED_LIBVERSION
2718SHARED_LIBVERSION=$(FPC_VERSION)
2719endif
2720ifndef SHARED_LIBNAME
2721SHARED_LIBNAME=$(PACKAGE_NAME)
2722endif
2723ifndef SHARED_FULLNAME
2724SHARED_FULLNAME=$(SHAREDLIBPREFIX)$(SHARED_LIBNAME)-$(SHARED_LIBVERSION)$(SHAREDLIBEXT)
2725endif
2726ifndef SHARED_LIBUNITS
2727SHARED_LIBUNITS:=$(TARGET_UNITS) $(TARGET_IMPLICITUNITS)
2728override SHARED_LIBUNITS:=$(filter-out $(INSTALL_BUILDUNIT),$(SHARED_LIBUNITS))
2729endif
2730fpc_shared:
2731ifdef HASSHAREDLIB
2732	$(MAKE) all CREATESHARED=1 LINKSHARED=1 CREATESMART=1
2733ifneq ($(SHARED_BUILD),n)
2734	$(PPUMOVE) -q $(SHARED_LIBUNITS) -i$(COMPILER_UNITTARGETDIR) -o$(SHARED_FULLNAME) -d$(COMPILER_UNITTARGETDIR)
2735endif
2736else
2737	@$(ECHO) Shared Libraries not supported
2738endif
2739fpc_shared_install:
2740ifneq ($(SHARED_BUILD),n)
2741ifneq ($(SHARED_LIBUNITS),)
2742ifneq ($(wildcard $(COMPILER_UNITTARGETDIR)/$(SHARED_FULLNAME)),)
2743	$(INSTALL) $(COMPILER_UNITTARGETDIR)/$(SHARED_FULLNAME) $(INSTALL_SHAREDDIR)
2744endif
2745endif
2746endif
2747.PHONY: fpc_install fpc_sourceinstall fpc_exampleinstall
2748ifdef INSTALL_UNITS
2749override INSTALLPPUFILES+=$(addsuffix $(PPUEXT),$(INSTALL_UNITS))
2750endif
2751ifdef INSTALL_BUILDUNIT
2752override INSTALLPPUFILES:=$(filter-out $(INSTALL_BUILDUNIT)$(PPUEXT),$(INSTALLPPUFILES))
2753endif
2754ifdef INSTALLPPUFILES
2755override INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES))) $(addprefix $(IMPORTLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES)))
2756ifneq ($(UNITTARGETDIRPREFIX),)
2757override INSTALLPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(notdir $(INSTALLPPUFILES)))
2758override INSTALLPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(notdir $(INSTALLPPULINKFILES))))
2759endif
2760override INSTALL_CREATEPACKAGEFPC=1
2761endif
2762ifdef INSTALLEXEFILES
2763ifneq ($(TARGETDIRPREFIX),)
2764override INSTALLEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(notdir $(INSTALLEXEFILES)))
2765endif
2766endif
2767fpc_install: all $(INSTALLTARGET)
2768ifdef INSTALLEXEFILES
2769	$(MKDIR) $(INSTALL_BINDIR)
2770	$(INSTALLEXE) $(INSTALLEXEFILES) $(INSTALL_BINDIR)
2771endif
2772ifdef INSTALL_CREATEPACKAGEFPC
2773ifdef FPCMAKE
2774ifdef PACKAGE_VERSION
2775ifneq ($(wildcard Makefile.fpc),)
2776	$(FPCMAKE) -p -T$(CPU_TARGET)-$(OS_TARGET) Makefile.fpc
2777	$(MKDIR) $(INSTALL_UNITDIR)
2778	$(INSTALL) Package.fpc $(INSTALL_UNITDIR)
2779endif
2780endif
2781endif
2782endif
2783ifdef INSTALLPPUFILES
2784	$(MKDIR) $(INSTALL_UNITDIR)
2785	$(INSTALL) $(INSTALLPPUFILES) $(INSTALL_UNITDIR)
2786ifneq ($(INSTALLPPULINKFILES),)
2787	$(INSTALL) $(INSTALLPPULINKFILES) $(INSTALL_UNITDIR)
2788endif
2789ifneq ($(wildcard $(LIB_FULLNAME)),)
2790	$(MKDIR) $(INSTALL_LIBDIR)
2791	$(INSTALL) $(LIB_FULLNAME) $(INSTALL_LIBDIR)
2792ifdef inUnix
2793	ln -sf $(LIB_FULLNAME) $(INSTALL_LIBDIR)/$(LIB_NAME)
2794endif
2795endif
2796endif
2797ifdef INSTALL_FILES
2798	$(MKDIR) $(INSTALL_DATADIR)
2799	$(INSTALL) $(INSTALL_FILES) $(INSTALL_DATADIR)
2800endif
2801fpc_sourceinstall: distclean
2802	$(MKDIR) $(INSTALL_SOURCEDIR)
2803	$(COPYTREE) $(BASEDIR)/* $(INSTALL_SOURCEDIR)
2804fpc_exampleinstall: $(addsuffix _distclean,$(TARGET_EXAMPLEDIRS))
2805ifdef HASEXAMPLES
2806	$(MKDIR) $(INSTALL_EXAMPLEDIR)
2807endif
2808ifdef EXAMPLESOURCEFILES
2809	$(COPY) $(EXAMPLESOURCEFILES) $(INSTALL_EXAMPLEDIR)
2810endif
2811ifdef TARGET_EXAMPLEDIRS
2812	$(COPYTREE) $(addsuffix /*,$(TARGET_EXAMPLEDIRS)) $(INSTALL_EXAMPLEDIR)
2813endif
2814.PHONY: fpc_clean fpc_cleanall fpc_distclean
2815ifdef EXEFILES
2816override CLEANEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(CLEANEXEFILES))
2817override CLEANEXEDBGFILES:=$(addprefix $(TARGETDIRPREFIX),$(CLEANEXEDBGFILES))
2818endif
2819ifdef CLEAN_PROGRAMS
2820override CLEANEXEFILES+=$(addprefix $(TARGETDIRPREFIX),$(addsuffix $(EXEEXT), $(CLEAN_PROGRAMS)))
2821override CLEANEXEDBGFILES+=$(addprefix $(TARGETDIRPREFIX),$(addsuffix $(EXEDBGEXT), $(CLEAN_PROGRAMS)))
2822endif
2823ifdef CLEAN_UNITS
2824override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
2825endif
2826ifdef CLEANPPUFILES
2827override CLEANPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES))) $(addprefix $(IMPORTLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES)))
2828ifdef DEBUGSYMEXT
2829override CLEANPPULINKFILES+=$(subst $(PPUEXT),$(DEBUGSYMEXT),$(CLEANPPUFILES))
2830endif
2831override CLEANPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPUFILES))
2832override CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
2833endif
2834fpc_clean: $(CLEANTARGET)
2835ifdef CLEANEXEFILES
2836	-$(DEL) $(CLEANEXEFILES)
2837endif
2838ifdef CLEANEXEDBGFILES
2839	-$(DELTREE) $(CLEANEXEDBGFILES)
2840endif
2841ifdef CLEANPPUFILES
2842	-$(DEL) $(CLEANPPUFILES)
2843endif
2844ifneq ($(CLEANPPULINKFILES),)
2845	-$(DEL) $(CLEANPPULINKFILES)
2846endif
2847ifdef CLEANRSTFILES
2848	-$(DEL) $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANRSTFILES))
2849endif
2850ifdef CLEAN_FILES
2851	-$(DEL) $(CLEAN_FILES)
2852endif
2853ifdef LIB_NAME
2854	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
2855endif
2856	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
2857	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
2858fpc_cleanall: $(CLEANTARGET)
2859ifdef CLEANEXEFILES
2860	-$(DEL) $(CLEANEXEFILES)
2861endif
2862ifdef COMPILER_UNITTARGETDIR
2863ifdef CLEANPPUFILES
2864	-$(DEL) $(CLEANPPUFILES)
2865endif
2866ifneq ($(CLEANPPULINKFILES),)
2867	-$(DEL) $(CLEANPPULINKFILES)
2868endif
2869ifdef CLEANRSTFILES
2870	-$(DEL) $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANRSTFILES))
2871endif
2872endif
2873ifdef CLEAN_FILES
2874	-$(DEL) $(CLEAN_FILES)
2875endif
2876	-$(DELTREE) units
2877	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
2878ifneq ($(PPUEXT),.ppu)
2879	-$(DEL) *.o *.ppu *.a
2880endif
2881	-$(DELTREE) *$(SMARTEXT)
2882	-$(DEL) fpcmade.* Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
2883	-$(DEL) *_ppas$(BATCHEXT)
2884ifdef AOUTEXT
2885	-$(DEL) *$(AOUTEXT)
2886endif
2887ifdef DEBUGSYMEXT
2888	-$(DEL) *$(DEBUGSYMEXT)
2889endif
2890fpc_distclean: cleanall
2891.PHONY: fpc_baseinfo
2892override INFORULES+=fpc_baseinfo
2893fpc_baseinfo:
2894	@$(ECHO)
2895	@$(ECHO)  == Package info ==
2896	@$(ECHO)  Package Name..... $(PACKAGE_NAME)
2897	@$(ECHO)  Package Version.. $(PACKAGE_VERSION)
2898	@$(ECHO)
2899	@$(ECHO)  == Configuration info ==
2900	@$(ECHO)
2901	@$(ECHO)  FPC.......... $(FPC)
2902	@$(ECHO)  FPC Version.. $(FPC_VERSION)
2903	@$(ECHO)  Source CPU... $(CPU_SOURCE)
2904	@$(ECHO)  Target CPU... $(CPU_TARGET)
2905	@$(ECHO)  Source OS.... $(OS_SOURCE)
2906	@$(ECHO)  Target OS.... $(OS_TARGET)
2907	@$(ECHO)  Full Source.. $(FULL_SOURCE)
2908	@$(ECHO)  Full Target.. $(FULL_TARGET)
2909	@$(ECHO)  SourceSuffix. $(SOURCESUFFIX)
2910	@$(ECHO)  TargetSuffix. $(TARGETSUFFIX)
2911	@$(ECHO)  FPC fpmake... $(FPCFPMAKE)
2912	@$(ECHO)
2913	@$(ECHO)  == Directory info ==
2914	@$(ECHO)
2915	@$(ECHO)  Required pkgs... $(REQUIRE_PACKAGES)
2916	@$(ECHO)
2917	@$(ECHO)  Basedir......... $(BASEDIR)
2918	@$(ECHO)  FPCDir.......... $(FPCDIR)
2919	@$(ECHO)  CrossBinDir..... $(CROSSBINDIR)
2920	@$(ECHO)  UnitsDir........ $(UNITSDIR)
2921	@$(ECHO)  PackagesDir..... $(PACKAGESDIR)
2922	@$(ECHO)
2923	@$(ECHO)  GCC library..... $(GCCLIBDIR)
2924	@$(ECHO)  Other library... $(OTHERLIBDIR)
2925	@$(ECHO)
2926	@$(ECHO)  == Tools info ==
2927	@$(ECHO)
2928	@$(ECHO)  As........ $(AS)
2929	@$(ECHO)  Ld........ $(LD)
2930	@$(ECHO)  Ar........ $(AR)
2931	@$(ECHO)  Rc........ $(RC)
2932	@$(ECHO)
2933	@$(ECHO)  Mv........ $(MVPROG)
2934	@$(ECHO)  Cp........ $(CPPROG)
2935	@$(ECHO)  Rm........ $(RMPROG)
2936	@$(ECHO)  GInstall.. $(GINSTALL)
2937	@$(ECHO)  Echo...... $(ECHO)
2938	@$(ECHO)  Shell..... $(SHELL)
2939	@$(ECHO)  Date...... $(DATE)
2940	@$(ECHO)  FPCMake... $(FPCMAKE)
2941	@$(ECHO)  PPUMove... $(PPUMOVE)
2942	@$(ECHO)  Zip....... $(ZIPPROG)
2943	@$(ECHO)
2944	@$(ECHO)  == Object info ==
2945	@$(ECHO)
2946	@$(ECHO)  Target Loaders........ $(TARGET_LOADERS)
2947	@$(ECHO)  Target Units.......... $(TARGET_UNITS)
2948	@$(ECHO)  Target Implicit Units. $(TARGET_IMPLICITUNITS)
2949	@$(ECHO)  Target Programs....... $(TARGET_PROGRAMS)
2950	@$(ECHO)  Target Dirs........... $(TARGET_DIRS)
2951	@$(ECHO)  Target Examples....... $(TARGET_EXAMPLES)
2952	@$(ECHO)  Target ExampleDirs.... $(TARGET_EXAMPLEDIRS)
2953	@$(ECHO)
2954	@$(ECHO)  Clean Units......... $(CLEAN_UNITS)
2955	@$(ECHO)  Clean Files......... $(CLEAN_FILES)
2956	@$(ECHO)
2957	@$(ECHO)  Install Units....... $(INSTALL_UNITS)
2958	@$(ECHO)  Install Files....... $(INSTALL_FILES)
2959	@$(ECHO)
2960	@$(ECHO)  == Install info ==
2961	@$(ECHO)
2962	@$(ECHO)  DateStr.............. $(DATESTR)
2963	@$(ECHO)  ZipName.............. $(ZIPNAME)
2964	@$(ECHO)  ZipPrefix............ $(ZIPPREFIX)
2965	@$(ECHO)  ZipCrossPrefix....... $(ZIPCROSSPREFIX)
2966	@$(ECHO)  ZipSuffix............ $(ZIPSUFFIX)
2967	@$(ECHO)  FullZipName.......... $(FULLZIPNAME)
2968	@$(ECHO)  Install FPC Package.. $(INSTALL_FPCPACKAGE)
2969	@$(ECHO)
2970	@$(ECHO)  Install base dir..... $(INSTALL_BASEDIR)
2971	@$(ECHO)  Install binary dir... $(INSTALL_BINDIR)
2972	@$(ECHO)  Install library dir.. $(INSTALL_LIBDIR)
2973	@$(ECHO)  Install units dir.... $(INSTALL_UNITDIR)
2974	@$(ECHO)  Install source dir... $(INSTALL_SOURCEDIR)
2975	@$(ECHO)  Install doc dir...... $(INSTALL_DOCDIR)
2976	@$(ECHO)  Install example dir.. $(INSTALL_EXAMPLEDIR)
2977	@$(ECHO)  Install data dir..... $(INSTALL_DATADIR)
2978	@$(ECHO)
2979	@$(ECHO)  Dist destination dir. $(DIST_DESTDIR)
2980	@$(ECHO)  Dist zip name........ $(DIST_ZIPNAME)
2981	@$(ECHO)
2982.PHONY: fpc_info
2983fpc_info: $(INFORULES)
2984.PHONY: fpc_makefile fpc_makefiles fpc_makefile_sub1 fpc_makefile_sub2 \
2985	fpc_makefile_dirs
2986fpc_makefile:
2987	$(FPCMAKE) -w -T$(OS_TARGET) Makefile.fpc
2988fpc_makefile_sub1:
2989ifdef TARGET_DIRS
2990	$(FPCMAKE) -w -T$(OS_TARGET) $(addsuffix /Makefile.fpc,$(TARGET_DIRS))
2991endif
2992ifdef TARGET_EXAMPLEDIRS
2993	$(FPCMAKE) -w -T$(OS_TARGET) $(addsuffix /Makefile.fpc,$(TARGET_EXAMPLEDIRS))
2994endif
2995fpc_makefile_sub2: $(addsuffix _makefile_dirs,$(TARGET_DIRS) $(TARGET_EXAMPLEDIRS))
2996fpc_makefile_dirs: fpc_makefile_sub1 fpc_makefile_sub2
2997fpc_makefiles: fpc_makefile fpc_makefile_dirs
2998ifndef BIN2S
2999BIN2S:=$(strip $(wildcard $(addsuffix /bin2s$(SRCEXEEXT),$(SEARCHPATH))))
3000ifeq ($(BIN2S),)
3001BIN2S= __missing_command_BIN2S
3002else
3003BIN2S:=$(firstword $(BIN2S))
3004endif
3005endif
3006export BIN2S
3007ifndef MMUTIL
3008MMUTIL:=$(strip $(wildcard $(addsuffix /mmutil$(SRCEXEEXT),$(SEARCHPATH))))
3009ifeq ($(MMUTIL),)
3010MMUTIL= __missing_command_MMUTIL
3011else
3012MMUTIL:=$(firstword $(MMUTIL))
3013endif
3014endif
3015export MMUTIL
3016ifndef GRIT
3017GRIT:=$(strip $(wildcard $(addsuffix /grit$(SRCEXEEXT),$(SEARCHPATH))))
3018ifeq ($(GRIT),)
3019GRIT= __missing_command_GRIT
3020else
3021GRIT:=$(firstword $(GRIT))
3022endif
3023endif
3024export GRIT
3025ifndef RMDIR
3026RMDIR:=$(strip $(wildcard $(addsuffix /rmdir$(SRCEXEEXT),$(SEARCHPATH))))
3027ifeq ($(RMDIR),)
3028RMDIR= __missing_command_RMDIR
3029else
3030RMDIR:=$(firstword $(RMDIR))
3031endif
3032endif
3033export RMDIR
3034debug: fpc_debug
3035smart: fpc_smart
3036release: fpc_release
3037units: fpc_units
3038examples:
3039shared: fpc_shared
3040install: fpc_install
3041sourceinstall: fpc_sourceinstall
3042exampleinstall: fpc_exampleinstall
3043distinstall:
3044zipinstall:
3045zipsourceinstall:
3046zipexampleinstall:
3047zipdistinstall:
3048distclean: fpc_distclean
3049cleanall: fpc_cleanall
3050info: fpc_info
3051makefiles: fpc_makefiles
3052.PHONY: debug smart release units examples shared install sourceinstall exampleinstall distinstall zipinstall zipsourceinstall zipexampleinstall zipdistinstall distclean cleanall info makefiles
3053ifneq ($(wildcard fpcmake.loc),)
3054include fpcmake.loc
3055endif
3056.NOTPARALLEL:
3057clean: dir_delete fpc_clean fpc_cleanall
3058all: dir_make $(BIN_FILES) $(GFX_FILES) $(ASM_FILES) fpc_all
3059dir_delete:
3060	@$(DELTREE) $(CURDIR)/$(BUILD) 
3061	@$(DELTREE) $(CURDIR)/$(INC) 
3062dir_make:
3063ifneq ($(BUILD), $(CURDIR))
3064	@$(MKDIR) $(BUILD)
3065endif
3066ifneq ($(INC), $(CURDIR))
3067	@$(MKDIR) $(INC)
3068endif
3069soundbank.bin.o : $(AUDIO_FILES)
3070	@$(MMUTIL) $^ -d -o$(BUILD)/soundbank.bin -h$(BUILD)/soundbank.h
3071	$(BIN2S) $(BUILD)/soundbank.bin > $(BUILD)/soundbank.bin.s
3072	$(AS) -o $(BUILD)/soundbank.bin.o $(BUILD)/soundbank.bin.s
3073$(GFX_FILES): $(wildcard %.png) 
3074	@echo 'Converting $(@) file to asm...'
3075	$(GRIT) gfx/$(@) -fts -ff gfx/$(basename $(@)).grit -o$(BUILD)/$(@)
3076	@echo 'Assembling $(@).s file...'
3077	$(AS) -o $(BUILD)/$(basename $(@)).o $(BUILD)/$(basename $(@)).s
3078	@echo 'Done!'
3079$(BIN_FILES): $(wildcard %.*)
3080	@echo 'Converting $(@) file to asm...'
3081	@$(BIN2S) data/$(@) > $(BUILD)/$(@).s
3082	@echo 'Creating $(@).inc include file...'
3083	@echo "var" > `(echo "inc/"$(@F) | tr . .)`.inc
3084	@echo " " `(echo $(@F) | sed -e 's/^\([0-9]\)/_\1/' | tr . _)`"_end: array [0..0] of cuint8; cvar; external;" >> `(echo "inc/"$(@F) | tr . .)`.inc
3085	@echo " " `(echo $(@F) | sed -e 's/^\([0-9]\)/_\1/' | tr . _)`": array [0..0] of cuint8; cvar; external;" >> `(echo "inc/"$(@F) | tr . .)`.inc
3086	@echo " " `(echo $(@F) | sed -e 's/^\([0-9]\)/_\1/' | tr . _)`_size": cuint32; cvar; external;" >> `(echo "inc/"$(@F) | tr . .)`.inc
3087	@echo 'Assembling $(@).s file...'
3088	@$(AS) -o $(BUILD)/$(@).o $(BUILD)/$(@).s
3089	@echo 'Done!'
3090$(ASM_FILES): $(wildcard %.*)
3091	@echo 'Assembling $(@) file...'
3092	@$(AS) -o $(BUILD)/$(*F).o asm/$(@)
3093	@echo 'Done!'