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