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