2
# Don't edit, this file is generated by FPCMake Version 2.0.0 [2007/08/29]
5
MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos 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 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 sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-win64 x86_64-embedded arm-linux arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian powerpc64-linux powerpc64-embedded
6
BSDs = freebsd netbsd openbsd darwin
7
UNIXs = linux $(BSDs) solaris qnx
8
LIMIT83fs = go32v2 os2 emx watcom
11
override PATH:=$(patsubst %/,%,$(subst \,/,$(PATH)))
12
ifneq ($(findstring darwin,$(OSTYPE)),)
14
SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
16
ifeq ($(findstring ;,$(PATH)),)
18
SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
20
SEARCHPATH:=$(subst ;, ,$(PATH))
23
SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
24
PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
26
PWD:=$(strip $(wildcard $(addsuffix /pwd,$(SEARCHPATH))))
28
$(error You need the GNU utils package to use this Makefile)
30
PWD:=$(firstword $(PWD))
34
PWD:=$(firstword $(PWD))
38
ifeq ($(OS),Windows_NT)
46
ifneq ($(findstring cygdrive,$(PATH)),)
62
PATHSEP:=$(subst /,\,/)
68
BASEDIR:=$(subst \,/,$(shell $(PWD)))
70
ifneq ($(findstring /cygdrive/,$(BASEDIR)),)
71
BASENODIR:=$(patsubst /cygdrive%,%,$(BASEDIR))
72
BASEDRIVE:=$(firstword $(subst /, ,$(BASENODIR)))
73
BASEDIR:=$(subst /cygdrive/$(BASEDRIVE)/,$(BASEDRIVE):/,$(BASEDIR))
81
ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
83
ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
87
ECHO:=$(firstword $(ECHO))
90
ECHO:=$(firstword $(ECHO))
95
override DEFAULT_FPCDIR=../..
102
FPCPROG:=$(strip $(wildcard $(addsuffix /fpc$(SRCEXEEXT),$(SEARCHPATH))))
104
FPCPROG:=$(firstword $(FPCPROG))
105
FPC:=$(shell $(FPCPROG) -PB)
106
ifneq ($(findstring Error,$(FPC)),)
107
override FPC=$(firstword $(strip $(wildcard $(addsuffix /ppc386$(SRCEXEEXT),$(SEARCHPATH)))))
110
override FPC=$(firstword $(strip $(wildcard $(addsuffix /ppc386$(SRCEXEEXT),$(SEARCHPATH)))))
113
override FPC:=$(subst $(SRCEXEEXT),,$(FPC))
114
override FPC:=$(subst \,/,$(FPC))$(SRCEXEEXT)
115
FOUNDFPC:=$(strip $(wildcard $(FPC)))
117
FOUNDFPC=$(strip $(wildcard $(addsuffix /$(FPC),$(SEARCHPATH))))
119
$(error Compiler $(FPC) not found)
122
ifndef FPC_COMPILERINFO
123
FPC_COMPILERINFO:=$(shell $(FPC) -iVSPTPSOTO)
126
FPC_VERSION:=$(word 1,$(FPC_COMPILERINFO))
128
export FPC FPC_VERSION FPC_COMPILERINFO
129
unexport CHECKDEPEND ALLDEPENDENCIES
131
ifdef CPU_TARGET_DEFAULT
132
CPU_TARGET=$(CPU_TARGET_DEFAULT)
136
ifdef OS_TARGET_DEFAULT
137
OS_TARGET=$(OS_TARGET_DEFAULT)
140
ifneq ($(words $(FPC_COMPILERINFO)),5)
141
FPC_COMPILERINFO+=$(shell $(FPC) -iSP)
142
FPC_COMPILERINFO+=$(shell $(FPC) -iTP)
143
FPC_COMPILERINFO+=$(shell $(FPC) -iSO)
144
FPC_COMPILERINFO+=$(shell $(FPC) -iTO)
147
CPU_SOURCE:=$(word 2,$(FPC_COMPILERINFO))
150
CPU_TARGET:=$(word 3,$(FPC_COMPILERINFO))
153
OS_SOURCE:=$(word 4,$(FPC_COMPILERINFO))
156
OS_TARGET:=$(word 5,$(FPC_COMPILERINFO))
158
FULL_TARGET=$(CPU_TARGET)-$(OS_TARGET)
159
FULL_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE)
160
ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
161
TARGETSUFFIX=$(OS_TARGET)
162
SOURCESUFFIX=$(OS_SOURCE)
164
TARGETSUFFIX=$(FULL_TARGET)
165
SOURCESUFFIX=$(FULL_SOURCE)
167
ifneq ($(FULL_TARGET),$(FULL_SOURCE))
170
ifeq ($(findstring makefile,$(MAKECMDGOALS)),)
171
ifeq ($(findstring $(FULL_TARGET),$(MAKEFILETARGETS)),)
172
$(error The Makefile doesn't support target $(FULL_TARGET), please run fpcmake first)
175
ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
178
ifeq ($(OS_TARGET),linux)
181
export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE TARGETSUFFIX SOURCESUFFIX CROSSCOMPILE
183
override FPCDIR:=$(subst \,/,$(FPCDIR))
184
ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
185
override FPCDIR=wrong
188
override FPCDIR=wrong
191
ifeq ($(FPCDIR),wrong)
192
override FPCDIR:=$(subst \,/,$(DEFAULT_FPCDIR))
193
ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
194
override FPCDIR=wrong
198
ifeq ($(FPCDIR),wrong)
200
override FPCDIR=/usr/local/lib/fpc/$(FPC_VERSION)
201
ifeq ($(wildcard $(FPCDIR)/units),)
202
override FPCDIR=/usr/lib/fpc/$(FPC_VERSION)
205
override FPCDIR:=$(subst /$(FPC),,$(firstword $(strip $(wildcard $(addsuffix /$(FPC),$(SEARCHPATH))))))
206
override FPCDIR:=$(FPCDIR)/..
207
ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
208
override FPCDIR:=$(FPCDIR)/..
209
ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
210
override FPCDIR:=$(BASEDIR)
211
ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
212
override FPCDIR=c:/pp
219
CROSSBINDIR:=$(wildcard $(FPCDIR)/bin/$(TARGETSUFFIX))
221
ifndef BINUTILSPREFIX
224
BINUTILSPREFIX=$(CPU_TARGET)-$(OS_TARGET)-
228
UNITSDIR:=$(wildcard $(FPCDIR)/units/$(TARGETSUFFIX))
230
UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET))
232
PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages $(FPCDIR)/packages/base $(FPCDIR)/packages/extra)
233
ifeq ($(FULL_TARGET),i386-linux)
234
override TARGET_PROGRAMS+=alphasim
236
ifeq ($(FULL_TARGET),i386-go32v2)
237
override TARGET_PROGRAMS+=alphasim
239
ifeq ($(FULL_TARGET),i386-win32)
240
override TARGET_PROGRAMS+=alphasim
242
ifeq ($(FULL_TARGET),i386-os2)
243
override TARGET_PROGRAMS+=alphasim
245
ifeq ($(FULL_TARGET),i386-freebsd)
246
override TARGET_PROGRAMS+=alphasim
248
ifeq ($(FULL_TARGET),i386-beos)
249
override TARGET_PROGRAMS+=alphasim
251
ifeq ($(FULL_TARGET),i386-netbsd)
252
override TARGET_PROGRAMS+=alphasim
254
ifeq ($(FULL_TARGET),i386-solaris)
255
override TARGET_PROGRAMS+=alphasim
257
ifeq ($(FULL_TARGET),i386-qnx)
258
override TARGET_PROGRAMS+=alphasim
260
ifeq ($(FULL_TARGET),i386-netware)
261
override TARGET_PROGRAMS+=alphasim
263
ifeq ($(FULL_TARGET),i386-openbsd)
264
override TARGET_PROGRAMS+=alphasim
266
ifeq ($(FULL_TARGET),i386-wdosx)
267
override TARGET_PROGRAMS+=alphasim
269
ifeq ($(FULL_TARGET),i386-darwin)
270
override TARGET_PROGRAMS+=alphasim
272
ifeq ($(FULL_TARGET),i386-emx)
273
override TARGET_PROGRAMS+=alphasim
275
ifeq ($(FULL_TARGET),i386-watcom)
276
override TARGET_PROGRAMS+=alphasim
278
ifeq ($(FULL_TARGET),i386-netwlibc)
279
override TARGET_PROGRAMS+=alphasim
281
ifeq ($(FULL_TARGET),i386-wince)
282
override TARGET_PROGRAMS+=alphasim
284
ifeq ($(FULL_TARGET),i386-embedded)
285
override TARGET_PROGRAMS+=alphasim
287
ifeq ($(FULL_TARGET),i386-symbian)
288
override TARGET_PROGRAMS+=alphasim
290
ifeq ($(FULL_TARGET),m68k-linux)
291
override TARGET_PROGRAMS+=alphasim
293
ifeq ($(FULL_TARGET),m68k-freebsd)
294
override TARGET_PROGRAMS+=alphasim
296
ifeq ($(FULL_TARGET),m68k-netbsd)
297
override TARGET_PROGRAMS+=alphasim
299
ifeq ($(FULL_TARGET),m68k-amiga)
300
override TARGET_PROGRAMS+=alphasim
302
ifeq ($(FULL_TARGET),m68k-atari)
303
override TARGET_PROGRAMS+=alphasim
305
ifeq ($(FULL_TARGET),m68k-openbsd)
306
override TARGET_PROGRAMS+=alphasim
308
ifeq ($(FULL_TARGET),m68k-palmos)
309
override TARGET_PROGRAMS+=alphasim
311
ifeq ($(FULL_TARGET),m68k-embedded)
312
override TARGET_PROGRAMS+=alphasim
314
ifeq ($(FULL_TARGET),powerpc-linux)
315
override TARGET_PROGRAMS+=alphasim
317
ifeq ($(FULL_TARGET),powerpc-netbsd)
318
override TARGET_PROGRAMS+=alphasim
320
ifeq ($(FULL_TARGET),powerpc-amiga)
321
override TARGET_PROGRAMS+=alphasim
323
ifeq ($(FULL_TARGET),powerpc-macos)
324
override TARGET_PROGRAMS+=alphasim
326
ifeq ($(FULL_TARGET),powerpc-darwin)
327
override TARGET_PROGRAMS+=alphasim
329
ifeq ($(FULL_TARGET),powerpc-morphos)
330
override TARGET_PROGRAMS+=alphasim
332
ifeq ($(FULL_TARGET),powerpc-embedded)
333
override TARGET_PROGRAMS+=alphasim
335
ifeq ($(FULL_TARGET),sparc-linux)
336
override TARGET_PROGRAMS+=alphasim
338
ifeq ($(FULL_TARGET),sparc-netbsd)
339
override TARGET_PROGRAMS+=alphasim
341
ifeq ($(FULL_TARGET),sparc-solaris)
342
override TARGET_PROGRAMS+=alphasim
344
ifeq ($(FULL_TARGET),sparc-embedded)
345
override TARGET_PROGRAMS+=alphasim
347
ifeq ($(FULL_TARGET),x86_64-linux)
348
override TARGET_PROGRAMS+=alphasim
350
ifeq ($(FULL_TARGET),x86_64-freebsd)
351
override TARGET_PROGRAMS+=alphasim
353
ifeq ($(FULL_TARGET),x86_64-win64)
354
override TARGET_PROGRAMS+=alphasim
356
ifeq ($(FULL_TARGET),x86_64-embedded)
357
override TARGET_PROGRAMS+=alphasim
359
ifeq ($(FULL_TARGET),arm-linux)
360
override TARGET_PROGRAMS+=alphasim
362
ifeq ($(FULL_TARGET),arm-palmos)
363
override TARGET_PROGRAMS+=alphasim
365
ifeq ($(FULL_TARGET),arm-wince)
366
override TARGET_PROGRAMS+=alphasim
368
ifeq ($(FULL_TARGET),arm-gba)
369
override TARGET_PROGRAMS+=alphasim
371
ifeq ($(FULL_TARGET),arm-nds)
372
override TARGET_PROGRAMS+=alphasim
374
ifeq ($(FULL_TARGET),arm-embedded)
375
override TARGET_PROGRAMS+=alphasim
377
ifeq ($(FULL_TARGET),arm-symbian)
378
override TARGET_PROGRAMS+=alphasim
380
ifeq ($(FULL_TARGET),powerpc64-linux)
381
override TARGET_PROGRAMS+=alphasim
383
ifeq ($(FULL_TARGET),powerpc64-embedded)
384
override TARGET_PROGRAMS+=alphasim
386
ifeq ($(FULL_TARGET),i386-linux)
387
override CLEAN_UNITS+=mm64 fastmm64 simlib simbase
389
ifeq ($(FULL_TARGET),i386-go32v2)
390
override CLEAN_UNITS+=mm64 fastmm64 simlib simbase
392
ifeq ($(FULL_TARGET),i386-win32)
393
override CLEAN_UNITS+=mm64 fastmm64 simlib simbase
395
ifeq ($(FULL_TARGET),i386-os2)
396
override CLEAN_UNITS+=mm64 fastmm64 simlib simbase
398
ifeq ($(FULL_TARGET),i386-freebsd)
399
override CLEAN_UNITS+=mm64 fastmm64 simlib simbase
401
ifeq ($(FULL_TARGET),i386-beos)
402
override CLEAN_UNITS+=mm64 fastmm64 simlib simbase
404
ifeq ($(FULL_TARGET),i386-netbsd)
405
override CLEAN_UNITS+=mm64 fastmm64 simlib simbase
407
ifeq ($(FULL_TARGET),i386-solaris)
408
override CLEAN_UNITS+=mm64 fastmm64 simlib simbase
410
ifeq ($(FULL_TARGET),i386-qnx)
411
override CLEAN_UNITS+=mm64 fastmm64 simlib simbase
413
ifeq ($(FULL_TARGET),i386-netware)
414
override CLEAN_UNITS+=mm64 fastmm64 simlib simbase
416
ifeq ($(FULL_TARGET),i386-openbsd)
417
override CLEAN_UNITS+=mm64 fastmm64 simlib simbase
419
ifeq ($(FULL_TARGET),i386-wdosx)
420
override CLEAN_UNITS+=mm64 fastmm64 simlib simbase
422
ifeq ($(FULL_TARGET),i386-darwin)
423
override CLEAN_UNITS+=mm64 fastmm64 simlib simbase
425
ifeq ($(FULL_TARGET),i386-emx)
426
override CLEAN_UNITS+=mm64 fastmm64 simlib simbase
428
ifeq ($(FULL_TARGET),i386-watcom)
429
override CLEAN_UNITS+=mm64 fastmm64 simlib simbase
431
ifeq ($(FULL_TARGET),i386-netwlibc)
432
override CLEAN_UNITS+=mm64 fastmm64 simlib simbase
434
ifeq ($(FULL_TARGET),i386-wince)
435
override CLEAN_UNITS+=mm64 fastmm64 simlib simbase
437
ifeq ($(FULL_TARGET),i386-embedded)
438
override CLEAN_UNITS+=mm64 fastmm64 simlib simbase
440
ifeq ($(FULL_TARGET),i386-symbian)
441
override CLEAN_UNITS+=mm64 fastmm64 simlib simbase
443
ifeq ($(FULL_TARGET),m68k-linux)
444
override CLEAN_UNITS+=mm64 fastmm64 simlib simbase
446
ifeq ($(FULL_TARGET),m68k-freebsd)
447
override CLEAN_UNITS+=mm64 fastmm64 simlib simbase
449
ifeq ($(FULL_TARGET),m68k-netbsd)
450
override CLEAN_UNITS+=mm64 fastmm64 simlib simbase
452
ifeq ($(FULL_TARGET),m68k-amiga)
453
override CLEAN_UNITS+=mm64 fastmm64 simlib simbase
455
ifeq ($(FULL_TARGET),m68k-atari)
456
override CLEAN_UNITS+=mm64 fastmm64 simlib simbase
458
ifeq ($(FULL_TARGET),m68k-openbsd)
459
override CLEAN_UNITS+=mm64 fastmm64 simlib simbase
461
ifeq ($(FULL_TARGET),m68k-palmos)
462
override CLEAN_UNITS+=mm64 fastmm64 simlib simbase
464
ifeq ($(FULL_TARGET),m68k-embedded)
465
override CLEAN_UNITS+=mm64 fastmm64 simlib simbase
467
ifeq ($(FULL_TARGET),powerpc-linux)
468
override CLEAN_UNITS+=mm64 fastmm64 simlib simbase
470
ifeq ($(FULL_TARGET),powerpc-netbsd)
471
override CLEAN_UNITS+=mm64 fastmm64 simlib simbase
473
ifeq ($(FULL_TARGET),powerpc-amiga)
474
override CLEAN_UNITS+=mm64 fastmm64 simlib simbase
476
ifeq ($(FULL_TARGET),powerpc-macos)
477
override CLEAN_UNITS+=mm64 fastmm64 simlib simbase
479
ifeq ($(FULL_TARGET),powerpc-darwin)
480
override CLEAN_UNITS+=mm64 fastmm64 simlib simbase
482
ifeq ($(FULL_TARGET),powerpc-morphos)
483
override CLEAN_UNITS+=mm64 fastmm64 simlib simbase
485
ifeq ($(FULL_TARGET),powerpc-embedded)
486
override CLEAN_UNITS+=mm64 fastmm64 simlib simbase
488
ifeq ($(FULL_TARGET),sparc-linux)
489
override CLEAN_UNITS+=mm64 fastmm64 simlib simbase
491
ifeq ($(FULL_TARGET),sparc-netbsd)
492
override CLEAN_UNITS+=mm64 fastmm64 simlib simbase
494
ifeq ($(FULL_TARGET),sparc-solaris)
495
override CLEAN_UNITS+=mm64 fastmm64 simlib simbase
497
ifeq ($(FULL_TARGET),sparc-embedded)
498
override CLEAN_UNITS+=mm64 fastmm64 simlib simbase
500
ifeq ($(FULL_TARGET),x86_64-linux)
501
override CLEAN_UNITS+=mm64 fastmm64 simlib simbase
503
ifeq ($(FULL_TARGET),x86_64-freebsd)
504
override CLEAN_UNITS+=mm64 fastmm64 simlib simbase
506
ifeq ($(FULL_TARGET),x86_64-win64)
507
override CLEAN_UNITS+=mm64 fastmm64 simlib simbase
509
ifeq ($(FULL_TARGET),x86_64-embedded)
510
override CLEAN_UNITS+=mm64 fastmm64 simlib simbase
512
ifeq ($(FULL_TARGET),arm-linux)
513
override CLEAN_UNITS+=mm64 fastmm64 simlib simbase
515
ifeq ($(FULL_TARGET),arm-palmos)
516
override CLEAN_UNITS+=mm64 fastmm64 simlib simbase
518
ifeq ($(FULL_TARGET),arm-wince)
519
override CLEAN_UNITS+=mm64 fastmm64 simlib simbase
521
ifeq ($(FULL_TARGET),arm-gba)
522
override CLEAN_UNITS+=mm64 fastmm64 simlib simbase
524
ifeq ($(FULL_TARGET),arm-nds)
525
override CLEAN_UNITS+=mm64 fastmm64 simlib simbase
527
ifeq ($(FULL_TARGET),arm-embedded)
528
override CLEAN_UNITS+=mm64 fastmm64 simlib simbase
530
ifeq ($(FULL_TARGET),arm-symbian)
531
override CLEAN_UNITS+=mm64 fastmm64 simlib simbase
533
ifeq ($(FULL_TARGET),powerpc64-linux)
534
override CLEAN_UNITS+=mm64 fastmm64 simlib simbase
536
ifeq ($(FULL_TARGET),powerpc64-embedded)
537
override CLEAN_UNITS+=mm64 fastmm64 simlib simbase
539
override INSTALL_FPCPACKAGE=y
540
ifdef REQUIRE_UNITSDIR
541
override UNITSDIR+=$(REQUIRE_UNITSDIR)
543
ifdef REQUIRE_PACKAGESDIR
544
override PACKAGESDIR+=$(REQUIRE_PACKAGESDIR)
547
ifneq ($(findstring $(OS_TARGET),$(UNIXs)),)
551
ifneq ($(findstring $(OS_SOURCE),$(UNIXs)),)
555
ifndef INSTALL_PREFIX
557
INSTALL_PREFIX=$(PREFIX)
560
ifndef INSTALL_PREFIX
562
INSTALL_PREFIX=/usr/local
564
ifdef INSTALL_FPCPACKAGE
567
INSTALL_BASEDIR:=/$(PACKAGE_NAME)
571
export INSTALL_PREFIX
572
ifdef INSTALL_FPCSUBDIR
573
export INSTALL_FPCSUBDIR
576
DIST_DESTDIR:=$(BASEDIR)
579
ifndef COMPILER_UNITTARGETDIR
580
ifdef PACKAGEDIR_MAIN
581
COMPILER_UNITTARGETDIR=$(PACKAGEDIR_MAIN)/units/$(TARGETSUFFIX)
583
COMPILER_UNITTARGETDIR=units/$(TARGETSUFFIX)
586
ifndef COMPILER_TARGETDIR
589
ifndef INSTALL_BASEDIR
591
ifdef INSTALL_FPCPACKAGE
592
INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
594
INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/$(PACKAGE_NAME)
597
INSTALL_BASEDIR:=$(INSTALL_PREFIX)
600
ifndef INSTALL_BINDIR
602
INSTALL_BINDIR:=$(INSTALL_PREFIX)/bin
604
INSTALL_BINDIR:=$(INSTALL_BASEDIR)/bin
605
ifdef INSTALL_FPCPACKAGE
608
INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(SOURCESUFFIX)
610
INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(TARGETSUFFIX)
613
INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(TARGETSUFFIX)
618
ifndef INSTALL_UNITDIR
619
INSTALL_UNITDIR:=$(INSTALL_BASEDIR)/units/$(TARGETSUFFIX)
620
ifdef INSTALL_FPCPACKAGE
622
INSTALL_UNITDIR:=$(INSTALL_UNITDIR)/$(PACKAGE_NAME)
626
ifndef INSTALL_LIBDIR
628
INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
630
INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
633
ifndef INSTALL_SOURCEDIR
636
SRCPREFIXDIR=share/src
639
SRCPREFIXDIR=share/src
644
ifdef INSTALL_FPCPACKAGE
645
ifdef INSTALL_FPCSUBDIR
646
INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
648
INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
651
INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
654
ifdef INSTALL_FPCPACKAGE
655
ifdef INSTALL_FPCSUBDIR
656
INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
658
INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(PACKAGE_NAME)
661
INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source
665
ifndef INSTALL_DOCDIR
668
DOCPREFIXDIR=share/doc
671
DOCPREFIXDIR=share/doc
676
ifdef INSTALL_FPCPACKAGE
677
INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
679
INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
682
ifdef INSTALL_FPCPACKAGE
683
INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc/$(PACKAGE_NAME)
685
INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc
689
ifndef INSTALL_EXAMPLEDIR
691
ifdef INSTALL_FPCPACKAGE
693
INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
696
INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples
698
INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
703
INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
706
INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
708
INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
713
ifdef INSTALL_FPCPACKAGE
714
INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
716
INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples
720
ifndef INSTALL_DATADIR
721
INSTALL_DATADIR=$(INSTALL_BASEDIR)
723
ifndef INSTALL_SHAREDDIR
724
INSTALL_SHAREDDIR=$(INSTALL_PREFIX)/lib
728
CROSSBINDIR:=$(wildcard $(CROSSTARGETDIR)/bin/$(SOURCESUFFIX))
729
ifeq ($(CROSSBINDIR),)
730
CROSSBINDIR:=$(wildcard $(INSTALL_BASEDIR)/cross/$(TARGETSUFFIX)/bin/$(FULL_SOURCE))
746
SHAREDLIBPREFIX=libfp
748
IMPORTLIBPREFIX=libimp
750
ifeq ($(findstring 1.0.,$(FPC_VERSION)),)
751
ifeq ($(OS_TARGET),go32v1)
755
ifeq ($(OS_TARGET),go32v2)
759
ifeq ($(OS_TARGET),watcom)
766
ifeq ($(OS_TARGET),linux)
772
ifeq ($(OS_TARGET),freebsd)
778
ifeq ($(OS_TARGET),netbsd)
784
ifeq ($(OS_TARGET),openbsd)
790
ifeq ($(OS_TARGET),win32)
794
ifeq ($(OS_TARGET),os2)
802
ifeq ($(OS_TARGET),emx)
810
ifeq ($(OS_TARGET),amiga)
812
SHAREDLIBEXT=.library
815
ifeq ($(OS_TARGET),morphos)
817
SHAREDLIBEXT=.library
820
ifeq ($(OS_TARGET),atari)
824
ifeq ($(OS_TARGET),beos)
829
ifeq ($(OS_TARGET),solaris)
834
ifeq ($(OS_TARGET),qnx)
839
ifeq ($(OS_TARGET),netware)
844
ifeq ($(OS_TARGET),netwlibc)
849
ifeq ($(OS_TARGET),macos)
855
ifeq ($(OS_TARGET),darwin)
861
ifeq ($(OS_TARGET),gba)
866
ifeq ($(OS_TARGET),symbian)
871
ifeq ($(OS_TARGET),go32v1)
881
ifeq ($(OS_TARGET),go32v2)
885
ifeq ($(OS_TARGET),watcom)
889
ifeq ($(OS_TARGET),linux)
895
ifeq ($(OS_TARGET),freebsd)
901
ifeq ($(OS_TARGET),netbsd)
907
ifeq ($(OS_TARGET),openbsd)
913
ifeq ($(OS_TARGET),win32)
922
ifeq ($(OS_TARGET),os2)
935
ifeq ($(OS_TARGET),amiga)
942
SHAREDLIBEXT=.library
945
ifeq ($(OS_TARGET),atari)
954
ifeq ($(OS_TARGET),beos)
964
ifeq ($(OS_TARGET),solaris)
974
ifeq ($(OS_TARGET),qnx)
984
ifeq ($(OS_TARGET),netware)
995
ifeq ($(OS_TARGET),netwlibc)
1006
ifeq ($(OS_TARGET),macos)
1018
ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
1019
FPCMADE=fpcmade.$(SHORTSUFFIX)
1020
ZIPSUFFIX=$(SHORTSUFFIX)
1023
ZIPEXAMPLESUFFIX=exm
1025
FPCMADE=fpcmade.$(TARGETSUFFIX)
1026
ZIPSOURCESUFFIX=.source
1027
ZIPEXAMPLESUFFIX=.examples
1029
ZIPSUFFIX=.$(SOURCESUFFIX)
1030
ZIPCROSSPREFIX=$(TARGETSUFFIX)-
1032
ZIPSUFFIX=.$(TARGETSUFFIX)
1037
ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
1039
ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
1041
ECHO= __missing_command_ECHO
1043
ECHO:=$(firstword $(ECHO))
1046
ECHO:=$(firstword $(ECHO))
1051
DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
1053
DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
1055
DATE= __missing_command_DATE
1057
DATE:=$(firstword $(DATE))
1060
DATE:=$(firstword $(DATE))
1065
GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
1067
GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
1069
GINSTALL= __missing_command_GINSTALL
1071
GINSTALL:=$(firstword $(GINSTALL))
1074
GINSTALL:=$(firstword $(GINSTALL))
1079
CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
1081
CPPROG= __missing_command_CPPROG
1083
CPPROG:=$(firstword $(CPPROG))
1088
RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
1090
RMPROG= __missing_command_RMPROG
1092
RMPROG:=$(firstword $(RMPROG))
1097
MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
1099
MVPROG= __missing_command_MVPROG
1101
MVPROG:=$(firstword $(MVPROG))
1106
MKDIRPROG:=$(strip $(wildcard $(addsuffix /gmkdir$(SRCEXEEXT),$(SEARCHPATH))))
1107
ifeq ($(MKDIRPROG),)
1108
MKDIRPROG:=$(strip $(wildcard $(addsuffix /mkdir$(SRCEXEEXT),$(SEARCHPATH))))
1109
ifeq ($(MKDIRPROG),)
1110
MKDIRPROG= __missing_command_MKDIRPROG
1112
MKDIRPROG:=$(firstword $(MKDIRPROG))
1115
MKDIRPROG:=$(firstword $(MKDIRPROG))
1130
COPYTREE:=$(CPPROG) -Rfp
1133
MKDIRTREE:=$(MKDIRPROG) -p
1142
DELTREE:=$(RMPROG) -rf
1146
INSTALL:=$(GINSTALL) -c -m 644
1153
INSTALLEXE:=$(GINSTALL) -c -m 755
1159
MKDIR:=$(GINSTALL) -m 755 -d
1161
export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
1163
PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
1165
PPUMOVE= __missing_command_PPUMOVE
1167
PPUMOVE:=$(firstword $(PPUMOVE))
1172
FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
1174
FPCMAKE= __missing_command_FPCMAKE
1176
FPCMAKE:=$(firstword $(FPCMAKE))
1181
ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
1183
ZIPPROG= __missing_command_ZIPPROG
1185
ZIPPROG:=$(firstword $(ZIPPROG))
1190
TARPROG:=$(strip $(wildcard $(addsuffix /gtar$(SRCEXEEXT),$(SEARCHPATH))))
1192
TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
1194
TARPROG= __missing_command_TARPROG
1196
TARPROG:=$(firstword $(TARPROG))
1199
TARPROG:=$(firstword $(TARPROG))
1203
ASNAME=$(BINUTILSPREFIX)as
1204
LDNAME=$(BINUTILSPREFIX)ld
1205
ARNAME=$(BINUTILSPREFIX)ar
1206
RCNAME=$(BINUTILSPREFIX)rc
1207
ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
1208
ifeq ($(OS_TARGET),win32)
1209
ifeq ($(CROSSBINDIR),)
1218
ASPROG=$(CROSSBINDIR)/$(ASNAME)$(SRCEXEEXT)
1225
LDPROG=$(CROSSBINDIR)/$(LDNAME)$(SRCEXEEXT)
1232
RCPROG=$(CROSSBINDIR)/$(RCNAME)$(SRCEXEEXT)
1239
ARPROG=$(CROSSBINDIR)/$(ARNAME)$(SRCEXEEXT)
1248
PPAS=ppas$(SRCBATCHEXT)
1255
DATESTR:=$(shell $(DATE) +%Y%m%d)
1260
ifeq ($(OS_TARGET),go32v2)
1263
ifeq ($(OS_TARGET),win32)
1267
UPXPROG:=$(strip $(wildcard $(addsuffix /upx$(SRCEXEEXT),$(SEARCHPATH))))
1271
UPXPROG:=$(firstword $(UPXPROG))
1280
ifeq ($(USETAR),bz2)
1287
override REQUIRE_PACKAGES=rtl
1288
ifeq ($(FULL_TARGET),i386-linux)
1289
REQUIRE_PACKAGES_RTL=1
1291
ifeq ($(FULL_TARGET),i386-go32v2)
1292
REQUIRE_PACKAGES_RTL=1
1294
ifeq ($(FULL_TARGET),i386-win32)
1295
REQUIRE_PACKAGES_RTL=1
1297
ifeq ($(FULL_TARGET),i386-os2)
1298
REQUIRE_PACKAGES_RTL=1
1300
ifeq ($(FULL_TARGET),i386-freebsd)
1301
REQUIRE_PACKAGES_RTL=1
1303
ifeq ($(FULL_TARGET),i386-beos)
1304
REQUIRE_PACKAGES_RTL=1
1306
ifeq ($(FULL_TARGET),i386-netbsd)
1307
REQUIRE_PACKAGES_RTL=1
1309
ifeq ($(FULL_TARGET),i386-solaris)
1310
REQUIRE_PACKAGES_RTL=1
1312
ifeq ($(FULL_TARGET),i386-qnx)
1313
REQUIRE_PACKAGES_RTL=1
1315
ifeq ($(FULL_TARGET),i386-netware)
1316
REQUIRE_PACKAGES_RTL=1
1318
ifeq ($(FULL_TARGET),i386-openbsd)
1319
REQUIRE_PACKAGES_RTL=1
1321
ifeq ($(FULL_TARGET),i386-wdosx)
1322
REQUIRE_PACKAGES_RTL=1
1324
ifeq ($(FULL_TARGET),i386-darwin)
1325
REQUIRE_PACKAGES_RTL=1
1327
ifeq ($(FULL_TARGET),i386-emx)
1328
REQUIRE_PACKAGES_RTL=1
1330
ifeq ($(FULL_TARGET),i386-watcom)
1331
REQUIRE_PACKAGES_RTL=1
1333
ifeq ($(FULL_TARGET),i386-netwlibc)
1334
REQUIRE_PACKAGES_RTL=1
1336
ifeq ($(FULL_TARGET),i386-wince)
1337
REQUIRE_PACKAGES_RTL=1
1339
ifeq ($(FULL_TARGET),i386-embedded)
1340
REQUIRE_PACKAGES_RTL=1
1342
ifeq ($(FULL_TARGET),i386-symbian)
1343
REQUIRE_PACKAGES_RTL=1
1345
ifeq ($(FULL_TARGET),m68k-linux)
1346
REQUIRE_PACKAGES_RTL=1
1348
ifeq ($(FULL_TARGET),m68k-freebsd)
1349
REQUIRE_PACKAGES_RTL=1
1351
ifeq ($(FULL_TARGET),m68k-netbsd)
1352
REQUIRE_PACKAGES_RTL=1
1354
ifeq ($(FULL_TARGET),m68k-amiga)
1355
REQUIRE_PACKAGES_RTL=1
1357
ifeq ($(FULL_TARGET),m68k-atari)
1358
REQUIRE_PACKAGES_RTL=1
1360
ifeq ($(FULL_TARGET),m68k-openbsd)
1361
REQUIRE_PACKAGES_RTL=1
1363
ifeq ($(FULL_TARGET),m68k-palmos)
1364
REQUIRE_PACKAGES_RTL=1
1366
ifeq ($(FULL_TARGET),m68k-embedded)
1367
REQUIRE_PACKAGES_RTL=1
1369
ifeq ($(FULL_TARGET),powerpc-linux)
1370
REQUIRE_PACKAGES_RTL=1
1372
ifeq ($(FULL_TARGET),powerpc-netbsd)
1373
REQUIRE_PACKAGES_RTL=1
1375
ifeq ($(FULL_TARGET),powerpc-amiga)
1376
REQUIRE_PACKAGES_RTL=1
1378
ifeq ($(FULL_TARGET),powerpc-macos)
1379
REQUIRE_PACKAGES_RTL=1
1381
ifeq ($(FULL_TARGET),powerpc-darwin)
1382
REQUIRE_PACKAGES_RTL=1
1384
ifeq ($(FULL_TARGET),powerpc-morphos)
1385
REQUIRE_PACKAGES_RTL=1
1387
ifeq ($(FULL_TARGET),powerpc-embedded)
1388
REQUIRE_PACKAGES_RTL=1
1390
ifeq ($(FULL_TARGET),sparc-linux)
1391
REQUIRE_PACKAGES_RTL=1
1393
ifeq ($(FULL_TARGET),sparc-netbsd)
1394
REQUIRE_PACKAGES_RTL=1
1396
ifeq ($(FULL_TARGET),sparc-solaris)
1397
REQUIRE_PACKAGES_RTL=1
1399
ifeq ($(FULL_TARGET),sparc-embedded)
1400
REQUIRE_PACKAGES_RTL=1
1402
ifeq ($(FULL_TARGET),x86_64-linux)
1403
REQUIRE_PACKAGES_RTL=1
1405
ifeq ($(FULL_TARGET),x86_64-freebsd)
1406
REQUIRE_PACKAGES_RTL=1
1408
ifeq ($(FULL_TARGET),x86_64-win64)
1409
REQUIRE_PACKAGES_RTL=1
1411
ifeq ($(FULL_TARGET),x86_64-embedded)
1412
REQUIRE_PACKAGES_RTL=1
1414
ifeq ($(FULL_TARGET),arm-linux)
1415
REQUIRE_PACKAGES_RTL=1
1417
ifeq ($(FULL_TARGET),arm-palmos)
1418
REQUIRE_PACKAGES_RTL=1
1420
ifeq ($(FULL_TARGET),arm-wince)
1421
REQUIRE_PACKAGES_RTL=1
1423
ifeq ($(FULL_TARGET),arm-gba)
1424
REQUIRE_PACKAGES_RTL=1
1426
ifeq ($(FULL_TARGET),arm-nds)
1427
REQUIRE_PACKAGES_RTL=1
1429
ifeq ($(FULL_TARGET),arm-embedded)
1430
REQUIRE_PACKAGES_RTL=1
1432
ifeq ($(FULL_TARGET),arm-symbian)
1433
REQUIRE_PACKAGES_RTL=1
1435
ifeq ($(FULL_TARGET),powerpc64-linux)
1436
REQUIRE_PACKAGES_RTL=1
1438
ifeq ($(FULL_TARGET),powerpc64-embedded)
1439
REQUIRE_PACKAGES_RTL=1
1441
ifdef REQUIRE_PACKAGES_RTL
1442
PACKAGEDIR_RTL:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /rtl/Makefile.fpc,$(PACKAGESDIR))))))
1443
ifneq ($(PACKAGEDIR_RTL),)
1444
ifneq ($(wildcard $(PACKAGEDIR_RTL)/units/$(TARGETSUFFIX)),)
1445
UNITDIR_RTL=$(PACKAGEDIR_RTL)/units/$(TARGETSUFFIX)
1447
UNITDIR_RTL=$(PACKAGEDIR_RTL)
1450
$(PACKAGEDIR_RTL)/$(FPCMADE):
1451
$(MAKE) -C $(PACKAGEDIR_RTL) $(FPCMADE)
1452
override ALLDEPENDENCIES+=$(PACKAGEDIR_RTL)/$(FPCMADE)
1456
UNITDIR_RTL:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /rtl/Package.fpc,$(UNITSDIR)))))
1457
ifneq ($(UNITDIR_RTL),)
1458
UNITDIR_RTL:=$(firstword $(UNITDIR_RTL))
1464
override COMPILER_UNITDIR+=$(UNITDIR_RTL)
1468
override FPCOPTDEF=$(CPU_TARGET)
1470
ifneq ($(OS_TARGET),$(OS_SOURCE))
1471
override FPCOPT+=-T$(OS_TARGET)
1473
ifneq ($(CPU_TARGET),$(CPU_SOURCE))
1474
override FPCOPT+=-P$(CPU_TARGET)
1476
ifeq ($(OS_SOURCE),openbsd)
1477
override FPCOPT+=-FD$(NEW_BINUTILS_PATH)
1479
ifndef CROSSBOOTSTRAP
1480
ifneq ($(BINUTILSPREFIX),)
1481
override FPCOPT+=-XP$(BINUTILSPREFIX)
1483
ifneq ($(BINUTILSPREFIX),)
1484
override FPCOPT+=-Xr$(RLINKPATH)
1488
override FPCOPT+=$(addprefix -Fu,$(UNITDIR))
1491
override FPCOPT+=$(addprefix -Fl,$(LIBDIR))
1494
override FPCOPT+=$(addprefix -Fo,$(OBJDIR))
1497
override FPCOPT+=$(addprefix -Fi,$(INCDIR))
1500
override FPCOPT+=-XX
1503
override FPCOPT+=-CX
1506
override FPCOPT+=-gl
1507
override FPCOPTDEF+=DEBUG
1510
ifneq ($(findstring 2.0.,$(FPC_VERSION)),)
1511
ifeq ($(CPU_TARGET),i386)
1514
ifeq ($(CPU_TARGET),powerpc)
1520
override FPCOPT+=-Ur -Xs $(FPCCPUOPT) -n
1521
override FPCOPTDEF+=RELEASE
1524
override FPCOPT+=-Xs
1527
override FPCOPT+=-O2
1530
override FPCOPT+=-vwni
1532
ifdef COMPILER_OPTIONS
1533
override FPCOPT+=$(COMPILER_OPTIONS)
1535
ifdef COMPILER_UNITDIR
1536
override FPCOPT+=$(addprefix -Fu,$(COMPILER_UNITDIR))
1538
ifdef COMPILER_LIBRARYDIR
1539
override FPCOPT+=$(addprefix -Fl,$(COMPILER_LIBRARYDIR))
1541
ifdef COMPILER_OBJECTDIR
1542
override FPCOPT+=$(addprefix -Fo,$(COMPILER_OBJECTDIR))
1544
ifdef COMPILER_INCLUDEDIR
1545
override FPCOPT+=$(addprefix -Fi,$(COMPILER_INCLUDEDIR))
1548
override FPCOPT+=-FD$(CROSSBINDIR)
1550
ifdef COMPILER_TARGETDIR
1551
override FPCOPT+=-FE$(COMPILER_TARGETDIR)
1552
ifeq ($(COMPILER_TARGETDIR),.)
1553
override TARGETDIRPREFIX=
1555
override TARGETDIRPREFIX=$(COMPILER_TARGETDIR)/
1558
ifdef COMPILER_UNITTARGETDIR
1559
override FPCOPT+=-FU$(COMPILER_UNITTARGETDIR)
1560
ifeq ($(COMPILER_UNITTARGETDIR),.)
1561
override UNITTARGETDIRPREFIX=
1563
override UNITTARGETDIRPREFIX=$(COMPILER_UNITTARGETDIR)/
1566
ifdef COMPILER_TARGETDIR
1567
override COMPILER_UNITTARGETDIR=$(COMPILER_TARGETDIR)
1568
override UNITTARGETDIRPREFIX=$(TARGETDIRPREFIX)
1572
override FPCOPT+=-Cg
1573
ifeq ($(CPU_TARGET),i386)
1574
override FPCOPT+=-Aas
1577
ifeq ($(findstring 2.0.,$(FPC_VERSION)),)
1578
ifeq ($(OS_TARGET),linux)
1579
ifeq ($(CPU_TARGET),x86_64)
1580
override FPCOPT+=-Cg
1587
override FPCOPT+=$(OPT)
1590
override FPCOPT+=$(addprefix -d,$(FPCOPTDEF))
1593
override FPCOPT+=@$(CFGFILE)
1596
override FPCEXTCMD:=$(FPCOPT)
1597
override FPCOPT:=!FPCEXTCMD
1600
override AFULL_TARGET=$(CPU_TARGET)-$(OS_TARGET)
1601
override AFULL_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE)
1602
ifneq ($(AFULL_TARGET),$(AFULL_SOURCE))
1603
override ACROSSCOMPILE=1
1606
override FPCOPT+=$(CROSSOPT)
1608
override COMPILER:=$(FPC) $(FPCOPT)
1609
ifeq (,$(findstring -s ,$(COMPILER)))
1612
ifeq ($(FULL_SOURCE),$(FULL_TARGET))
1618
ifneq ($(TARGET_PROGRAMS),)
1619
override EXEFILES=$(addsuffix $(EXEEXT),$(TARGET_PROGRAMS))
1620
override EXEOFILES:=$(addsuffix $(OEXT),$(TARGET_PROGRAMS)) $(addprefix $(STATICLIBPREFIX),$(addsuffix $(STATICLIBEXT),$(TARGET_PROGRAMS))) $(addprefix $(IMPORTLIBPREFIX),$(addsuffix $(STATICLIBEXT),$(TARGET_PROGRAMS)))
1621
override ALLTARGET+=fpc_exes
1622
override INSTALLEXEFILES+=$(EXEFILES)
1623
override CLEANEXEFILES+=$(EXEFILES) $(EXEOFILES)
1624
ifeq ($(OS_TARGET),os2)
1625
override CLEANEXEFILES+=$(addsuffix $(AOUTEXT),$(TARGET_PROGRAMS))
1627
ifeq ($(OS_TARGET),emx)
1628
override CLEANEXEFILES+=$(addsuffix $(AOUTEXT),$(TARGET_PROGRAMS))
1632
fpc_exes: $(COMPILER_TARGETDIR) $(COMPILER_UNITTARGETDIR) $(EXEFILES)
1634
override RSTFILES=$(addsuffix $(RSTEXT),$(TARGET_RSTS))
1635
override CLEANRSTFILES+=$(RSTFILES)
1637
.PHONY: fpc_all fpc_smart fpc_debug fpc_release fpc_shared
1638
$(FPCMADE): $(ALLDEPENDENCIES) $(ALLTARGET)
1639
@$(ECHOREDIR) Compiled > $(FPCMADE)
1642
$(MAKE) all LINKSMART=1 CREATESMART=1
1646
$(MAKE) all RELEASE=1
1647
.SUFFIXES: $(EXEEXT) $(PPUEXT) $(OEXT) .pas .lpr .dpr .pp .rc .res
1648
$(COMPILER_UNITTARGETDIR):
1649
$(MKDIRTREE) $(COMPILER_UNITTARGETDIR)
1650
$(COMPILER_TARGETDIR):
1651
$(MKDIRTREE) $(COMPILER_TARGETDIR)
1672
vpath %.pp $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
1673
vpath %.pas $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
1674
vpath %.lpr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
1675
vpath %.dpr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
1676
vpath %.inc $(COMPILER_INCLUDEDIR)
1677
vpath %$(OEXT) $(COMPILER_UNITTARGETDIR)
1678
vpath %$(PPUEXT) $(COMPILER_UNITTARGETDIR)
1680
override INSTALLTARGET+=fpc_shared_install
1681
ifndef SHARED_LIBVERSION
1682
SHARED_LIBVERSION=$(FPC_VERSION)
1684
ifndef SHARED_LIBNAME
1685
SHARED_LIBNAME=$(PACKAGE_NAME)
1687
ifndef SHARED_FULLNAME
1688
SHARED_FULLNAME=$(SHAREDLIBPREFIX)$(SHARED_LIBNAME)-$(SHARED_LIBVERSION)$(SHAREDLIBEXT)
1690
ifndef SHARED_LIBUNITS
1691
SHARED_LIBUNITS:=$(TARGET_UNITS) $(TARGET_IMPLICITUNITS)
1692
override SHARED_LIBUNITS:=$(filter-out $(INSTALL_BUILDUNIT),$(SHARED_LIBUNITS))
1696
$(MAKE) all CREATESHARED=1 LINKSHARED=1 CREATESMART=1
1697
ifneq ($(SHARED_BUILD),n)
1698
$(PPUMOVE) -q $(SHARED_LIBUNITS) -i$(COMPILER_UNITTARGETDIR) -o$(SHARED_FULLNAME) -d$(COMPILER_UNITTARGETDIR)
1701
@$(ECHO) Shared Libraries not supported
1704
ifneq ($(SHARED_BUILD),n)
1705
ifneq ($(SHARED_LIBUNITS),)
1706
ifneq ($(wildcard $(COMPILER_UNITTARGETDIR)/$(SHARED_FULLNAME)),)
1707
$(INSTALL) $(COMPILER_UNITTARGETDIR)/$(SHARED_FULLNAME) $(INSTALL_SHAREDDIR)
1711
.PHONY: fpc_install fpc_sourceinstall fpc_exampleinstall
1713
override INSTALLPPUFILES+=$(addsuffix $(PPUEXT),$(INSTALL_UNITS))
1715
ifdef INSTALL_BUILDUNIT
1716
override INSTALLPPUFILES:=$(filter-out $(INSTALL_BUILDUNIT)$(PPUEXT),$(INSTALLPPUFILES))
1718
ifdef INSTALLPPUFILES
1719
override INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES))) $(addprefix $(IMPORTLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES)))
1720
ifneq ($(UNITTARGETDIRPREFIX),)
1721
override INSTALLPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(notdir $(INSTALLPPUFILES)))
1722
override INSTALLPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(notdir $(INSTALLPPULINKFILES))))
1724
override INSTALL_CREATEPACKAGEFPC=1
1726
ifdef INSTALLEXEFILES
1727
ifneq ($(TARGETDIRPREFIX),)
1728
override INSTALLEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(notdir $(INSTALLEXEFILES)))
1731
fpc_install: all $(INSTALLTARGET)
1732
ifdef INSTALLEXEFILES
1733
$(MKDIR) $(INSTALL_BINDIR)
1735
-$(UPXPROG) $(INSTALLEXEFILES)
1737
$(INSTALLEXE) $(INSTALLEXEFILES) $(INSTALL_BINDIR)
1739
ifdef INSTALL_CREATEPACKAGEFPC
1741
ifdef PACKAGE_VERSION
1742
ifneq ($(wildcard Makefile.fpc),)
1743
$(FPCMAKE) -p -T$(CPU_TARGET)-$(OS_TARGET) Makefile.fpc
1744
$(MKDIR) $(INSTALL_UNITDIR)
1745
$(INSTALL) Package.fpc $(INSTALL_UNITDIR)
1750
ifdef INSTALLPPUFILES
1751
$(MKDIR) $(INSTALL_UNITDIR)
1752
$(INSTALL) $(INSTALLPPUFILES) $(INSTALL_UNITDIR)
1753
ifneq ($(INSTALLPPULINKFILES),)
1754
$(INSTALL) $(INSTALLPPULINKFILES) $(INSTALL_UNITDIR)
1756
ifneq ($(wildcard $(LIB_FULLNAME)),)
1757
$(MKDIR) $(INSTALL_LIBDIR)
1758
$(INSTALL) $(LIB_FULLNAME) $(INSTALL_LIBDIR)
1760
ln -sf $(LIB_FULLNAME) $(INSTALL_LIBDIR)/$(LIB_NAME)
1765
$(MKDIR) $(INSTALL_DATADIR)
1766
$(INSTALL) $(INSTALL_FILES) $(INSTALL_DATADIR)
1768
fpc_sourceinstall: distclean
1769
$(MKDIR) $(INSTALL_SOURCEDIR)
1770
$(COPYTREE) $(BASEDIR)/* $(INSTALL_SOURCEDIR)
1771
fpc_exampleinstall: $(addsuffix _distclean,$(TARGET_EXAMPLEDIRS))
1773
$(MKDIR) $(INSTALL_EXAMPLEDIR)
1775
ifdef EXAMPLESOURCEFILES
1776
$(COPY) $(EXAMPLESOURCEFILES) $(INSTALL_EXAMPLEDIR)
1778
ifdef TARGET_EXAMPLEDIRS
1779
$(COPYTREE) $(addsuffix /*,$(TARGET_EXAMPLEDIRS)) $(INSTALL_EXAMPLEDIR)
1781
.PHONY: fpc_clean fpc_cleanall fpc_distclean
1783
override CLEANEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(CLEANEXEFILES))
1786
override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
1789
override CLEANPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES))) $(addprefix $(IMPORTLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES)))
1791
override CLEANPPULINKFILES+=$(subst $(PPUEXT),$(DEBUGSYMEXT),$(CLEANPPUFILES))
1793
override CLEANPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPUFILES))
1794
override CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
1796
fpc_clean: $(CLEANTARGET)
1798
-$(DEL) $(CLEANEXEFILES)
1801
-$(DEL) $(CLEANPPUFILES)
1803
ifneq ($(CLEANPPULINKFILES),)
1804
-$(DEL) $(CLEANPPULINKFILES)
1807
-$(DEL) $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANRSTFILES))
1810
-$(DEL) $(CLEAN_FILES)
1813
-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
1815
-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
1816
-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
1817
fpc_cleanall: $(CLEANTARGET)
1819
-$(DEL) $(CLEANEXEFILES)
1821
ifdef COMPILER_UNITTARGETDIR
1823
-$(DEL) $(CLEANPPUFILES)
1825
ifneq ($(CLEANPPULINKFILES),)
1826
-$(DEL) $(CLEANPPULINKFILES)
1829
-$(DEL) $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANRSTFILES))
1833
-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
1834
ifneq ($(PPUEXT),.ppu)
1835
-$(DEL) *.o *.ppu *.a
1837
-$(DELTREE) *$(SMARTEXT)
1838
-$(DEL) fpcmade.* Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
1839
-$(DEL) *_ppas$(BATCHEXT)
1844
-$(DEL) *$(DEBUGSYMEXT)
1846
fpc_distclean: cleanall
1847
.PHONY: fpc_baseinfo
1848
override INFORULES+=fpc_baseinfo
1851
@$(ECHO) == Package info ==
1852
@$(ECHO) Package Name..... $(PACKAGE_NAME)
1853
@$(ECHO) Package Version.. $(PACKAGE_VERSION)
1855
@$(ECHO) == Configuration info ==
1857
@$(ECHO) FPC.......... $(FPC)
1858
@$(ECHO) FPC Version.. $(FPC_VERSION)
1859
@$(ECHO) Source CPU... $(CPU_SOURCE)
1860
@$(ECHO) Target CPU... $(CPU_TARGET)
1861
@$(ECHO) Source OS.... $(OS_SOURCE)
1862
@$(ECHO) Target OS.... $(OS_TARGET)
1863
@$(ECHO) Full Source.. $(FULL_SOURCE)
1864
@$(ECHO) Full Target.. $(FULL_TARGET)
1865
@$(ECHO) SourceSuffix. $(SOURCESUFFIX)
1866
@$(ECHO) TargetSuffix. $(TARGETSUFFIX)
1868
@$(ECHO) == Directory info ==
1870
@$(ECHO) Required pkgs... $(REQUIRE_PACKAGES)
1872
@$(ECHO) Basedir......... $(BASEDIR)
1873
@$(ECHO) FPCDir.......... $(FPCDIR)
1874
@$(ECHO) CrossBinDir..... $(CROSSBINDIR)
1875
@$(ECHO) UnitsDir........ $(UNITSDIR)
1876
@$(ECHO) PackagesDir..... $(PACKAGESDIR)
1878
@$(ECHO) GCC library..... $(GCCLIBDIR)
1879
@$(ECHO) Other library... $(OTHERLIBDIR)
1881
@$(ECHO) == Tools info ==
1883
@$(ECHO) As........ $(AS)
1884
@$(ECHO) Ld........ $(LD)
1885
@$(ECHO) Ar........ $(AR)
1886
@$(ECHO) Rc........ $(RC)
1888
@$(ECHO) Mv........ $(MVPROG)
1889
@$(ECHO) Cp........ $(CPPROG)
1890
@$(ECHO) Rm........ $(RMPROG)
1891
@$(ECHO) GInstall.. $(GINSTALL)
1892
@$(ECHO) Echo...... $(ECHO)
1893
@$(ECHO) Shell..... $(SHELL)
1894
@$(ECHO) Date...... $(DATE)
1895
@$(ECHO) FPCMake... $(FPCMAKE)
1896
@$(ECHO) PPUMove... $(PPUMOVE)
1897
@$(ECHO) Upx....... $(UPXPROG)
1898
@$(ECHO) Zip....... $(ZIPPROG)
1900
@$(ECHO) == Object info ==
1902
@$(ECHO) Target Loaders........ $(TARGET_LOADERS)
1903
@$(ECHO) Target Units.......... $(TARGET_UNITS)
1904
@$(ECHO) Target Implicit Units. $(TARGET_IMPLICITUNITS)
1905
@$(ECHO) Target Programs....... $(TARGET_PROGRAMS)
1906
@$(ECHO) Target Dirs........... $(TARGET_DIRS)
1907
@$(ECHO) Target Examples....... $(TARGET_EXAMPLES)
1908
@$(ECHO) Target ExampleDirs.... $(TARGET_EXAMPLEDIRS)
1910
@$(ECHO) Clean Units......... $(CLEAN_UNITS)
1911
@$(ECHO) Clean Files......... $(CLEAN_FILES)
1913
@$(ECHO) Install Units....... $(INSTALL_UNITS)
1914
@$(ECHO) Install Files....... $(INSTALL_FILES)
1916
@$(ECHO) == Install info ==
1918
@$(ECHO) DateStr.............. $(DATESTR)
1919
@$(ECHO) ZipName.............. $(ZIPNAME)
1920
@$(ECHO) ZipPrefix............ $(ZIPPREFIX)
1921
@$(ECHO) ZipCrossPrefix....... $(ZIPCROSSPREFIX)
1922
@$(ECHO) ZipSuffix............ $(ZIPSUFFIX)
1923
@$(ECHO) FullZipName.......... $(FULLZIPNAME)
1924
@$(ECHO) Install FPC Package.. $(INSTALL_FPCPACKAGE)
1926
@$(ECHO) Install base dir..... $(INSTALL_BASEDIR)
1927
@$(ECHO) Install binary dir... $(INSTALL_BINDIR)
1928
@$(ECHO) Install library dir.. $(INSTALL_LIBDIR)
1929
@$(ECHO) Install units dir.... $(INSTALL_UNITDIR)
1930
@$(ECHO) Install source dir... $(INSTALL_SOURCEDIR)
1931
@$(ECHO) Install doc dir...... $(INSTALL_DOCDIR)
1932
@$(ECHO) Install example dir.. $(INSTALL_EXAMPLEDIR)
1933
@$(ECHO) Install data dir..... $(INSTALL_DATADIR)
1935
@$(ECHO) Dist destination dir. $(DIST_DESTDIR)
1936
@$(ECHO) Dist zip name........ $(DIST_ZIPNAME)
1939
fpc_info: $(INFORULES)
1940
.PHONY: fpc_makefile fpc_makefiles fpc_makefile_sub1 fpc_makefile_sub2 \
1943
$(FPCMAKE) -w -T$(OS_TARGET) Makefile.fpc
1946
$(FPCMAKE) -w -T$(OS_TARGET) $(addsuffix /Makefile.fpc,$(TARGET_DIRS))
1948
ifdef TARGET_EXAMPLEDIRS
1949
$(FPCMAKE) -w -T$(OS_TARGET) $(addsuffix /Makefile.fpc,$(TARGET_EXAMPLEDIRS))
1951
fpc_makefile_sub2: $(addsuffix _makefile_dirs,$(TARGET_DIRS) $(TARGET_EXAMPLEDIRS))
1952
fpc_makefile_dirs: fpc_makefile_sub1 fpc_makefile_sub2
1953
fpc_makefiles: fpc_makefile fpc_makefile_dirs
1957
release: fpc_release
1961
install: fpc_install
1962
sourceinstall: fpc_sourceinstall
1963
exampleinstall: fpc_exampleinstall
1970
distclean: fpc_distclean
1971
cleanall: fpc_cleanall
1973
makefiles: fpc_makefiles
1974
.PHONY: all debug smart release units examples shared install sourceinstall exampleinstall distinstall zipinstall zipsourceinstall zipexampleinstall zipdistinstall clean distclean cleanall info makefiles
1975
ifneq ($(wildcard fpcmake.loc),)