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