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+=helloworld
236
ifeq ($(FULL_TARGET),i386-go32v2)
237
override TARGET_PROGRAMS+=helloworld
239
ifeq ($(FULL_TARGET),i386-win32)
240
override TARGET_PROGRAMS+=helloworld
242
ifeq ($(FULL_TARGET),i386-os2)
243
override TARGET_PROGRAMS+=helloworld
245
ifeq ($(FULL_TARGET),i386-freebsd)
246
override TARGET_PROGRAMS+=helloworld
248
ifeq ($(FULL_TARGET),i386-beos)
249
override TARGET_PROGRAMS+=helloworld
251
ifeq ($(FULL_TARGET),i386-netbsd)
252
override TARGET_PROGRAMS+=helloworld
254
ifeq ($(FULL_TARGET),i386-solaris)
255
override TARGET_PROGRAMS+=helloworld
257
ifeq ($(FULL_TARGET),i386-qnx)
258
override TARGET_PROGRAMS+=helloworld
260
ifeq ($(FULL_TARGET),i386-netware)
261
override TARGET_PROGRAMS+=helloworld
263
ifeq ($(FULL_TARGET),i386-openbsd)
264
override TARGET_PROGRAMS+=helloworld
266
ifeq ($(FULL_TARGET),i386-wdosx)
267
override TARGET_PROGRAMS+=helloworld
269
ifeq ($(FULL_TARGET),i386-darwin)
270
override TARGET_PROGRAMS+=helloworld
272
ifeq ($(FULL_TARGET),i386-emx)
273
override TARGET_PROGRAMS+=helloworld
275
ifeq ($(FULL_TARGET),i386-watcom)
276
override TARGET_PROGRAMS+=helloworld
278
ifeq ($(FULL_TARGET),i386-netwlibc)
279
override TARGET_PROGRAMS+=helloworld
281
ifeq ($(FULL_TARGET),i386-wince)
282
override TARGET_PROGRAMS+=helloworld
284
ifeq ($(FULL_TARGET),i386-embedded)
285
override TARGET_PROGRAMS+=helloworld
287
ifeq ($(FULL_TARGET),i386-symbian)
288
override TARGET_PROGRAMS+=helloworld
290
ifeq ($(FULL_TARGET),m68k-linux)
291
override TARGET_PROGRAMS+=helloworld
293
ifeq ($(FULL_TARGET),m68k-freebsd)
294
override TARGET_PROGRAMS+=helloworld
296
ifeq ($(FULL_TARGET),m68k-netbsd)
297
override TARGET_PROGRAMS+=helloworld
299
ifeq ($(FULL_TARGET),m68k-amiga)
300
override TARGET_PROGRAMS+=helloworld
302
ifeq ($(FULL_TARGET),m68k-atari)
303
override TARGET_PROGRAMS+=helloworld
305
ifeq ($(FULL_TARGET),m68k-openbsd)
306
override TARGET_PROGRAMS+=helloworld
308
ifeq ($(FULL_TARGET),m68k-palmos)
309
override TARGET_PROGRAMS+=helloworld
311
ifeq ($(FULL_TARGET),m68k-embedded)
312
override TARGET_PROGRAMS+=helloworld
314
ifeq ($(FULL_TARGET),powerpc-linux)
315
override TARGET_PROGRAMS+=helloworld
317
ifeq ($(FULL_TARGET),powerpc-netbsd)
318
override TARGET_PROGRAMS+=helloworld
320
ifeq ($(FULL_TARGET),powerpc-amiga)
321
override TARGET_PROGRAMS+=helloworld
323
ifeq ($(FULL_TARGET),powerpc-macos)
324
override TARGET_PROGRAMS+=helloworld
326
ifeq ($(FULL_TARGET),powerpc-darwin)
327
override TARGET_PROGRAMS+=helloworld
329
ifeq ($(FULL_TARGET),powerpc-morphos)
330
override TARGET_PROGRAMS+=helloworld
332
ifeq ($(FULL_TARGET),powerpc-embedded)
333
override TARGET_PROGRAMS+=helloworld
335
ifeq ($(FULL_TARGET),sparc-linux)
336
override TARGET_PROGRAMS+=helloworld
338
ifeq ($(FULL_TARGET),sparc-netbsd)
339
override TARGET_PROGRAMS+=helloworld
341
ifeq ($(FULL_TARGET),sparc-solaris)
342
override TARGET_PROGRAMS+=helloworld
344
ifeq ($(FULL_TARGET),sparc-embedded)
345
override TARGET_PROGRAMS+=helloworld
347
ifeq ($(FULL_TARGET),x86_64-linux)
348
override TARGET_PROGRAMS+=helloworld
350
ifeq ($(FULL_TARGET),x86_64-freebsd)
351
override TARGET_PROGRAMS+=helloworld
353
ifeq ($(FULL_TARGET),x86_64-win64)
354
override TARGET_PROGRAMS+=helloworld
356
ifeq ($(FULL_TARGET),x86_64-embedded)
357
override TARGET_PROGRAMS+=helloworld
359
ifeq ($(FULL_TARGET),arm-linux)
360
override TARGET_PROGRAMS+=helloworld
362
ifeq ($(FULL_TARGET),arm-palmos)
363
override TARGET_PROGRAMS+=helloworld
365
ifeq ($(FULL_TARGET),arm-wince)
366
override TARGET_PROGRAMS+=helloworld
368
ifeq ($(FULL_TARGET),arm-gba)
369
override TARGET_PROGRAMS+=helloworld
371
ifeq ($(FULL_TARGET),arm-nds)
372
override TARGET_PROGRAMS+=helloworld
374
ifeq ($(FULL_TARGET),arm-embedded)
375
override TARGET_PROGRAMS+=helloworld
377
ifeq ($(FULL_TARGET),arm-symbian)
378
override TARGET_PROGRAMS+=helloworld
380
ifeq ($(FULL_TARGET),powerpc64-linux)
381
override TARGET_PROGRAMS+=helloworld
383
ifeq ($(FULL_TARGET),powerpc64-embedded)
384
override TARGET_PROGRAMS+=helloworld
386
override INSTALL_FPCPACKAGE=y
387
ifdef REQUIRE_UNITSDIR
388
override UNITSDIR+=$(REQUIRE_UNITSDIR)
390
ifdef REQUIRE_PACKAGESDIR
391
override PACKAGESDIR+=$(REQUIRE_PACKAGESDIR)
394
ifneq ($(findstring $(OS_TARGET),$(UNIXs)),)
398
ifneq ($(findstring $(OS_SOURCE),$(UNIXs)),)
402
ifndef INSTALL_PREFIX
404
INSTALL_PREFIX=$(PREFIX)
407
ifndef INSTALL_PREFIX
409
INSTALL_PREFIX=/usr/local
411
ifdef INSTALL_FPCPACKAGE
414
INSTALL_BASEDIR:=/$(PACKAGE_NAME)
418
export INSTALL_PREFIX
419
ifdef INSTALL_FPCSUBDIR
420
export INSTALL_FPCSUBDIR
423
DIST_DESTDIR:=$(BASEDIR)
426
ifndef COMPILER_UNITTARGETDIR
427
ifdef PACKAGEDIR_MAIN
428
COMPILER_UNITTARGETDIR=$(PACKAGEDIR_MAIN)/units/$(TARGETSUFFIX)
430
COMPILER_UNITTARGETDIR=units/$(TARGETSUFFIX)
433
ifndef COMPILER_TARGETDIR
436
ifndef INSTALL_BASEDIR
438
ifdef INSTALL_FPCPACKAGE
439
INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
441
INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/$(PACKAGE_NAME)
444
INSTALL_BASEDIR:=$(INSTALL_PREFIX)
447
ifndef INSTALL_BINDIR
449
INSTALL_BINDIR:=$(INSTALL_PREFIX)/bin
451
INSTALL_BINDIR:=$(INSTALL_BASEDIR)/bin
452
ifdef INSTALL_FPCPACKAGE
455
INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(SOURCESUFFIX)
457
INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(TARGETSUFFIX)
460
INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(TARGETSUFFIX)
465
ifndef INSTALL_UNITDIR
466
INSTALL_UNITDIR:=$(INSTALL_BASEDIR)/units/$(TARGETSUFFIX)
467
ifdef INSTALL_FPCPACKAGE
469
INSTALL_UNITDIR:=$(INSTALL_UNITDIR)/$(PACKAGE_NAME)
473
ifndef INSTALL_LIBDIR
475
INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
477
INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
480
ifndef INSTALL_SOURCEDIR
483
SRCPREFIXDIR=share/src
486
SRCPREFIXDIR=share/src
491
ifdef INSTALL_FPCPACKAGE
492
ifdef INSTALL_FPCSUBDIR
493
INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
495
INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
498
INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
501
ifdef INSTALL_FPCPACKAGE
502
ifdef INSTALL_FPCSUBDIR
503
INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
505
INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(PACKAGE_NAME)
508
INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source
512
ifndef INSTALL_DOCDIR
515
DOCPREFIXDIR=share/doc
518
DOCPREFIXDIR=share/doc
523
ifdef INSTALL_FPCPACKAGE
524
INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
526
INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
529
ifdef INSTALL_FPCPACKAGE
530
INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc/$(PACKAGE_NAME)
532
INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc
536
ifndef INSTALL_EXAMPLEDIR
538
ifdef INSTALL_FPCPACKAGE
540
INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
543
INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples
545
INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
550
INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
553
INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
555
INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
560
ifdef INSTALL_FPCPACKAGE
561
INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
563
INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples
567
ifndef INSTALL_DATADIR
568
INSTALL_DATADIR=$(INSTALL_BASEDIR)
570
ifndef INSTALL_SHAREDDIR
571
INSTALL_SHAREDDIR=$(INSTALL_PREFIX)/lib
575
CROSSBINDIR:=$(wildcard $(CROSSTARGETDIR)/bin/$(SOURCESUFFIX))
576
ifeq ($(CROSSBINDIR),)
577
CROSSBINDIR:=$(wildcard $(INSTALL_BASEDIR)/cross/$(TARGETSUFFIX)/bin/$(FULL_SOURCE))
583
ifeq ($(OS_SOURCE),linux)
585
ifeq ($(CPU_TARGET),i386)
586
ifneq ($(findstring x86_64,$(shell uname -a)),)
587
ifeq ($(BINUTILSPREFIX),)
588
GCCLIBDIR:=$(shell dirname `gcc -m32 -print-libgcc-file-name`)
592
ifeq ($(CPU_TARGET),powerpc64)
593
ifeq ($(BINUTILSPREFIX),)
594
GCCLIBDIR:=$(shell dirname `gcc -m64 -print-libgcc-file-name`)
599
CROSSGCC=$(strip $(wildcard $(addsuffix /$(BINUTILSPREFIX)gcc$(SRCEXEEXT),$(SEARCHPATH))))
601
GCCLIBDIR:=$(shell dirname `$(CROSSGCC) -print-libgcc-file-name`)
605
OTHERLIBDIR:=$(shell grep -v "^\#" /etc/ld.so.conf | awk '{ ORS=" "; print $1 }')
609
ifeq ($(OS_SOURCE),netbsd)
610
OTHERLIBDIR+=/usr/pkg/lib
612
export GCCLIBDIR OTHERLIB
624
SHAREDLIBPREFIX=libfp
626
IMPORTLIBPREFIX=libimp
628
ifeq ($(findstring 1.0.,$(FPC_VERSION)),)
629
ifeq ($(OS_TARGET),go32v1)
633
ifeq ($(OS_TARGET),go32v2)
637
ifeq ($(OS_TARGET),watcom)
644
ifeq ($(OS_TARGET),linux)
650
ifeq ($(OS_TARGET),freebsd)
656
ifeq ($(OS_TARGET),netbsd)
662
ifeq ($(OS_TARGET),openbsd)
668
ifeq ($(OS_TARGET),win32)
672
ifeq ($(OS_TARGET),os2)
680
ifeq ($(OS_TARGET),emx)
688
ifeq ($(OS_TARGET),amiga)
690
SHAREDLIBEXT=.library
693
ifeq ($(OS_TARGET),morphos)
695
SHAREDLIBEXT=.library
698
ifeq ($(OS_TARGET),atari)
702
ifeq ($(OS_TARGET),beos)
707
ifeq ($(OS_TARGET),solaris)
712
ifeq ($(OS_TARGET),qnx)
717
ifeq ($(OS_TARGET),netware)
722
ifeq ($(OS_TARGET),netwlibc)
727
ifeq ($(OS_TARGET),macos)
733
ifeq ($(OS_TARGET),darwin)
739
ifeq ($(OS_TARGET),gba)
744
ifeq ($(OS_TARGET),symbian)
749
ifeq ($(OS_TARGET),go32v1)
759
ifeq ($(OS_TARGET),go32v2)
763
ifeq ($(OS_TARGET),watcom)
767
ifeq ($(OS_TARGET),linux)
773
ifeq ($(OS_TARGET),freebsd)
779
ifeq ($(OS_TARGET),netbsd)
785
ifeq ($(OS_TARGET),openbsd)
791
ifeq ($(OS_TARGET),win32)
800
ifeq ($(OS_TARGET),os2)
813
ifeq ($(OS_TARGET),amiga)
820
SHAREDLIBEXT=.library
823
ifeq ($(OS_TARGET),atari)
832
ifeq ($(OS_TARGET),beos)
842
ifeq ($(OS_TARGET),solaris)
852
ifeq ($(OS_TARGET),qnx)
862
ifeq ($(OS_TARGET),netware)
873
ifeq ($(OS_TARGET),netwlibc)
884
ifeq ($(OS_TARGET),macos)
896
ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
897
FPCMADE=fpcmade.$(SHORTSUFFIX)
898
ZIPSUFFIX=$(SHORTSUFFIX)
903
FPCMADE=fpcmade.$(TARGETSUFFIX)
904
ZIPSOURCESUFFIX=.source
905
ZIPEXAMPLESUFFIX=.examples
907
ZIPSUFFIX=.$(SOURCESUFFIX)
908
ZIPCROSSPREFIX=$(TARGETSUFFIX)-
910
ZIPSUFFIX=.$(TARGETSUFFIX)
915
ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
917
ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
919
ECHO= __missing_command_ECHO
921
ECHO:=$(firstword $(ECHO))
924
ECHO:=$(firstword $(ECHO))
929
DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
931
DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
933
DATE= __missing_command_DATE
935
DATE:=$(firstword $(DATE))
938
DATE:=$(firstword $(DATE))
943
GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
945
GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
947
GINSTALL= __missing_command_GINSTALL
949
GINSTALL:=$(firstword $(GINSTALL))
952
GINSTALL:=$(firstword $(GINSTALL))
957
CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
959
CPPROG= __missing_command_CPPROG
961
CPPROG:=$(firstword $(CPPROG))
966
RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
968
RMPROG= __missing_command_RMPROG
970
RMPROG:=$(firstword $(RMPROG))
975
MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
977
MVPROG= __missing_command_MVPROG
979
MVPROG:=$(firstword $(MVPROG))
984
MKDIRPROG:=$(strip $(wildcard $(addsuffix /gmkdir$(SRCEXEEXT),$(SEARCHPATH))))
986
MKDIRPROG:=$(strip $(wildcard $(addsuffix /mkdir$(SRCEXEEXT),$(SEARCHPATH))))
988
MKDIRPROG= __missing_command_MKDIRPROG
990
MKDIRPROG:=$(firstword $(MKDIRPROG))
993
MKDIRPROG:=$(firstword $(MKDIRPROG))
1008
COPYTREE:=$(CPPROG) -Rfp
1011
MKDIRTREE:=$(MKDIRPROG) -p
1020
DELTREE:=$(RMPROG) -rf
1024
INSTALL:=$(GINSTALL) -c -m 644
1031
INSTALLEXE:=$(GINSTALL) -c -m 755
1037
MKDIR:=$(GINSTALL) -m 755 -d
1039
export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
1041
PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
1043
PPUMOVE= __missing_command_PPUMOVE
1045
PPUMOVE:=$(firstword $(PPUMOVE))
1050
FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
1052
FPCMAKE= __missing_command_FPCMAKE
1054
FPCMAKE:=$(firstword $(FPCMAKE))
1059
ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
1061
ZIPPROG= __missing_command_ZIPPROG
1063
ZIPPROG:=$(firstword $(ZIPPROG))
1068
TARPROG:=$(strip $(wildcard $(addsuffix /gtar$(SRCEXEEXT),$(SEARCHPATH))))
1070
TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
1072
TARPROG= __missing_command_TARPROG
1074
TARPROG:=$(firstword $(TARPROG))
1077
TARPROG:=$(firstword $(TARPROG))
1081
ASNAME=$(BINUTILSPREFIX)as
1082
LDNAME=$(BINUTILSPREFIX)ld
1083
ARNAME=$(BINUTILSPREFIX)ar
1084
RCNAME=$(BINUTILSPREFIX)rc
1085
ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
1086
ifeq ($(OS_TARGET),win32)
1087
ifeq ($(CROSSBINDIR),)
1096
ASPROG=$(CROSSBINDIR)/$(ASNAME)$(SRCEXEEXT)
1103
LDPROG=$(CROSSBINDIR)/$(LDNAME)$(SRCEXEEXT)
1110
RCPROG=$(CROSSBINDIR)/$(RCNAME)$(SRCEXEEXT)
1117
ARPROG=$(CROSSBINDIR)/$(ARNAME)$(SRCEXEEXT)
1126
PPAS=ppas$(SRCBATCHEXT)
1133
DATESTR:=$(shell $(DATE) +%Y%m%d)
1138
ifeq ($(OS_TARGET),go32v2)
1141
ifeq ($(OS_TARGET),win32)
1145
UPXPROG:=$(strip $(wildcard $(addsuffix /upx$(SRCEXEEXT),$(SEARCHPATH))))
1149
UPXPROG:=$(firstword $(UPXPROG))
1158
ifeq ($(USETAR),bz2)
1165
override REQUIRE_PACKAGES=rtl gtk2
1166
ifeq ($(FULL_TARGET),i386-linux)
1167
REQUIRE_PACKAGES_RTL=1
1168
REQUIRE_PACKAGES_X11=1
1169
REQUIRE_PACKAGES_GTK2=1
1171
ifeq ($(FULL_TARGET),i386-go32v2)
1172
REQUIRE_PACKAGES_RTL=1
1173
REQUIRE_PACKAGES_GTK2=1
1175
ifeq ($(FULL_TARGET),i386-win32)
1176
REQUIRE_PACKAGES_RTL=1
1177
REQUIRE_PACKAGES_GTK2=1
1179
ifeq ($(FULL_TARGET),i386-os2)
1180
REQUIRE_PACKAGES_RTL=1
1181
REQUIRE_PACKAGES_GTK2=1
1183
ifeq ($(FULL_TARGET),i386-freebsd)
1184
REQUIRE_PACKAGES_RTL=1
1185
REQUIRE_PACKAGES_X11=1
1186
REQUIRE_PACKAGES_GTK2=1
1188
ifeq ($(FULL_TARGET),i386-beos)
1189
REQUIRE_PACKAGES_RTL=1
1190
REQUIRE_PACKAGES_GTK2=1
1192
ifeq ($(FULL_TARGET),i386-netbsd)
1193
REQUIRE_PACKAGES_RTL=1
1194
REQUIRE_PACKAGES_X11=1
1195
REQUIRE_PACKAGES_GTK2=1
1197
ifeq ($(FULL_TARGET),i386-solaris)
1198
REQUIRE_PACKAGES_RTL=1
1199
REQUIRE_PACKAGES_X11=1
1200
REQUIRE_PACKAGES_GTK2=1
1202
ifeq ($(FULL_TARGET),i386-qnx)
1203
REQUIRE_PACKAGES_RTL=1
1204
REQUIRE_PACKAGES_GTK2=1
1206
ifeq ($(FULL_TARGET),i386-netware)
1207
REQUIRE_PACKAGES_RTL=1
1208
REQUIRE_PACKAGES_GTK2=1
1210
ifeq ($(FULL_TARGET),i386-openbsd)
1211
REQUIRE_PACKAGES_RTL=1
1212
REQUIRE_PACKAGES_X11=1
1213
REQUIRE_PACKAGES_GTK2=1
1215
ifeq ($(FULL_TARGET),i386-wdosx)
1216
REQUIRE_PACKAGES_RTL=1
1217
REQUIRE_PACKAGES_GTK2=1
1219
ifeq ($(FULL_TARGET),i386-darwin)
1220
REQUIRE_PACKAGES_RTL=1
1221
REQUIRE_PACKAGES_X11=1
1222
REQUIRE_PACKAGES_GTK2=1
1224
ifeq ($(FULL_TARGET),i386-emx)
1225
REQUIRE_PACKAGES_RTL=1
1226
REQUIRE_PACKAGES_GTK2=1
1228
ifeq ($(FULL_TARGET),i386-watcom)
1229
REQUIRE_PACKAGES_RTL=1
1230
REQUIRE_PACKAGES_GTK2=1
1232
ifeq ($(FULL_TARGET),i386-netwlibc)
1233
REQUIRE_PACKAGES_RTL=1
1234
REQUIRE_PACKAGES_GTK2=1
1236
ifeq ($(FULL_TARGET),i386-wince)
1237
REQUIRE_PACKAGES_RTL=1
1238
REQUIRE_PACKAGES_GTK2=1
1240
ifeq ($(FULL_TARGET),i386-embedded)
1241
REQUIRE_PACKAGES_RTL=1
1242
REQUIRE_PACKAGES_GTK2=1
1244
ifeq ($(FULL_TARGET),i386-symbian)
1245
REQUIRE_PACKAGES_RTL=1
1246
REQUIRE_PACKAGES_GTK2=1
1248
ifeq ($(FULL_TARGET),m68k-linux)
1249
REQUIRE_PACKAGES_RTL=1
1250
REQUIRE_PACKAGES_X11=1
1251
REQUIRE_PACKAGES_GTK2=1
1253
ifeq ($(FULL_TARGET),m68k-freebsd)
1254
REQUIRE_PACKAGES_RTL=1
1255
REQUIRE_PACKAGES_X11=1
1256
REQUIRE_PACKAGES_GTK2=1
1258
ifeq ($(FULL_TARGET),m68k-netbsd)
1259
REQUIRE_PACKAGES_RTL=1
1260
REQUIRE_PACKAGES_X11=1
1261
REQUIRE_PACKAGES_GTK2=1
1263
ifeq ($(FULL_TARGET),m68k-amiga)
1264
REQUIRE_PACKAGES_RTL=1
1265
REQUIRE_PACKAGES_GTK2=1
1267
ifeq ($(FULL_TARGET),m68k-atari)
1268
REQUIRE_PACKAGES_RTL=1
1269
REQUIRE_PACKAGES_GTK2=1
1271
ifeq ($(FULL_TARGET),m68k-openbsd)
1272
REQUIRE_PACKAGES_RTL=1
1273
REQUIRE_PACKAGES_X11=1
1274
REQUIRE_PACKAGES_GTK2=1
1276
ifeq ($(FULL_TARGET),m68k-palmos)
1277
REQUIRE_PACKAGES_RTL=1
1278
REQUIRE_PACKAGES_GTK2=1
1280
ifeq ($(FULL_TARGET),m68k-embedded)
1281
REQUIRE_PACKAGES_RTL=1
1282
REQUIRE_PACKAGES_GTK2=1
1284
ifeq ($(FULL_TARGET),powerpc-linux)
1285
REQUIRE_PACKAGES_RTL=1
1286
REQUIRE_PACKAGES_X11=1
1287
REQUIRE_PACKAGES_GTK2=1
1289
ifeq ($(FULL_TARGET),powerpc-netbsd)
1290
REQUIRE_PACKAGES_RTL=1
1291
REQUIRE_PACKAGES_X11=1
1292
REQUIRE_PACKAGES_GTK2=1
1294
ifeq ($(FULL_TARGET),powerpc-amiga)
1295
REQUIRE_PACKAGES_RTL=1
1296
REQUIRE_PACKAGES_GTK2=1
1298
ifeq ($(FULL_TARGET),powerpc-macos)
1299
REQUIRE_PACKAGES_RTL=1
1300
REQUIRE_PACKAGES_GTK2=1
1302
ifeq ($(FULL_TARGET),powerpc-darwin)
1303
REQUIRE_PACKAGES_RTL=1
1304
REQUIRE_PACKAGES_X11=1
1305
REQUIRE_PACKAGES_GTK2=1
1307
ifeq ($(FULL_TARGET),powerpc-morphos)
1308
REQUIRE_PACKAGES_RTL=1
1309
REQUIRE_PACKAGES_GTK2=1
1311
ifeq ($(FULL_TARGET),powerpc-embedded)
1312
REQUIRE_PACKAGES_RTL=1
1313
REQUIRE_PACKAGES_GTK2=1
1315
ifeq ($(FULL_TARGET),sparc-linux)
1316
REQUIRE_PACKAGES_RTL=1
1317
REQUIRE_PACKAGES_X11=1
1318
REQUIRE_PACKAGES_GTK2=1
1320
ifeq ($(FULL_TARGET),sparc-netbsd)
1321
REQUIRE_PACKAGES_RTL=1
1322
REQUIRE_PACKAGES_X11=1
1323
REQUIRE_PACKAGES_GTK2=1
1325
ifeq ($(FULL_TARGET),sparc-solaris)
1326
REQUIRE_PACKAGES_RTL=1
1327
REQUIRE_PACKAGES_X11=1
1328
REQUIRE_PACKAGES_GTK2=1
1330
ifeq ($(FULL_TARGET),sparc-embedded)
1331
REQUIRE_PACKAGES_RTL=1
1332
REQUIRE_PACKAGES_GTK2=1
1334
ifeq ($(FULL_TARGET),x86_64-linux)
1335
REQUIRE_PACKAGES_RTL=1
1336
REQUIRE_PACKAGES_X11=1
1337
REQUIRE_PACKAGES_GTK2=1
1339
ifeq ($(FULL_TARGET),x86_64-freebsd)
1340
REQUIRE_PACKAGES_RTL=1
1341
REQUIRE_PACKAGES_X11=1
1342
REQUIRE_PACKAGES_GTK2=1
1344
ifeq ($(FULL_TARGET),x86_64-win64)
1345
REQUIRE_PACKAGES_RTL=1
1346
REQUIRE_PACKAGES_GTK2=1
1348
ifeq ($(FULL_TARGET),x86_64-embedded)
1349
REQUIRE_PACKAGES_RTL=1
1350
REQUIRE_PACKAGES_GTK2=1
1352
ifeq ($(FULL_TARGET),arm-linux)
1353
REQUIRE_PACKAGES_RTL=1
1354
REQUIRE_PACKAGES_X11=1
1355
REQUIRE_PACKAGES_GTK2=1
1357
ifeq ($(FULL_TARGET),arm-palmos)
1358
REQUIRE_PACKAGES_RTL=1
1359
REQUIRE_PACKAGES_GTK2=1
1361
ifeq ($(FULL_TARGET),arm-wince)
1362
REQUIRE_PACKAGES_RTL=1
1363
REQUIRE_PACKAGES_GTK2=1
1365
ifeq ($(FULL_TARGET),arm-gba)
1366
REQUIRE_PACKAGES_RTL=1
1367
REQUIRE_PACKAGES_GTK2=1
1369
ifeq ($(FULL_TARGET),arm-nds)
1370
REQUIRE_PACKAGES_RTL=1
1371
REQUIRE_PACKAGES_GTK2=1
1373
ifeq ($(FULL_TARGET),arm-embedded)
1374
REQUIRE_PACKAGES_RTL=1
1375
REQUIRE_PACKAGES_GTK2=1
1377
ifeq ($(FULL_TARGET),arm-symbian)
1378
REQUIRE_PACKAGES_RTL=1
1379
REQUIRE_PACKAGES_GTK2=1
1381
ifeq ($(FULL_TARGET),powerpc64-linux)
1382
REQUIRE_PACKAGES_RTL=1
1383
REQUIRE_PACKAGES_X11=1
1384
REQUIRE_PACKAGES_GTK2=1
1386
ifeq ($(FULL_TARGET),powerpc64-embedded)
1387
REQUIRE_PACKAGES_RTL=1
1388
REQUIRE_PACKAGES_GTK2=1
1390
ifdef REQUIRE_PACKAGES_RTL
1391
PACKAGEDIR_RTL:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /rtl/Makefile.fpc,$(PACKAGESDIR))))))
1392
ifneq ($(PACKAGEDIR_RTL),)
1393
ifneq ($(wildcard $(PACKAGEDIR_RTL)/units/$(TARGETSUFFIX)),)
1394
UNITDIR_RTL=$(PACKAGEDIR_RTL)/units/$(TARGETSUFFIX)
1396
UNITDIR_RTL=$(PACKAGEDIR_RTL)
1399
$(PACKAGEDIR_RTL)/$(FPCMADE):
1400
$(MAKE) -C $(PACKAGEDIR_RTL) $(FPCMADE)
1401
override ALLDEPENDENCIES+=$(PACKAGEDIR_RTL)/$(FPCMADE)
1405
UNITDIR_RTL:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /rtl/Package.fpc,$(UNITSDIR)))))
1406
ifneq ($(UNITDIR_RTL),)
1407
UNITDIR_RTL:=$(firstword $(UNITDIR_RTL))
1413
override COMPILER_UNITDIR+=$(UNITDIR_RTL)
1416
ifdef REQUIRE_PACKAGES_X11
1417
PACKAGEDIR_X11:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /x11/Makefile.fpc,$(PACKAGESDIR))))))
1418
ifneq ($(PACKAGEDIR_X11),)
1419
ifneq ($(wildcard $(PACKAGEDIR_X11)/units/$(TARGETSUFFIX)),)
1420
UNITDIR_X11=$(PACKAGEDIR_X11)/units/$(TARGETSUFFIX)
1422
UNITDIR_X11=$(PACKAGEDIR_X11)
1425
$(PACKAGEDIR_X11)/$(FPCMADE):
1426
$(MAKE) -C $(PACKAGEDIR_X11) $(FPCMADE)
1427
override ALLDEPENDENCIES+=$(PACKAGEDIR_X11)/$(FPCMADE)
1431
UNITDIR_X11:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /x11/Package.fpc,$(UNITSDIR)))))
1432
ifneq ($(UNITDIR_X11),)
1433
UNITDIR_X11:=$(firstword $(UNITDIR_X11))
1439
override COMPILER_UNITDIR+=$(UNITDIR_X11)
1442
ifdef REQUIRE_PACKAGES_GTK2
1443
PACKAGEDIR_GTK2:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /gtk2/Makefile.fpc,$(PACKAGESDIR))))))
1444
ifneq ($(PACKAGEDIR_GTK2),)
1445
ifneq ($(wildcard $(PACKAGEDIR_GTK2)/units/$(TARGETSUFFIX)),)
1446
UNITDIR_GTK2=$(PACKAGEDIR_GTK2)/units/$(TARGETSUFFIX)
1448
UNITDIR_GTK2=$(PACKAGEDIR_GTK2)
1451
$(PACKAGEDIR_GTK2)/$(FPCMADE):
1452
$(MAKE) -C $(PACKAGEDIR_GTK2) $(FPCMADE)
1453
override ALLDEPENDENCIES+=$(PACKAGEDIR_GTK2)/$(FPCMADE)
1457
UNITDIR_GTK2:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /gtk2/Package.fpc,$(UNITSDIR)))))
1458
ifneq ($(UNITDIR_GTK2),)
1459
UNITDIR_GTK2:=$(firstword $(UNITDIR_GTK2))
1465
override COMPILER_UNITDIR+=$(UNITDIR_GTK2)
1469
override FPCOPTDEF=$(CPU_TARGET)
1471
ifneq ($(OS_TARGET),$(OS_SOURCE))
1472
override FPCOPT+=-T$(OS_TARGET)
1474
ifneq ($(CPU_TARGET),$(CPU_SOURCE))
1475
override FPCOPT+=-P$(CPU_TARGET)
1477
ifeq ($(OS_SOURCE),openbsd)
1478
override FPCOPT+=-FD$(NEW_BINUTILS_PATH)
1480
ifndef CROSSBOOTSTRAP
1481
ifneq ($(BINUTILSPREFIX),)
1482
override FPCOPT+=-XP$(BINUTILSPREFIX)
1484
ifneq ($(BINUTILSPREFIX),)
1485
override FPCOPT+=-Xr$(RLINKPATH)
1489
override FPCOPT+=$(addprefix -Fu,$(UNITDIR))
1492
override FPCOPT+=$(addprefix -Fl,$(LIBDIR))
1495
override FPCOPT+=$(addprefix -Fo,$(OBJDIR))
1498
override FPCOPT+=$(addprefix -Fi,$(INCDIR))
1501
override FPCOPT+=-XX
1504
override FPCOPT+=-CX
1507
override FPCOPT+=-gl
1508
override FPCOPTDEF+=DEBUG
1511
ifneq ($(findstring 2.0.,$(FPC_VERSION)),)
1512
ifeq ($(CPU_TARGET),i386)
1515
ifeq ($(CPU_TARGET),powerpc)
1521
override FPCOPT+=-Ur -Xs $(FPCCPUOPT) -n
1522
override FPCOPTDEF+=RELEASE
1525
override FPCOPT+=-Xs
1528
override FPCOPT+=-O2
1531
override FPCOPT+=-vwni
1533
ifdef COMPILER_OPTIONS
1534
override FPCOPT+=$(COMPILER_OPTIONS)
1536
ifdef COMPILER_UNITDIR
1537
override FPCOPT+=$(addprefix -Fu,$(COMPILER_UNITDIR))
1539
ifdef COMPILER_LIBRARYDIR
1540
override FPCOPT+=$(addprefix -Fl,$(COMPILER_LIBRARYDIR))
1542
ifdef COMPILER_OBJECTDIR
1543
override FPCOPT+=$(addprefix -Fo,$(COMPILER_OBJECTDIR))
1545
ifdef COMPILER_INCLUDEDIR
1546
override FPCOPT+=$(addprefix -Fi,$(COMPILER_INCLUDEDIR))
1549
override FPCOPT+=-FD$(CROSSBINDIR)
1551
ifdef COMPILER_TARGETDIR
1552
override FPCOPT+=-FE$(COMPILER_TARGETDIR)
1553
ifeq ($(COMPILER_TARGETDIR),.)
1554
override TARGETDIRPREFIX=
1556
override TARGETDIRPREFIX=$(COMPILER_TARGETDIR)/
1559
ifdef COMPILER_UNITTARGETDIR
1560
override FPCOPT+=-FU$(COMPILER_UNITTARGETDIR)
1561
ifeq ($(COMPILER_UNITTARGETDIR),.)
1562
override UNITTARGETDIRPREFIX=
1564
override UNITTARGETDIRPREFIX=$(COMPILER_UNITTARGETDIR)/
1567
ifdef COMPILER_TARGETDIR
1568
override COMPILER_UNITTARGETDIR=$(COMPILER_TARGETDIR)
1569
override UNITTARGETDIRPREFIX=$(TARGETDIRPREFIX)
1573
override FPCOPT+=-Cg
1574
ifeq ($(CPU_TARGET),i386)
1575
override FPCOPT+=-Aas
1578
ifeq ($(findstring 2.0.,$(FPC_VERSION)),)
1579
ifeq ($(OS_TARGET),linux)
1580
ifeq ($(CPU_TARGET),x86_64)
1581
override FPCOPT+=-Cg
1588
override FPCOPT+=-Fl$(GCCLIBDIR)
1591
override FPCOPT+=$(addprefix -Fl,$(OTHERLIBDIR))
1594
override FPCOPT+=$(OPT)
1597
override FPCOPT+=$(addprefix -d,$(FPCOPTDEF))
1600
override FPCOPT+=@$(CFGFILE)
1603
override FPCEXTCMD:=$(FPCOPT)
1604
override FPCOPT:=!FPCEXTCMD
1607
override AFULL_TARGET=$(CPU_TARGET)-$(OS_TARGET)
1608
override AFULL_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE)
1609
ifneq ($(AFULL_TARGET),$(AFULL_SOURCE))
1610
override ACROSSCOMPILE=1
1613
override FPCOPT+=$(CROSSOPT)
1615
override COMPILER:=$(FPC) $(FPCOPT)
1616
ifeq (,$(findstring -s ,$(COMPILER)))
1619
ifeq ($(FULL_SOURCE),$(FULL_TARGET))
1625
ifneq ($(TARGET_PROGRAMS),)
1626
override EXEFILES=$(addsuffix $(EXEEXT),$(TARGET_PROGRAMS))
1627
override EXEOFILES:=$(addsuffix $(OEXT),$(TARGET_PROGRAMS)) $(addprefix $(STATICLIBPREFIX),$(addsuffix $(STATICLIBEXT),$(TARGET_PROGRAMS))) $(addprefix $(IMPORTLIBPREFIX),$(addsuffix $(STATICLIBEXT),$(TARGET_PROGRAMS)))
1628
override ALLTARGET+=fpc_exes
1629
override INSTALLEXEFILES+=$(EXEFILES)
1630
override CLEANEXEFILES+=$(EXEFILES) $(EXEOFILES)
1631
ifeq ($(OS_TARGET),os2)
1632
override CLEANEXEFILES+=$(addsuffix $(AOUTEXT),$(TARGET_PROGRAMS))
1634
ifeq ($(OS_TARGET),emx)
1635
override CLEANEXEFILES+=$(addsuffix $(AOUTEXT),$(TARGET_PROGRAMS))
1639
fpc_exes: $(COMPILER_TARGETDIR) $(COMPILER_UNITTARGETDIR) $(EXEFILES)
1641
override RSTFILES=$(addsuffix $(RSTEXT),$(TARGET_RSTS))
1642
override CLEANRSTFILES+=$(RSTFILES)
1644
.PHONY: fpc_all fpc_smart fpc_debug fpc_release fpc_shared
1645
$(FPCMADE): $(ALLDEPENDENCIES) $(ALLTARGET)
1646
@$(ECHOREDIR) Compiled > $(FPCMADE)
1649
$(MAKE) all LINKSMART=1 CREATESMART=1
1653
$(MAKE) all RELEASE=1
1654
.SUFFIXES: $(EXEEXT) $(PPUEXT) $(OEXT) .pas .lpr .dpr .pp .rc .res
1655
$(COMPILER_UNITTARGETDIR):
1656
$(MKDIRTREE) $(COMPILER_UNITTARGETDIR)
1657
$(COMPILER_TARGETDIR):
1658
$(MKDIRTREE) $(COMPILER_TARGETDIR)
1679
vpath %.pp $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
1680
vpath %.pas $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
1681
vpath %.lpr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
1682
vpath %.dpr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
1683
vpath %.inc $(COMPILER_INCLUDEDIR)
1684
vpath %$(OEXT) $(COMPILER_UNITTARGETDIR)
1685
vpath %$(PPUEXT) $(COMPILER_UNITTARGETDIR)
1687
override INSTALLTARGET+=fpc_shared_install
1688
ifndef SHARED_LIBVERSION
1689
SHARED_LIBVERSION=$(FPC_VERSION)
1691
ifndef SHARED_LIBNAME
1692
SHARED_LIBNAME=$(PACKAGE_NAME)
1694
ifndef SHARED_FULLNAME
1695
SHARED_FULLNAME=$(SHAREDLIBPREFIX)$(SHARED_LIBNAME)-$(SHARED_LIBVERSION)$(SHAREDLIBEXT)
1697
ifndef SHARED_LIBUNITS
1698
SHARED_LIBUNITS:=$(TARGET_UNITS) $(TARGET_IMPLICITUNITS)
1699
override SHARED_LIBUNITS:=$(filter-out $(INSTALL_BUILDUNIT),$(SHARED_LIBUNITS))
1703
$(MAKE) all CREATESHARED=1 LINKSHARED=1 CREATESMART=1
1704
ifneq ($(SHARED_BUILD),n)
1705
$(PPUMOVE) -q $(SHARED_LIBUNITS) -i$(COMPILER_UNITTARGETDIR) -o$(SHARED_FULLNAME) -d$(COMPILER_UNITTARGETDIR)
1708
@$(ECHO) Shared Libraries not supported
1711
ifneq ($(SHARED_BUILD),n)
1712
ifneq ($(SHARED_LIBUNITS),)
1713
ifneq ($(wildcard $(COMPILER_UNITTARGETDIR)/$(SHARED_FULLNAME)),)
1714
$(INSTALL) $(COMPILER_UNITTARGETDIR)/$(SHARED_FULLNAME) $(INSTALL_SHAREDDIR)
1718
.PHONY: fpc_install fpc_sourceinstall fpc_exampleinstall
1720
override INSTALLPPUFILES+=$(addsuffix $(PPUEXT),$(INSTALL_UNITS))
1722
ifdef INSTALL_BUILDUNIT
1723
override INSTALLPPUFILES:=$(filter-out $(INSTALL_BUILDUNIT)$(PPUEXT),$(INSTALLPPUFILES))
1725
ifdef INSTALLPPUFILES
1726
override INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES))) $(addprefix $(IMPORTLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES)))
1727
ifneq ($(UNITTARGETDIRPREFIX),)
1728
override INSTALLPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(notdir $(INSTALLPPUFILES)))
1729
override INSTALLPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(notdir $(INSTALLPPULINKFILES))))
1731
override INSTALL_CREATEPACKAGEFPC=1
1733
ifdef INSTALLEXEFILES
1734
ifneq ($(TARGETDIRPREFIX),)
1735
override INSTALLEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(notdir $(INSTALLEXEFILES)))
1738
fpc_install: all $(INSTALLTARGET)
1739
ifdef INSTALLEXEFILES
1740
$(MKDIR) $(INSTALL_BINDIR)
1742
-$(UPXPROG) $(INSTALLEXEFILES)
1744
$(INSTALLEXE) $(INSTALLEXEFILES) $(INSTALL_BINDIR)
1746
ifdef INSTALL_CREATEPACKAGEFPC
1748
ifdef PACKAGE_VERSION
1749
ifneq ($(wildcard Makefile.fpc),)
1750
$(FPCMAKE) -p -T$(CPU_TARGET)-$(OS_TARGET) Makefile.fpc
1751
$(MKDIR) $(INSTALL_UNITDIR)
1752
$(INSTALL) Package.fpc $(INSTALL_UNITDIR)
1757
ifdef INSTALLPPUFILES
1758
$(MKDIR) $(INSTALL_UNITDIR)
1759
$(INSTALL) $(INSTALLPPUFILES) $(INSTALL_UNITDIR)
1760
ifneq ($(INSTALLPPULINKFILES),)
1761
$(INSTALL) $(INSTALLPPULINKFILES) $(INSTALL_UNITDIR)
1763
ifneq ($(wildcard $(LIB_FULLNAME)),)
1764
$(MKDIR) $(INSTALL_LIBDIR)
1765
$(INSTALL) $(LIB_FULLNAME) $(INSTALL_LIBDIR)
1767
ln -sf $(LIB_FULLNAME) $(INSTALL_LIBDIR)/$(LIB_NAME)
1772
$(MKDIR) $(INSTALL_DATADIR)
1773
$(INSTALL) $(INSTALL_FILES) $(INSTALL_DATADIR)
1775
fpc_sourceinstall: distclean
1776
$(MKDIR) $(INSTALL_SOURCEDIR)
1777
$(COPYTREE) $(BASEDIR)/* $(INSTALL_SOURCEDIR)
1778
fpc_exampleinstall: $(addsuffix _distclean,$(TARGET_EXAMPLEDIRS))
1780
$(MKDIR) $(INSTALL_EXAMPLEDIR)
1782
ifdef EXAMPLESOURCEFILES
1783
$(COPY) $(EXAMPLESOURCEFILES) $(INSTALL_EXAMPLEDIR)
1785
ifdef TARGET_EXAMPLEDIRS
1786
$(COPYTREE) $(addsuffix /*,$(TARGET_EXAMPLEDIRS)) $(INSTALL_EXAMPLEDIR)
1788
.PHONY: fpc_clean fpc_cleanall fpc_distclean
1790
override CLEANEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(CLEANEXEFILES))
1793
override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
1796
override CLEANPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES))) $(addprefix $(IMPORTLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES)))
1798
override CLEANPPULINKFILES+=$(subst $(PPUEXT),$(DEBUGSYMEXT),$(CLEANPPUFILES))
1800
override CLEANPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPUFILES))
1801
override CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
1803
fpc_clean: $(CLEANTARGET)
1805
-$(DEL) $(CLEANEXEFILES)
1808
-$(DEL) $(CLEANPPUFILES)
1810
ifneq ($(CLEANPPULINKFILES),)
1811
-$(DEL) $(CLEANPPULINKFILES)
1814
-$(DEL) $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANRSTFILES))
1817
-$(DEL) $(CLEAN_FILES)
1820
-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
1822
-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
1823
-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
1824
fpc_cleanall: $(CLEANTARGET)
1826
-$(DEL) $(CLEANEXEFILES)
1828
ifdef COMPILER_UNITTARGETDIR
1830
-$(DEL) $(CLEANPPUFILES)
1832
ifneq ($(CLEANPPULINKFILES),)
1833
-$(DEL) $(CLEANPPULINKFILES)
1836
-$(DEL) $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANRSTFILES))
1840
-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
1841
ifneq ($(PPUEXT),.ppu)
1842
-$(DEL) *.o *.ppu *.a
1844
-$(DELTREE) *$(SMARTEXT)
1845
-$(DEL) fpcmade.* Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
1846
-$(DEL) *_ppas$(BATCHEXT)
1851
-$(DEL) *$(DEBUGSYMEXT)
1853
fpc_distclean: cleanall
1854
.PHONY: fpc_baseinfo
1855
override INFORULES+=fpc_baseinfo
1858
@$(ECHO) == Package info ==
1859
@$(ECHO) Package Name..... $(PACKAGE_NAME)
1860
@$(ECHO) Package Version.. $(PACKAGE_VERSION)
1862
@$(ECHO) == Configuration info ==
1864
@$(ECHO) FPC.......... $(FPC)
1865
@$(ECHO) FPC Version.. $(FPC_VERSION)
1866
@$(ECHO) Source CPU... $(CPU_SOURCE)
1867
@$(ECHO) Target CPU... $(CPU_TARGET)
1868
@$(ECHO) Source OS.... $(OS_SOURCE)
1869
@$(ECHO) Target OS.... $(OS_TARGET)
1870
@$(ECHO) Full Source.. $(FULL_SOURCE)
1871
@$(ECHO) Full Target.. $(FULL_TARGET)
1872
@$(ECHO) SourceSuffix. $(SOURCESUFFIX)
1873
@$(ECHO) TargetSuffix. $(TARGETSUFFIX)
1875
@$(ECHO) == Directory info ==
1877
@$(ECHO) Required pkgs... $(REQUIRE_PACKAGES)
1879
@$(ECHO) Basedir......... $(BASEDIR)
1880
@$(ECHO) FPCDir.......... $(FPCDIR)
1881
@$(ECHO) CrossBinDir..... $(CROSSBINDIR)
1882
@$(ECHO) UnitsDir........ $(UNITSDIR)
1883
@$(ECHO) PackagesDir..... $(PACKAGESDIR)
1885
@$(ECHO) GCC library..... $(GCCLIBDIR)
1886
@$(ECHO) Other library... $(OTHERLIBDIR)
1888
@$(ECHO) == Tools info ==
1890
@$(ECHO) As........ $(AS)
1891
@$(ECHO) Ld........ $(LD)
1892
@$(ECHO) Ar........ $(AR)
1893
@$(ECHO) Rc........ $(RC)
1895
@$(ECHO) Mv........ $(MVPROG)
1896
@$(ECHO) Cp........ $(CPPROG)
1897
@$(ECHO) Rm........ $(RMPROG)
1898
@$(ECHO) GInstall.. $(GINSTALL)
1899
@$(ECHO) Echo...... $(ECHO)
1900
@$(ECHO) Shell..... $(SHELL)
1901
@$(ECHO) Date...... $(DATE)
1902
@$(ECHO) FPCMake... $(FPCMAKE)
1903
@$(ECHO) PPUMove... $(PPUMOVE)
1904
@$(ECHO) Upx....... $(UPXPROG)
1905
@$(ECHO) Zip....... $(ZIPPROG)
1907
@$(ECHO) == Object info ==
1909
@$(ECHO) Target Loaders........ $(TARGET_LOADERS)
1910
@$(ECHO) Target Units.......... $(TARGET_UNITS)
1911
@$(ECHO) Target Implicit Units. $(TARGET_IMPLICITUNITS)
1912
@$(ECHO) Target Programs....... $(TARGET_PROGRAMS)
1913
@$(ECHO) Target Dirs........... $(TARGET_DIRS)
1914
@$(ECHO) Target Examples....... $(TARGET_EXAMPLES)
1915
@$(ECHO) Target ExampleDirs.... $(TARGET_EXAMPLEDIRS)
1917
@$(ECHO) Clean Units......... $(CLEAN_UNITS)
1918
@$(ECHO) Clean Files......... $(CLEAN_FILES)
1920
@$(ECHO) Install Units....... $(INSTALL_UNITS)
1921
@$(ECHO) Install Files....... $(INSTALL_FILES)
1923
@$(ECHO) == Install info ==
1925
@$(ECHO) DateStr.............. $(DATESTR)
1926
@$(ECHO) ZipName.............. $(ZIPNAME)
1927
@$(ECHO) ZipPrefix............ $(ZIPPREFIX)
1928
@$(ECHO) ZipCrossPrefix....... $(ZIPCROSSPREFIX)
1929
@$(ECHO) ZipSuffix............ $(ZIPSUFFIX)
1930
@$(ECHO) FullZipName.......... $(FULLZIPNAME)
1931
@$(ECHO) Install FPC Package.. $(INSTALL_FPCPACKAGE)
1933
@$(ECHO) Install base dir..... $(INSTALL_BASEDIR)
1934
@$(ECHO) Install binary dir... $(INSTALL_BINDIR)
1935
@$(ECHO) Install library dir.. $(INSTALL_LIBDIR)
1936
@$(ECHO) Install units dir.... $(INSTALL_UNITDIR)
1937
@$(ECHO) Install source dir... $(INSTALL_SOURCEDIR)
1938
@$(ECHO) Install doc dir...... $(INSTALL_DOCDIR)
1939
@$(ECHO) Install example dir.. $(INSTALL_EXAMPLEDIR)
1940
@$(ECHO) Install data dir..... $(INSTALL_DATADIR)
1942
@$(ECHO) Dist destination dir. $(DIST_DESTDIR)
1943
@$(ECHO) Dist zip name........ $(DIST_ZIPNAME)
1946
fpc_info: $(INFORULES)
1947
.PHONY: fpc_makefile fpc_makefiles fpc_makefile_sub1 fpc_makefile_sub2 \
1950
$(FPCMAKE) -w -T$(OS_TARGET) Makefile.fpc
1953
$(FPCMAKE) -w -T$(OS_TARGET) $(addsuffix /Makefile.fpc,$(TARGET_DIRS))
1955
ifdef TARGET_EXAMPLEDIRS
1956
$(FPCMAKE) -w -T$(OS_TARGET) $(addsuffix /Makefile.fpc,$(TARGET_EXAMPLEDIRS))
1958
fpc_makefile_sub2: $(addsuffix _makefile_dirs,$(TARGET_DIRS) $(TARGET_EXAMPLEDIRS))
1959
fpc_makefile_dirs: fpc_makefile_sub1 fpc_makefile_sub2
1960
fpc_makefiles: fpc_makefile fpc_makefile_dirs
1964
release: fpc_release
1968
install: fpc_install
1969
sourceinstall: fpc_sourceinstall
1970
exampleinstall: fpc_exampleinstall
1977
distclean: fpc_distclean
1978
cleanall: fpc_cleanall
1980
makefiles: fpc_makefiles
1981
.PHONY: all debug smart release units examples shared install sourceinstall exampleinstall distinstall zipinstall zipsourceinstall zipexampleinstall zipdistinstall clean distclean cleanall info makefiles
1982
ifneq ($(wildcard fpcmake.loc),)