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