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