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