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