~ubuntu-branches/debian/lenny/fpc/lenny

« back to all changes in this revision

Viewing changes to fpcsrc/packages/fcl-registry/tests/Makefile

  • Committer: Bazaar Package Importer
  • Author(s): Mazen Neifer, Torsten Werner, Mazen Neifer
  • Date: 2008-05-17 17:12:11 UTC
  • mfrom: (3.1.9 intrepid)
  • Revision ID: james.westby@ubuntu.com-20080517171211-9qi33xhd9evfa0kg
Tags: 2.2.0-dfsg1-9
[ Torsten Werner ]
* Add Mazen Neifer to Uploaders field.

[ Mazen Neifer ]
* Moved FPC sources into a version dependent directory from /usr/share/fpcsrc
  to /usr/share/fpcsrc/${FPCVERSION}. This allow installing more than on FPC
  release.
* Fixed far call issue in compiler preventing building huge binearies.
  (closes: #477743)
* Updated building dependencies, recomennded and suggested packages.
* Moved fppkg to fp-utils as it is just a helper tool and is not required by
  compiler.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#
 
2
# Don't edit, this file is generated by FPCMake Version 2.0.0 [2007/08/29]
 
3
#
 
4
default: all
 
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
 
9
FORCE:
 
10
.PHONY: FORCE
 
11
override PATH:=$(patsubst %/,%,$(subst \,/,$(PATH)))
 
12
ifneq ($(findstring darwin,$(OSTYPE)),)
 
13
inUnix=1 #darwin
 
14
SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 
15
else
 
16
ifeq ($(findstring ;,$(PATH)),)
 
17
inUnix=1
 
18
SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 
19
else
 
20
SEARCHPATH:=$(subst ;, ,$(PATH))
 
21
endif
 
22
endif
 
23
SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 
24
PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 
25
ifeq ($(PWD),)
 
26
PWD:=$(strip $(wildcard $(addsuffix /pwd,$(SEARCHPATH))))
 
27
ifeq ($(PWD),)
 
28
$(error You need the GNU utils package to use this Makefile)
 
29
else
 
30
PWD:=$(firstword $(PWD))
 
31
SRCEXEEXT=
 
32
endif
 
33
else
 
34
PWD:=$(firstword $(PWD))
 
35
SRCEXEEXT=.exe
 
36
endif
 
37
ifndef inUnix
 
38
ifeq ($(OS),Windows_NT)
 
39
inWinNT=1
 
40
else
 
41
ifdef OS2_SHELL
 
42
inOS2=1
 
43
endif
 
44
endif
 
45
else
 
46
ifneq ($(findstring cygdrive,$(PATH)),)
 
47
inCygWin=1
 
48
endif
 
49
endif
 
50
ifdef inUnix
 
51
SRCBATCHEXT=.sh
 
52
else
 
53
ifdef inOS2
 
54
SRCBATCHEXT=.cmd
 
55
else
 
56
SRCBATCHEXT=.bat
 
57
endif
 
58
endif
 
59
ifdef inUnix
 
60
PATHSEP=/
 
61
else
 
62
PATHSEP:=$(subst /,\,/)
 
63
ifdef inCygWin
 
64
PATHSEP=/
 
65
endif
 
66
endif
 
67
ifdef PWD
 
68
BASEDIR:=$(subst \,/,$(shell $(PWD)))
 
69
ifdef inCygWin
 
70
ifneq ($(findstring /cygdrive/,$(BASEDIR)),)
 
71
BASENODIR:=$(patsubst /cygdrive%,%,$(BASEDIR))
 
72
BASEDRIVE:=$(firstword $(subst /, ,$(BASENODIR)))
 
73
BASEDIR:=$(subst /cygdrive/$(BASEDRIVE)/,$(BASEDRIVE):/,$(BASEDIR))
 
74
endif
 
75
endif
 
76
else
 
77
BASEDIR=.
 
78
endif
 
79
ifdef inOS2
 
80
ifndef ECHO
 
81
ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 
82
ifeq ($(ECHO),)
 
83
ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 
84
ifeq ($(ECHO),)
 
85
ECHO=echo
 
86
else
 
87
ECHO:=$(firstword $(ECHO))
 
88
endif
 
89
else
 
90
ECHO:=$(firstword $(ECHO))
 
91
endif
 
92
endif
 
93
export ECHO
 
94
endif
 
95
override DEFAULT_FPCDIR=../../..
 
96
ifndef FPC
 
97
ifdef PP
 
98
FPC=$(PP)
 
99
endif
 
100
endif
 
101
ifndef FPC
 
102
FPCPROG:=$(strip $(wildcard $(addsuffix /fpc$(SRCEXEEXT),$(SEARCHPATH))))
 
103
ifneq ($(FPCPROG),)
 
104
FPCPROG:=$(firstword $(FPCPROG))
 
105
FPC:=$(shell $(FPCPROG) -PB)
 
106
ifneq ($(findstring Error,$(FPC)),)
 
107
override FPC=$(firstword $(strip $(wildcard $(addsuffix /ppc386$(SRCEXEEXT),$(SEARCHPATH)))))
 
108
endif
 
109
else
 
110
override FPC=$(firstword $(strip $(wildcard $(addsuffix /ppc386$(SRCEXEEXT),$(SEARCHPATH)))))
 
111
endif
 
112
endif
 
113
override FPC:=$(subst $(SRCEXEEXT),,$(FPC))
 
114
override FPC:=$(subst \,/,$(FPC))$(SRCEXEEXT)
 
115
FOUNDFPC:=$(strip $(wildcard $(FPC)))
 
116
ifeq ($(FOUNDFPC),)
 
117
FOUNDFPC=$(strip $(wildcard $(addsuffix /$(FPC),$(SEARCHPATH))))
 
118
ifeq ($(FOUNDFPC),)
 
119
$(error Compiler $(FPC) not found)
 
120
endif
 
121
endif
 
122
ifndef FPC_COMPILERINFO
 
123
FPC_COMPILERINFO:=$(shell $(FPC) -iVSPTPSOTO)
 
124
endif
 
125
ifndef FPC_VERSION
 
126
FPC_VERSION:=$(word 1,$(FPC_COMPILERINFO))
 
127
endif
 
128
export FPC FPC_VERSION FPC_COMPILERINFO
 
129
unexport CHECKDEPEND ALLDEPENDENCIES
 
130
ifndef CPU_TARGET
 
131
ifdef CPU_TARGET_DEFAULT
 
132
CPU_TARGET=$(CPU_TARGET_DEFAULT)
 
133
endif
 
134
endif
 
135
ifndef OS_TARGET
 
136
ifdef OS_TARGET_DEFAULT
 
137
OS_TARGET=$(OS_TARGET_DEFAULT)
 
138
endif
 
139
endif
 
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)
 
145
endif
 
146
ifndef CPU_SOURCE
 
147
CPU_SOURCE:=$(word 2,$(FPC_COMPILERINFO))
 
148
endif
 
149
ifndef CPU_TARGET
 
150
CPU_TARGET:=$(word 3,$(FPC_COMPILERINFO))
 
151
endif
 
152
ifndef OS_SOURCE
 
153
OS_SOURCE:=$(word 4,$(FPC_COMPILERINFO))
 
154
endif
 
155
ifndef OS_TARGET
 
156
OS_TARGET:=$(word 5,$(FPC_COMPILERINFO))
 
157
endif
 
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)
 
163
else
 
164
TARGETSUFFIX=$(FULL_TARGET)
 
165
SOURCESUFFIX=$(FULL_SOURCE)
 
166
endif
 
167
ifneq ($(FULL_TARGET),$(FULL_SOURCE))
 
168
CROSSCOMPILE=1
 
169
endif
 
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)
 
173
endif
 
174
endif
 
175
ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
 
176
BSDhier=1
 
177
endif
 
178
ifeq ($(OS_TARGET),linux)
 
179
linuxHier=1
 
180
endif
 
181
export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE TARGETSUFFIX SOURCESUFFIX CROSSCOMPILE
 
182
ifdef FPCDIR
 
183
override FPCDIR:=$(subst \,/,$(FPCDIR))
 
184
ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
 
185
override FPCDIR=wrong
 
186
endif
 
187
else
 
188
override FPCDIR=wrong
 
189
endif
 
190
ifdef DEFAULT_FPCDIR
 
191
ifeq ($(FPCDIR),wrong)
 
192
override FPCDIR:=$(subst \,/,$(DEFAULT_FPCDIR))
 
193
ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
 
194
override FPCDIR=wrong
 
195
endif
 
196
endif
 
197
endif
 
198
ifeq ($(FPCDIR),wrong)
 
199
ifdef inUnix
 
200
override FPCDIR=/usr/local/lib/fpc/$(FPC_VERSION)
 
201
ifeq ($(wildcard $(FPCDIR)/units),)
 
202
override FPCDIR=/usr/lib/fpc/$(FPC_VERSION)
 
203
endif
 
204
else
 
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
 
213
endif
 
214
endif
 
215
endif
 
216
endif
 
217
endif
 
218
ifndef CROSSBINDIR
 
219
CROSSBINDIR:=$(wildcard $(FPCDIR)/bin/$(TARGETSUFFIX))
 
220
endif
 
221
ifndef BINUTILSPREFIX
 
222
ifndef CROSSBINDIR
 
223
ifdef CROSSCOMPILE
 
224
BINUTILSPREFIX=$(CPU_TARGET)-$(OS_TARGET)-
 
225
endif
 
226
endif
 
227
endif
 
228
UNITSDIR:=$(wildcard $(FPCDIR)/units/$(TARGETSUFFIX))
 
229
ifeq ($(UNITSDIR),)
 
230
UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET))
 
231
endif
 
232
PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages $(FPCDIR)/packages/base $(FPCDIR)/packages/extra)
 
233
override PACKAGE_NAME=fcl
 
234
PACKAGEDIR_MAIN:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /fcl/Makefile.fpc,$(PACKAGESDIR))))))
 
235
ifeq ($(FULL_TARGET),i386-linux)
 
236
override TARGET_EXAMPLES+=regtestframework
 
237
endif
 
238
ifeq ($(FULL_TARGET),i386-go32v2)
 
239
override TARGET_EXAMPLES+=regtestframework
 
240
endif
 
241
ifeq ($(FULL_TARGET),i386-win32)
 
242
override TARGET_EXAMPLES+=regtestframework
 
243
endif
 
244
ifeq ($(FULL_TARGET),i386-os2)
 
245
override TARGET_EXAMPLES+=regtestframework
 
246
endif
 
247
ifeq ($(FULL_TARGET),i386-freebsd)
 
248
override TARGET_EXAMPLES+=regtestframework
 
249
endif
 
250
ifeq ($(FULL_TARGET),i386-beos)
 
251
override TARGET_EXAMPLES+=regtestframework
 
252
endif
 
253
ifeq ($(FULL_TARGET),i386-netbsd)
 
254
override TARGET_EXAMPLES+=regtestframework
 
255
endif
 
256
ifeq ($(FULL_TARGET),i386-solaris)
 
257
override TARGET_EXAMPLES+=regtestframework
 
258
endif
 
259
ifeq ($(FULL_TARGET),i386-qnx)
 
260
override TARGET_EXAMPLES+=regtestframework
 
261
endif
 
262
ifeq ($(FULL_TARGET),i386-netware)
 
263
override TARGET_EXAMPLES+=regtestframework
 
264
endif
 
265
ifeq ($(FULL_TARGET),i386-openbsd)
 
266
override TARGET_EXAMPLES+=regtestframework
 
267
endif
 
268
ifeq ($(FULL_TARGET),i386-wdosx)
 
269
override TARGET_EXAMPLES+=regtestframework
 
270
endif
 
271
ifeq ($(FULL_TARGET),i386-darwin)
 
272
override TARGET_EXAMPLES+=regtestframework
 
273
endif
 
274
ifeq ($(FULL_TARGET),i386-emx)
 
275
override TARGET_EXAMPLES+=regtestframework
 
276
endif
 
277
ifeq ($(FULL_TARGET),i386-watcom)
 
278
override TARGET_EXAMPLES+=regtestframework
 
279
endif
 
280
ifeq ($(FULL_TARGET),i386-netwlibc)
 
281
override TARGET_EXAMPLES+=regtestframework
 
282
endif
 
283
ifeq ($(FULL_TARGET),i386-wince)
 
284
override TARGET_EXAMPLES+=regtestframework
 
285
endif
 
286
ifeq ($(FULL_TARGET),i386-embedded)
 
287
override TARGET_EXAMPLES+=regtestframework
 
288
endif
 
289
ifeq ($(FULL_TARGET),i386-symbian)
 
290
override TARGET_EXAMPLES+=regtestframework
 
291
endif
 
292
ifeq ($(FULL_TARGET),m68k-linux)
 
293
override TARGET_EXAMPLES+=regtestframework
 
294
endif
 
295
ifeq ($(FULL_TARGET),m68k-freebsd)
 
296
override TARGET_EXAMPLES+=regtestframework
 
297
endif
 
298
ifeq ($(FULL_TARGET),m68k-netbsd)
 
299
override TARGET_EXAMPLES+=regtestframework
 
300
endif
 
301
ifeq ($(FULL_TARGET),m68k-amiga)
 
302
override TARGET_EXAMPLES+=regtestframework
 
303
endif
 
304
ifeq ($(FULL_TARGET),m68k-atari)
 
305
override TARGET_EXAMPLES+=regtestframework
 
306
endif
 
307
ifeq ($(FULL_TARGET),m68k-openbsd)
 
308
override TARGET_EXAMPLES+=regtestframework
 
309
endif
 
310
ifeq ($(FULL_TARGET),m68k-palmos)
 
311
override TARGET_EXAMPLES+=regtestframework
 
312
endif
 
313
ifeq ($(FULL_TARGET),m68k-embedded)
 
314
override TARGET_EXAMPLES+=regtestframework
 
315
endif
 
316
ifeq ($(FULL_TARGET),powerpc-linux)
 
317
override TARGET_EXAMPLES+=regtestframework
 
318
endif
 
319
ifeq ($(FULL_TARGET),powerpc-netbsd)
 
320
override TARGET_EXAMPLES+=regtestframework
 
321
endif
 
322
ifeq ($(FULL_TARGET),powerpc-amiga)
 
323
override TARGET_EXAMPLES+=regtestframework
 
324
endif
 
325
ifeq ($(FULL_TARGET),powerpc-macos)
 
326
override TARGET_EXAMPLES+=regtestframework
 
327
endif
 
328
ifeq ($(FULL_TARGET),powerpc-darwin)
 
329
override TARGET_EXAMPLES+=regtestframework
 
330
endif
 
331
ifeq ($(FULL_TARGET),powerpc-morphos)
 
332
override TARGET_EXAMPLES+=regtestframework
 
333
endif
 
334
ifeq ($(FULL_TARGET),powerpc-embedded)
 
335
override TARGET_EXAMPLES+=regtestframework
 
336
endif
 
337
ifeq ($(FULL_TARGET),sparc-linux)
 
338
override TARGET_EXAMPLES+=regtestframework
 
339
endif
 
340
ifeq ($(FULL_TARGET),sparc-netbsd)
 
341
override TARGET_EXAMPLES+=regtestframework
 
342
endif
 
343
ifeq ($(FULL_TARGET),sparc-solaris)
 
344
override TARGET_EXAMPLES+=regtestframework
 
345
endif
 
346
ifeq ($(FULL_TARGET),sparc-embedded)
 
347
override TARGET_EXAMPLES+=regtestframework
 
348
endif
 
349
ifeq ($(FULL_TARGET),x86_64-linux)
 
350
override TARGET_EXAMPLES+=regtestframework
 
351
endif
 
352
ifeq ($(FULL_TARGET),x86_64-freebsd)
 
353
override TARGET_EXAMPLES+=regtestframework
 
354
endif
 
355
ifeq ($(FULL_TARGET),x86_64-win64)
 
356
override TARGET_EXAMPLES+=regtestframework
 
357
endif
 
358
ifeq ($(FULL_TARGET),x86_64-embedded)
 
359
override TARGET_EXAMPLES+=regtestframework
 
360
endif
 
361
ifeq ($(FULL_TARGET),arm-linux)
 
362
override TARGET_EXAMPLES+=regtestframework
 
363
endif
 
364
ifeq ($(FULL_TARGET),arm-palmos)
 
365
override TARGET_EXAMPLES+=regtestframework
 
366
endif
 
367
ifeq ($(FULL_TARGET),arm-wince)
 
368
override TARGET_EXAMPLES+=regtestframework
 
369
endif
 
370
ifeq ($(FULL_TARGET),arm-gba)
 
371
override TARGET_EXAMPLES+=regtestframework
 
372
endif
 
373
ifeq ($(FULL_TARGET),arm-nds)
 
374
override TARGET_EXAMPLES+=regtestframework
 
375
endif
 
376
ifeq ($(FULL_TARGET),arm-embedded)
 
377
override TARGET_EXAMPLES+=regtestframework
 
378
endif
 
379
ifeq ($(FULL_TARGET),arm-symbian)
 
380
override TARGET_EXAMPLES+=regtestframework
 
381
endif
 
382
ifeq ($(FULL_TARGET),powerpc64-linux)
 
383
override TARGET_EXAMPLES+=regtestframework
 
384
endif
 
385
ifeq ($(FULL_TARGET),powerpc64-embedded)
 
386
override TARGET_EXAMPLES+=regtestframework
 
387
endif
 
388
override INSTALL_FPCPACKAGE=y
 
389
ifdef REQUIRE_UNITSDIR
 
390
override UNITSDIR+=$(REQUIRE_UNITSDIR)
 
391
endif
 
392
ifdef REQUIRE_PACKAGESDIR
 
393
override PACKAGESDIR+=$(REQUIRE_PACKAGESDIR)
 
394
endif
 
395
ifdef ZIPINSTALL
 
396
ifneq ($(findstring $(OS_TARGET),$(UNIXs)),)
 
397
UNIXHier=1
 
398
endif
 
399
else
 
400
ifneq ($(findstring $(OS_SOURCE),$(UNIXs)),)
 
401
UNIXHier=1
 
402
endif
 
403
endif
 
404
ifndef INSTALL_PREFIX
 
405
ifdef PREFIX
 
406
INSTALL_PREFIX=$(PREFIX)
 
407
endif
 
408
endif
 
409
ifndef INSTALL_PREFIX
 
410
ifdef UNIXHier
 
411
INSTALL_PREFIX=/usr/local
 
412
else
 
413
ifdef INSTALL_FPCPACKAGE
 
414
INSTALL_BASEDIR:=/pp
 
415
else
 
416
INSTALL_BASEDIR:=/$(PACKAGE_NAME)
 
417
endif
 
418
endif
 
419
endif
 
420
export INSTALL_PREFIX
 
421
ifdef INSTALL_FPCSUBDIR
 
422
export INSTALL_FPCSUBDIR
 
423
endif
 
424
ifndef DIST_DESTDIR
 
425
DIST_DESTDIR:=$(BASEDIR)
 
426
endif
 
427
export DIST_DESTDIR
 
428
ifndef COMPILER_UNITTARGETDIR
 
429
ifdef PACKAGEDIR_MAIN
 
430
COMPILER_UNITTARGETDIR=$(PACKAGEDIR_MAIN)/units/$(TARGETSUFFIX)
 
431
else
 
432
COMPILER_UNITTARGETDIR=units/$(TARGETSUFFIX)
 
433
endif
 
434
endif
 
435
ifndef COMPILER_TARGETDIR
 
436
COMPILER_TARGETDIR=.
 
437
endif
 
438
ifndef INSTALL_BASEDIR
 
439
ifdef UNIXHier
 
440
ifdef INSTALL_FPCPACKAGE
 
441
INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 
442
else
 
443
INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/$(PACKAGE_NAME)
 
444
endif
 
445
else
 
446
INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 
447
endif
 
448
endif
 
449
ifndef INSTALL_BINDIR
 
450
ifdef UNIXHier
 
451
INSTALL_BINDIR:=$(INSTALL_PREFIX)/bin
 
452
else
 
453
INSTALL_BINDIR:=$(INSTALL_BASEDIR)/bin
 
454
ifdef INSTALL_FPCPACKAGE
 
455
ifdef CROSSCOMPILE
 
456
ifdef CROSSINSTALL
 
457
INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(SOURCESUFFIX)
 
458
else
 
459
INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(TARGETSUFFIX)
 
460
endif
 
461
else
 
462
INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(TARGETSUFFIX)
 
463
endif
 
464
endif
 
465
endif
 
466
endif
 
467
ifndef INSTALL_UNITDIR
 
468
INSTALL_UNITDIR:=$(INSTALL_BASEDIR)/units/$(TARGETSUFFIX)
 
469
ifdef INSTALL_FPCPACKAGE
 
470
ifdef PACKAGE_NAME
 
471
INSTALL_UNITDIR:=$(INSTALL_UNITDIR)/$(PACKAGE_NAME)
 
472
endif
 
473
endif
 
474
endif
 
475
ifndef INSTALL_LIBDIR
 
476
ifdef UNIXHier
 
477
INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 
478
else
 
479
INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 
480
endif
 
481
endif
 
482
ifndef INSTALL_SOURCEDIR
 
483
ifdef UNIXHier
 
484
ifdef BSDhier
 
485
SRCPREFIXDIR=share/src
 
486
else
 
487
ifdef linuxHier
 
488
SRCPREFIXDIR=share/src
 
489
else
 
490
SRCPREFIXDIR=src
 
491
endif
 
492
endif
 
493
ifdef INSTALL_FPCPACKAGE
 
494
ifdef INSTALL_FPCSUBDIR
 
495
INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
 
496
else
 
497
INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 
498
endif
 
499
else
 
500
INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 
501
endif
 
502
else
 
503
ifdef INSTALL_FPCPACKAGE
 
504
ifdef INSTALL_FPCSUBDIR
 
505
INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
 
506
else
 
507
INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(PACKAGE_NAME)
 
508
endif
 
509
else
 
510
INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source
 
511
endif
 
512
endif
 
513
endif
 
514
ifndef INSTALL_DOCDIR
 
515
ifdef UNIXHier
 
516
ifdef BSDhier
 
517
DOCPREFIXDIR=share/doc
 
518
else
 
519
ifdef linuxHier
 
520
DOCPREFIXDIR=share/doc
 
521
else
 
522
DOCPREFIXDIR=doc
 
523
endif
 
524
endif
 
525
ifdef INSTALL_FPCPACKAGE
 
526
INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 
527
else
 
528
INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 
529
endif
 
530
else
 
531
ifdef INSTALL_FPCPACKAGE
 
532
INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc/$(PACKAGE_NAME)
 
533
else
 
534
INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc
 
535
endif
 
536
endif
 
537
endif
 
538
ifndef INSTALL_EXAMPLEDIR
 
539
ifdef UNIXHier
 
540
ifdef INSTALL_FPCPACKAGE
 
541
ifdef BSDhier
 
542
INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 
543
else
 
544
ifdef linuxHier
 
545
INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples
 
546
else
 
547
INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 
548
endif
 
549
endif
 
550
else
 
551
ifdef BSDhier
 
552
INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 
553
else
 
554
ifdef linuxHier
 
555
INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 
556
else
 
557
INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 
558
endif
 
559
endif
 
560
endif
 
561
else
 
562
ifdef INSTALL_FPCPACKAGE
 
563
INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
 
564
else
 
565
INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples
 
566
endif
 
567
endif
 
568
endif
 
569
ifndef INSTALL_DATADIR
 
570
INSTALL_DATADIR=$(INSTALL_BASEDIR)
 
571
endif
 
572
ifndef INSTALL_SHAREDDIR
 
573
INSTALL_SHAREDDIR=$(INSTALL_PREFIX)/lib
 
574
endif
 
575
ifdef CROSSCOMPILE
 
576
ifndef CROSSBINDIR
 
577
CROSSBINDIR:=$(wildcard $(CROSSTARGETDIR)/bin/$(SOURCESUFFIX))
 
578
ifeq ($(CROSSBINDIR),)
 
579
CROSSBINDIR:=$(wildcard $(INSTALL_BASEDIR)/cross/$(TARGETSUFFIX)/bin/$(FULL_SOURCE))
 
580
endif
 
581
endif
 
582
else
 
583
CROSSBINDIR=
 
584
endif
 
585
BATCHEXT=.bat
 
586
LOADEREXT=.as
 
587
EXEEXT=.exe
 
588
PPLEXT=.ppl
 
589
PPUEXT=.ppu
 
590
OEXT=.o
 
591
ASMEXT=.s
 
592
SMARTEXT=.sl
 
593
STATICLIBEXT=.a
 
594
SHAREDLIBEXT=.so
 
595
SHAREDLIBPREFIX=libfp
 
596
STATICLIBPREFIX=libp
 
597
IMPORTLIBPREFIX=libimp
 
598
RSTEXT=.rst
 
599
ifeq ($(findstring 1.0.,$(FPC_VERSION)),)
 
600
ifeq ($(OS_TARGET),go32v1)
 
601
STATICLIBPREFIX=
 
602
SHORTSUFFIX=v1
 
603
endif
 
604
ifeq ($(OS_TARGET),go32v2)
 
605
STATICLIBPREFIX=
 
606
SHORTSUFFIX=dos
 
607
endif
 
608
ifeq ($(OS_TARGET),watcom)
 
609
STATICLIBPREFIX=
 
610
OEXT=.obj
 
611
ASMEXT=.asm
 
612
SHAREDLIBEXT=.dll
 
613
SHORTSUFFIX=wat
 
614
endif
 
615
ifeq ($(OS_TARGET),linux)
 
616
BATCHEXT=.sh
 
617
EXEEXT=
 
618
HASSHAREDLIB=1
 
619
SHORTSUFFIX=lnx
 
620
endif
 
621
ifeq ($(OS_TARGET),freebsd)
 
622
BATCHEXT=.sh
 
623
EXEEXT=
 
624
HASSHAREDLIB=1
 
625
SHORTSUFFIX=fbs
 
626
endif
 
627
ifeq ($(OS_TARGET),netbsd)
 
628
BATCHEXT=.sh
 
629
EXEEXT=
 
630
HASSHAREDLIB=1
 
631
SHORTSUFFIX=nbs
 
632
endif
 
633
ifeq ($(OS_TARGET),openbsd)
 
634
BATCHEXT=.sh
 
635
EXEEXT=
 
636
HASSHAREDLIB=1
 
637
SHORTSUFFIX=obs
 
638
endif
 
639
ifeq ($(OS_TARGET),win32)
 
640
SHAREDLIBEXT=.dll
 
641
SHORTSUFFIX=w32
 
642
endif
 
643
ifeq ($(OS_TARGET),os2)
 
644
BATCHEXT=.cmd
 
645
AOUTEXT=.out
 
646
STATICLIBPREFIX=
 
647
SHAREDLIBEXT=.dll
 
648
SHORTSUFFIX=os2
 
649
ECHO=echo
 
650
endif
 
651
ifeq ($(OS_TARGET),emx)
 
652
BATCHEXT=.cmd
 
653
AOUTEXT=.out
 
654
STATICLIBPREFIX=
 
655
SHAREDLIBEXT=.dll
 
656
SHORTSUFFIX=emx
 
657
ECHO=echo
 
658
endif
 
659
ifeq ($(OS_TARGET),amiga)
 
660
EXEEXT=
 
661
SHAREDLIBEXT=.library
 
662
SHORTSUFFIX=amg
 
663
endif
 
664
ifeq ($(OS_TARGET),morphos)
 
665
EXEEXT=
 
666
SHAREDLIBEXT=.library
 
667
SHORTSUFFIX=mos
 
668
endif
 
669
ifeq ($(OS_TARGET),atari)
 
670
EXEEXT=.ttp
 
671
SHORTSUFFIX=ata
 
672
endif
 
673
ifeq ($(OS_TARGET),beos)
 
674
BATCHEXT=.sh
 
675
EXEEXT=
 
676
SHORTSUFFIX=be
 
677
endif
 
678
ifeq ($(OS_TARGET),solaris)
 
679
BATCHEXT=.sh
 
680
EXEEXT=
 
681
SHORTSUFFIX=sun
 
682
endif
 
683
ifeq ($(OS_TARGET),qnx)
 
684
BATCHEXT=.sh
 
685
EXEEXT=
 
686
SHORTSUFFIX=qnx
 
687
endif
 
688
ifeq ($(OS_TARGET),netware)
 
689
EXEEXT=.nlm
 
690
STATICLIBPREFIX=
 
691
SHORTSUFFIX=nw
 
692
endif
 
693
ifeq ($(OS_TARGET),netwlibc)
 
694
EXEEXT=.nlm
 
695
STATICLIBPREFIX=
 
696
SHORTSUFFIX=nwl
 
697
endif
 
698
ifeq ($(OS_TARGET),macos)
 
699
BATCHEXT=
 
700
EXEEXT=
 
701
DEBUGSYMEXT=.xcoff
 
702
SHORTSUFFIX=mac
 
703
endif
 
704
ifeq ($(OS_TARGET),darwin)
 
705
BATCHEXT=.sh
 
706
EXEEXT=
 
707
HASSHAREDLIB=1
 
708
SHORTSUFFIX=dwn
 
709
endif
 
710
ifeq ($(OS_TARGET),gba)
 
711
EXEEXT=.gba
 
712
SHAREDLIBEXT=.so
 
713
SHORTSUFFIX=gba
 
714
endif
 
715
ifeq ($(OS_TARGET),symbian)
 
716
SHAREDLIBEXT=.dll
 
717
SHORTSUFFIX=symbian
 
718
endif
 
719
else
 
720
ifeq ($(OS_TARGET),go32v1)
 
721
PPUEXT=.pp1
 
722
OEXT=.o1
 
723
ASMEXT=.s1
 
724
SMARTEXT=.sl1
 
725
STATICLIBEXT=.a1
 
726
SHAREDLIBEXT=.so1
 
727
STATICLIBPREFIX=
 
728
SHORTSUFFIX=v1
 
729
endif
 
730
ifeq ($(OS_TARGET),go32v2)
 
731
STATICLIBPREFIX=
 
732
SHORTSUFFIX=dos
 
733
endif
 
734
ifeq ($(OS_TARGET),watcom)
 
735
STATICLIBPREFIX=
 
736
SHORTSUFFIX=wat
 
737
endif
 
738
ifeq ($(OS_TARGET),linux)
 
739
BATCHEXT=.sh
 
740
EXEEXT=
 
741
HASSHAREDLIB=1
 
742
SHORTSUFFIX=lnx
 
743
endif
 
744
ifeq ($(OS_TARGET),freebsd)
 
745
BATCHEXT=.sh
 
746
EXEEXT=
 
747
HASSHAREDLIB=1
 
748
SHORTSUFFIX=fbs
 
749
endif
 
750
ifeq ($(OS_TARGET),netbsd)
 
751
BATCHEXT=.sh
 
752
EXEEXT=
 
753
HASSHAREDLIB=1
 
754
SHORTSUFFIX=nbs
 
755
endif
 
756
ifeq ($(OS_TARGET),openbsd)
 
757
BATCHEXT=.sh
 
758
EXEEXT=
 
759
HASSHAREDLIB=1
 
760
SHORTSUFFIX=obs
 
761
endif
 
762
ifeq ($(OS_TARGET),win32)
 
763
PPUEXT=.ppw
 
764
OEXT=.ow
 
765
ASMEXT=.sw
 
766
SMARTEXT=.slw
 
767
STATICLIBEXT=.aw
 
768
SHAREDLIBEXT=.dll
 
769
SHORTSUFFIX=w32
 
770
endif
 
771
ifeq ($(OS_TARGET),os2)
 
772
BATCHEXT=.cmd
 
773
PPUEXT=.ppo
 
774
ASMEXT=.so2
 
775
OEXT=.oo2
 
776
AOUTEXT=.out
 
777
SMARTEXT=.sl2
 
778
STATICLIBPREFIX=
 
779
STATICLIBEXT=.ao2
 
780
SHAREDLIBEXT=.dll
 
781
SHORTSUFFIX=os2
 
782
ECHO=echo
 
783
endif
 
784
ifeq ($(OS_TARGET),amiga)
 
785
EXEEXT=
 
786
PPUEXT=.ppu
 
787
ASMEXT=.s
 
788
OEXT=.o
 
789
SMARTEXT=.sl
 
790
STATICLIBEXT=.a
 
791
SHAREDLIBEXT=.library
 
792
SHORTSUFFIX=amg
 
793
endif
 
794
ifeq ($(OS_TARGET),atari)
 
795
PPUEXT=.ppu
 
796
ASMEXT=.s
 
797
OEXT=.o
 
798
SMARTEXT=.sl
 
799
STATICLIBEXT=.a
 
800
EXEEXT=.ttp
 
801
SHORTSUFFIX=ata
 
802
endif
 
803
ifeq ($(OS_TARGET),beos)
 
804
BATCHEXT=.sh
 
805
PPUEXT=.ppu
 
806
ASMEXT=.s
 
807
OEXT=.o
 
808
SMARTEXT=.sl
 
809
STATICLIBEXT=.a
 
810
EXEEXT=
 
811
SHORTSUFFIX=be
 
812
endif
 
813
ifeq ($(OS_TARGET),solaris)
 
814
BATCHEXT=.sh
 
815
PPUEXT=.ppu
 
816
ASMEXT=.s
 
817
OEXT=.o
 
818
SMARTEXT=.sl
 
819
STATICLIBEXT=.a
 
820
EXEEXT=
 
821
SHORTSUFFIX=sun
 
822
endif
 
823
ifeq ($(OS_TARGET),qnx)
 
824
BATCHEXT=.sh
 
825
PPUEXT=.ppu
 
826
ASMEXT=.s
 
827
OEXT=.o
 
828
SMARTEXT=.sl
 
829
STATICLIBEXT=.a
 
830
EXEEXT=
 
831
SHORTSUFFIX=qnx
 
832
endif
 
833
ifeq ($(OS_TARGET),netware)
 
834
STATICLIBPREFIX=
 
835
PPUEXT=.ppu
 
836
OEXT=.o
 
837
ASMEXT=.s
 
838
SMARTEXT=.sl
 
839
STATICLIBEXT=.a
 
840
SHAREDLIBEXT=.nlm
 
841
EXEEXT=.nlm
 
842
SHORTSUFFIX=nw
 
843
endif
 
844
ifeq ($(OS_TARGET),netwlibc)
 
845
STATICLIBPREFIX=
 
846
PPUEXT=.ppu
 
847
OEXT=.o
 
848
ASMEXT=.s
 
849
SMARTEXT=.sl
 
850
STATICLIBEXT=.a
 
851
SHAREDLIBEXT=.nlm
 
852
EXEEXT=.nlm
 
853
SHORTSUFFIX=nwl
 
854
endif
 
855
ifeq ($(OS_TARGET),macos)
 
856
BATCHEXT=
 
857
PPUEXT=.ppu
 
858
ASMEXT=.s
 
859
OEXT=.o
 
860
SMARTEXT=.sl
 
861
STATICLIBEXT=.a
 
862
EXEEXT=
 
863
DEBUGSYMEXT=.xcoff
 
864
SHORTSUFFIX=mac
 
865
endif
 
866
endif
 
867
ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 
868
FPCMADE=fpcmade.$(SHORTSUFFIX)
 
869
ZIPSUFFIX=$(SHORTSUFFIX)
 
870
ZIPCROSSPREFIX=
 
871
ZIPSOURCESUFFIX=src
 
872
ZIPEXAMPLESUFFIX=exm
 
873
else
 
874
FPCMADE=fpcmade.$(TARGETSUFFIX)
 
875
ZIPSOURCESUFFIX=.source
 
876
ZIPEXAMPLESUFFIX=.examples
 
877
ifdef CROSSCOMPILE
 
878
ZIPSUFFIX=.$(SOURCESUFFIX)
 
879
ZIPCROSSPREFIX=$(TARGETSUFFIX)-
 
880
else
 
881
ZIPSUFFIX=.$(TARGETSUFFIX)
 
882
ZIPCROSSPREFIX=
 
883
endif
 
884
endif
 
885
ifndef ECHO
 
886
ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 
887
ifeq ($(ECHO),)
 
888
ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 
889
ifeq ($(ECHO),)
 
890
ECHO= __missing_command_ECHO
 
891
else
 
892
ECHO:=$(firstword $(ECHO))
 
893
endif
 
894
else
 
895
ECHO:=$(firstword $(ECHO))
 
896
endif
 
897
endif
 
898
export ECHO
 
899
ifndef DATE
 
900
DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 
901
ifeq ($(DATE),)
 
902
DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 
903
ifeq ($(DATE),)
 
904
DATE= __missing_command_DATE
 
905
else
 
906
DATE:=$(firstword $(DATE))
 
907
endif
 
908
else
 
909
DATE:=$(firstword $(DATE))
 
910
endif
 
911
endif
 
912
export DATE
 
913
ifndef GINSTALL
 
914
GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 
915
ifeq ($(GINSTALL),)
 
916
GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 
917
ifeq ($(GINSTALL),)
 
918
GINSTALL= __missing_command_GINSTALL
 
919
else
 
920
GINSTALL:=$(firstword $(GINSTALL))
 
921
endif
 
922
else
 
923
GINSTALL:=$(firstword $(GINSTALL))
 
924
endif
 
925
endif
 
926
export GINSTALL
 
927
ifndef CPPROG
 
928
CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 
929
ifeq ($(CPPROG),)
 
930
CPPROG= __missing_command_CPPROG
 
931
else
 
932
CPPROG:=$(firstword $(CPPROG))
 
933
endif
 
934
endif
 
935
export CPPROG
 
936
ifndef RMPROG
 
937
RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 
938
ifeq ($(RMPROG),)
 
939
RMPROG= __missing_command_RMPROG
 
940
else
 
941
RMPROG:=$(firstword $(RMPROG))
 
942
endif
 
943
endif
 
944
export RMPROG
 
945
ifndef MVPROG
 
946
MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 
947
ifeq ($(MVPROG),)
 
948
MVPROG= __missing_command_MVPROG
 
949
else
 
950
MVPROG:=$(firstword $(MVPROG))
 
951
endif
 
952
endif
 
953
export MVPROG
 
954
ifndef MKDIRPROG
 
955
MKDIRPROG:=$(strip $(wildcard $(addsuffix /gmkdir$(SRCEXEEXT),$(SEARCHPATH))))
 
956
ifeq ($(MKDIRPROG),)
 
957
MKDIRPROG:=$(strip $(wildcard $(addsuffix /mkdir$(SRCEXEEXT),$(SEARCHPATH))))
 
958
ifeq ($(MKDIRPROG),)
 
959
MKDIRPROG= __missing_command_MKDIRPROG
 
960
else
 
961
MKDIRPROG:=$(firstword $(MKDIRPROG))
 
962
endif
 
963
else
 
964
MKDIRPROG:=$(firstword $(MKDIRPROG))
 
965
endif
 
966
endif
 
967
export MKDIRPROG
 
968
ifndef ECHOREDIR
 
969
ifndef inUnix
 
970
ECHOREDIR=echo
 
971
else
 
972
ECHOREDIR=$(ECHO)
 
973
endif
 
974
endif
 
975
ifndef COPY
 
976
COPY:=$(CPPROG) -fp
 
977
endif
 
978
ifndef COPYTREE
 
979
COPYTREE:=$(CPPROG) -Rfp
 
980
endif
 
981
ifndef MKDIRTREE
 
982
MKDIRTREE:=$(MKDIRPROG) -p
 
983
endif
 
984
ifndef MOVE
 
985
MOVE:=$(MVPROG) -f
 
986
endif
 
987
ifndef DEL
 
988
DEL:=$(RMPROG) -f
 
989
endif
 
990
ifndef DELTREE
 
991
DELTREE:=$(RMPROG) -rf
 
992
endif
 
993
ifndef INSTALL
 
994
ifdef inUnix
 
995
INSTALL:=$(GINSTALL) -c -m 644
 
996
else
 
997
INSTALL:=$(COPY)
 
998
endif
 
999
endif
 
1000
ifndef INSTALLEXE
 
1001
ifdef inUnix
 
1002
INSTALLEXE:=$(GINSTALL) -c -m 755
 
1003
else
 
1004
INSTALLEXE:=$(COPY)
 
1005
endif
 
1006
endif
 
1007
ifndef MKDIR
 
1008
MKDIR:=$(GINSTALL) -m 755 -d
 
1009
endif
 
1010
export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 
1011
ifndef PPUMOVE
 
1012
PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 
1013
ifeq ($(PPUMOVE),)
 
1014
PPUMOVE= __missing_command_PPUMOVE
 
1015
else
 
1016
PPUMOVE:=$(firstword $(PPUMOVE))
 
1017
endif
 
1018
endif
 
1019
export PPUMOVE
 
1020
ifndef FPCMAKE
 
1021
FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 
1022
ifeq ($(FPCMAKE),)
 
1023
FPCMAKE= __missing_command_FPCMAKE
 
1024
else
 
1025
FPCMAKE:=$(firstword $(FPCMAKE))
 
1026
endif
 
1027
endif
 
1028
export FPCMAKE
 
1029
ifndef ZIPPROG
 
1030
ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 
1031
ifeq ($(ZIPPROG),)
 
1032
ZIPPROG= __missing_command_ZIPPROG
 
1033
else
 
1034
ZIPPROG:=$(firstword $(ZIPPROG))
 
1035
endif
 
1036
endif
 
1037
export ZIPPROG
 
1038
ifndef TARPROG
 
1039
TARPROG:=$(strip $(wildcard $(addsuffix /gtar$(SRCEXEEXT),$(SEARCHPATH))))
 
1040
ifeq ($(TARPROG),)
 
1041
TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 
1042
ifeq ($(TARPROG),)
 
1043
TARPROG= __missing_command_TARPROG
 
1044
else
 
1045
TARPROG:=$(firstword $(TARPROG))
 
1046
endif
 
1047
else
 
1048
TARPROG:=$(firstword $(TARPROG))
 
1049
endif
 
1050
endif
 
1051
export TARPROG
 
1052
ASNAME=$(BINUTILSPREFIX)as
 
1053
LDNAME=$(BINUTILSPREFIX)ld
 
1054
ARNAME=$(BINUTILSPREFIX)ar
 
1055
RCNAME=$(BINUTILSPREFIX)rc
 
1056
ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 
1057
ifeq ($(OS_TARGET),win32)
 
1058
ifeq ($(CROSSBINDIR),)
 
1059
ASNAME=asw
 
1060
LDNAME=ldw
 
1061
ARNAME=arw
 
1062
endif
 
1063
endif
 
1064
endif
 
1065
ifndef ASPROG
 
1066
ifdef CROSSBINDIR
 
1067
ASPROG=$(CROSSBINDIR)/$(ASNAME)$(SRCEXEEXT)
 
1068
else
 
1069
ASPROG=$(ASNAME)
 
1070
endif
 
1071
endif
 
1072
ifndef LDPROG
 
1073
ifdef CROSSBINDIR
 
1074
LDPROG=$(CROSSBINDIR)/$(LDNAME)$(SRCEXEEXT)
 
1075
else
 
1076
LDPROG=$(LDNAME)
 
1077
endif
 
1078
endif
 
1079
ifndef RCPROG
 
1080
ifdef CROSSBINDIR
 
1081
RCPROG=$(CROSSBINDIR)/$(RCNAME)$(SRCEXEEXT)
 
1082
else
 
1083
RCPROG=$(RCNAME)
 
1084
endif
 
1085
endif
 
1086
ifndef ARPROG
 
1087
ifdef CROSSBINDIR
 
1088
ARPROG=$(CROSSBINDIR)/$(ARNAME)$(SRCEXEEXT)
 
1089
else
 
1090
ARPROG=$(ARNAME)
 
1091
endif
 
1092
endif
 
1093
AS=$(ASPROG)
 
1094
LD=$(LDPROG)
 
1095
RC=$(RCPROG)
 
1096
AR=$(ARPROG)
 
1097
PPAS=ppas$(SRCBATCHEXT)
 
1098
ifdef inUnix
 
1099
LDCONFIG=ldconfig
 
1100
else
 
1101
LDCONFIG=
 
1102
endif
 
1103
ifdef DATE
 
1104
DATESTR:=$(shell $(DATE) +%Y%m%d)
 
1105
else
 
1106
DATESTR=
 
1107
endif
 
1108
ifndef UPXPROG
 
1109
ifeq ($(OS_TARGET),go32v2)
 
1110
UPXPROG:=1
 
1111
endif
 
1112
ifeq ($(OS_TARGET),win32)
 
1113
UPXPROG:=1
 
1114
endif
 
1115
ifdef UPXPROG
 
1116
UPXPROG:=$(strip $(wildcard $(addsuffix /upx$(SRCEXEEXT),$(SEARCHPATH))))
 
1117
ifeq ($(UPXPROG),)
 
1118
UPXPROG=
 
1119
else
 
1120
UPXPROG:=$(firstword $(UPXPROG))
 
1121
endif
 
1122
else
 
1123
UPXPROG=
 
1124
endif
 
1125
endif
 
1126
export UPXPROG
 
1127
ZIPOPT=-9
 
1128
ZIPEXT=.zip
 
1129
ifeq ($(USETAR),bz2)
 
1130
TAROPT=vj
 
1131
TAREXT=.tar.bz2
 
1132
else
 
1133
TAROPT=vz
 
1134
TAREXT=.tar.gz
 
1135
endif
 
1136
override REQUIRE_PACKAGES=rtl 
 
1137
ifeq ($(FULL_TARGET),i386-linux)
 
1138
REQUIRE_PACKAGES_RTL=1
 
1139
endif
 
1140
ifeq ($(FULL_TARGET),i386-go32v2)
 
1141
REQUIRE_PACKAGES_RTL=1
 
1142
endif
 
1143
ifeq ($(FULL_TARGET),i386-win32)
 
1144
REQUIRE_PACKAGES_RTL=1
 
1145
endif
 
1146
ifeq ($(FULL_TARGET),i386-os2)
 
1147
REQUIRE_PACKAGES_RTL=1
 
1148
endif
 
1149
ifeq ($(FULL_TARGET),i386-freebsd)
 
1150
REQUIRE_PACKAGES_RTL=1
 
1151
endif
 
1152
ifeq ($(FULL_TARGET),i386-beos)
 
1153
REQUIRE_PACKAGES_RTL=1
 
1154
endif
 
1155
ifeq ($(FULL_TARGET),i386-netbsd)
 
1156
REQUIRE_PACKAGES_RTL=1
 
1157
endif
 
1158
ifeq ($(FULL_TARGET),i386-solaris)
 
1159
REQUIRE_PACKAGES_RTL=1
 
1160
endif
 
1161
ifeq ($(FULL_TARGET),i386-qnx)
 
1162
REQUIRE_PACKAGES_RTL=1
 
1163
endif
 
1164
ifeq ($(FULL_TARGET),i386-netware)
 
1165
REQUIRE_PACKAGES_RTL=1
 
1166
endif
 
1167
ifeq ($(FULL_TARGET),i386-openbsd)
 
1168
REQUIRE_PACKAGES_RTL=1
 
1169
endif
 
1170
ifeq ($(FULL_TARGET),i386-wdosx)
 
1171
REQUIRE_PACKAGES_RTL=1
 
1172
endif
 
1173
ifeq ($(FULL_TARGET),i386-darwin)
 
1174
REQUIRE_PACKAGES_RTL=1
 
1175
endif
 
1176
ifeq ($(FULL_TARGET),i386-emx)
 
1177
REQUIRE_PACKAGES_RTL=1
 
1178
endif
 
1179
ifeq ($(FULL_TARGET),i386-watcom)
 
1180
REQUIRE_PACKAGES_RTL=1
 
1181
endif
 
1182
ifeq ($(FULL_TARGET),i386-netwlibc)
 
1183
REQUIRE_PACKAGES_RTL=1
 
1184
endif
 
1185
ifeq ($(FULL_TARGET),i386-wince)
 
1186
REQUIRE_PACKAGES_RTL=1
 
1187
endif
 
1188
ifeq ($(FULL_TARGET),i386-embedded)
 
1189
REQUIRE_PACKAGES_RTL=1
 
1190
endif
 
1191
ifeq ($(FULL_TARGET),i386-symbian)
 
1192
REQUIRE_PACKAGES_RTL=1
 
1193
endif
 
1194
ifeq ($(FULL_TARGET),m68k-linux)
 
1195
REQUIRE_PACKAGES_RTL=1
 
1196
endif
 
1197
ifeq ($(FULL_TARGET),m68k-freebsd)
 
1198
REQUIRE_PACKAGES_RTL=1
 
1199
endif
 
1200
ifeq ($(FULL_TARGET),m68k-netbsd)
 
1201
REQUIRE_PACKAGES_RTL=1
 
1202
endif
 
1203
ifeq ($(FULL_TARGET),m68k-amiga)
 
1204
REQUIRE_PACKAGES_RTL=1
 
1205
endif
 
1206
ifeq ($(FULL_TARGET),m68k-atari)
 
1207
REQUIRE_PACKAGES_RTL=1
 
1208
endif
 
1209
ifeq ($(FULL_TARGET),m68k-openbsd)
 
1210
REQUIRE_PACKAGES_RTL=1
 
1211
endif
 
1212
ifeq ($(FULL_TARGET),m68k-palmos)
 
1213
REQUIRE_PACKAGES_RTL=1
 
1214
endif
 
1215
ifeq ($(FULL_TARGET),m68k-embedded)
 
1216
REQUIRE_PACKAGES_RTL=1
 
1217
endif
 
1218
ifeq ($(FULL_TARGET),powerpc-linux)
 
1219
REQUIRE_PACKAGES_RTL=1
 
1220
endif
 
1221
ifeq ($(FULL_TARGET),powerpc-netbsd)
 
1222
REQUIRE_PACKAGES_RTL=1
 
1223
endif
 
1224
ifeq ($(FULL_TARGET),powerpc-amiga)
 
1225
REQUIRE_PACKAGES_RTL=1
 
1226
endif
 
1227
ifeq ($(FULL_TARGET),powerpc-macos)
 
1228
REQUIRE_PACKAGES_RTL=1
 
1229
endif
 
1230
ifeq ($(FULL_TARGET),powerpc-darwin)
 
1231
REQUIRE_PACKAGES_RTL=1
 
1232
endif
 
1233
ifeq ($(FULL_TARGET),powerpc-morphos)
 
1234
REQUIRE_PACKAGES_RTL=1
 
1235
endif
 
1236
ifeq ($(FULL_TARGET),powerpc-embedded)
 
1237
REQUIRE_PACKAGES_RTL=1
 
1238
endif
 
1239
ifeq ($(FULL_TARGET),sparc-linux)
 
1240
REQUIRE_PACKAGES_RTL=1
 
1241
endif
 
1242
ifeq ($(FULL_TARGET),sparc-netbsd)
 
1243
REQUIRE_PACKAGES_RTL=1
 
1244
endif
 
1245
ifeq ($(FULL_TARGET),sparc-solaris)
 
1246
REQUIRE_PACKAGES_RTL=1
 
1247
endif
 
1248
ifeq ($(FULL_TARGET),sparc-embedded)
 
1249
REQUIRE_PACKAGES_RTL=1
 
1250
endif
 
1251
ifeq ($(FULL_TARGET),x86_64-linux)
 
1252
REQUIRE_PACKAGES_RTL=1
 
1253
endif
 
1254
ifeq ($(FULL_TARGET),x86_64-freebsd)
 
1255
REQUIRE_PACKAGES_RTL=1
 
1256
endif
 
1257
ifeq ($(FULL_TARGET),x86_64-win64)
 
1258
REQUIRE_PACKAGES_RTL=1
 
1259
endif
 
1260
ifeq ($(FULL_TARGET),x86_64-embedded)
 
1261
REQUIRE_PACKAGES_RTL=1
 
1262
endif
 
1263
ifeq ($(FULL_TARGET),arm-linux)
 
1264
REQUIRE_PACKAGES_RTL=1
 
1265
endif
 
1266
ifeq ($(FULL_TARGET),arm-palmos)
 
1267
REQUIRE_PACKAGES_RTL=1
 
1268
endif
 
1269
ifeq ($(FULL_TARGET),arm-wince)
 
1270
REQUIRE_PACKAGES_RTL=1
 
1271
endif
 
1272
ifeq ($(FULL_TARGET),arm-gba)
 
1273
REQUIRE_PACKAGES_RTL=1
 
1274
endif
 
1275
ifeq ($(FULL_TARGET),arm-nds)
 
1276
REQUIRE_PACKAGES_RTL=1
 
1277
endif
 
1278
ifeq ($(FULL_TARGET),arm-embedded)
 
1279
REQUIRE_PACKAGES_RTL=1
 
1280
endif
 
1281
ifeq ($(FULL_TARGET),arm-symbian)
 
1282
REQUIRE_PACKAGES_RTL=1
 
1283
endif
 
1284
ifeq ($(FULL_TARGET),powerpc64-linux)
 
1285
REQUIRE_PACKAGES_RTL=1
 
1286
endif
 
1287
ifeq ($(FULL_TARGET),powerpc64-embedded)
 
1288
REQUIRE_PACKAGES_RTL=1
 
1289
endif
 
1290
ifdef REQUIRE_PACKAGES_RTL
 
1291
PACKAGEDIR_RTL:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /rtl/Makefile.fpc,$(PACKAGESDIR))))))
 
1292
ifneq ($(PACKAGEDIR_RTL),)
 
1293
ifneq ($(wildcard $(PACKAGEDIR_RTL)/units/$(TARGETSUFFIX)),)
 
1294
UNITDIR_RTL=$(PACKAGEDIR_RTL)/units/$(TARGETSUFFIX)
 
1295
else
 
1296
UNITDIR_RTL=$(PACKAGEDIR_RTL)
 
1297
endif
 
1298
ifdef CHECKDEPEND
 
1299
$(PACKAGEDIR_RTL)/$(FPCMADE):
 
1300
        $(MAKE) -C $(PACKAGEDIR_RTL) $(FPCMADE)
 
1301
override ALLDEPENDENCIES+=$(PACKAGEDIR_RTL)/$(FPCMADE)
 
1302
endif
 
1303
else
 
1304
PACKAGEDIR_RTL=
 
1305
UNITDIR_RTL:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /rtl/Package.fpc,$(UNITSDIR)))))
 
1306
ifneq ($(UNITDIR_RTL),)
 
1307
UNITDIR_RTL:=$(firstword $(UNITDIR_RTL))
 
1308
else
 
1309
UNITDIR_RTL=
 
1310
endif
 
1311
endif
 
1312
ifdef UNITDIR_RTL
 
1313
override COMPILER_UNITDIR+=$(UNITDIR_RTL)
 
1314
endif
 
1315
endif
 
1316
ifndef NOCPUDEF
 
1317
override FPCOPTDEF=$(CPU_TARGET)
 
1318
endif
 
1319
ifneq ($(OS_TARGET),$(OS_SOURCE))
 
1320
override FPCOPT+=-T$(OS_TARGET)
 
1321
endif
 
1322
ifneq ($(CPU_TARGET),$(CPU_SOURCE))
 
1323
override FPCOPT+=-P$(CPU_TARGET)
 
1324
endif
 
1325
ifeq ($(OS_SOURCE),openbsd)
 
1326
override FPCOPT+=-FD$(NEW_BINUTILS_PATH)
 
1327
endif
 
1328
ifndef CROSSBOOTSTRAP
 
1329
ifneq ($(BINUTILSPREFIX),)
 
1330
override FPCOPT+=-XP$(BINUTILSPREFIX) 
 
1331
endif
 
1332
ifneq ($(BINUTILSPREFIX),)
 
1333
override FPCOPT+=-Xr$(RLINKPATH)
 
1334
endif
 
1335
endif
 
1336
ifdef UNITDIR
 
1337
override FPCOPT+=$(addprefix -Fu,$(UNITDIR))
 
1338
endif
 
1339
ifdef LIBDIR
 
1340
override FPCOPT+=$(addprefix -Fl,$(LIBDIR))
 
1341
endif
 
1342
ifdef OBJDIR
 
1343
override FPCOPT+=$(addprefix -Fo,$(OBJDIR))
 
1344
endif
 
1345
ifdef INCDIR
 
1346
override FPCOPT+=$(addprefix -Fi,$(INCDIR))
 
1347
endif
 
1348
ifdef LINKSMART
 
1349
override FPCOPT+=-XX
 
1350
endif
 
1351
ifdef CREATESMART
 
1352
override FPCOPT+=-CX
 
1353
endif
 
1354
ifdef DEBUG
 
1355
override FPCOPT+=-gl
 
1356
override FPCOPTDEF+=DEBUG
 
1357
endif
 
1358
ifdef RELEASE
 
1359
ifneq ($(findstring 2.0.,$(FPC_VERSION)),)
 
1360
ifeq ($(CPU_TARGET),i386)
 
1361
FPCCPUOPT:=-OG2p3
 
1362
endif
 
1363
ifeq ($(CPU_TARGET),powerpc)
 
1364
FPCCPUOPT:=-O1r
 
1365
endif
 
1366
else
 
1367
FPCCPUOPT:=-O2
 
1368
endif
 
1369
override FPCOPT+=-Ur -Xs $(FPCCPUOPT) -n
 
1370
override FPCOPTDEF+=RELEASE
 
1371
endif
 
1372
ifdef STRIP
 
1373
override FPCOPT+=-Xs
 
1374
endif
 
1375
ifdef OPTIMIZE
 
1376
override FPCOPT+=-O2
 
1377
endif
 
1378
ifdef VERBOSE
 
1379
override FPCOPT+=-vwni
 
1380
endif
 
1381
ifdef COMPILER_OPTIONS
 
1382
override FPCOPT+=$(COMPILER_OPTIONS)
 
1383
endif
 
1384
ifdef COMPILER_UNITDIR
 
1385
override FPCOPT+=$(addprefix -Fu,$(COMPILER_UNITDIR))
 
1386
endif
 
1387
ifdef COMPILER_LIBRARYDIR
 
1388
override FPCOPT+=$(addprefix -Fl,$(COMPILER_LIBRARYDIR))
 
1389
endif
 
1390
ifdef COMPILER_OBJECTDIR
 
1391
override FPCOPT+=$(addprefix -Fo,$(COMPILER_OBJECTDIR))
 
1392
endif
 
1393
ifdef COMPILER_INCLUDEDIR
 
1394
override FPCOPT+=$(addprefix -Fi,$(COMPILER_INCLUDEDIR))
 
1395
endif
 
1396
ifdef CROSSBINDIR
 
1397
override FPCOPT+=-FD$(CROSSBINDIR)
 
1398
endif
 
1399
ifdef COMPILER_TARGETDIR
 
1400
override FPCOPT+=-FE$(COMPILER_TARGETDIR)
 
1401
ifeq ($(COMPILER_TARGETDIR),.)
 
1402
override TARGETDIRPREFIX=
 
1403
else
 
1404
override TARGETDIRPREFIX=$(COMPILER_TARGETDIR)/
 
1405
endif
 
1406
endif
 
1407
ifdef COMPILER_UNITTARGETDIR
 
1408
override FPCOPT+=-FU$(COMPILER_UNITTARGETDIR)
 
1409
ifeq ($(COMPILER_UNITTARGETDIR),.)
 
1410
override UNITTARGETDIRPREFIX=
 
1411
else
 
1412
override UNITTARGETDIRPREFIX=$(COMPILER_UNITTARGETDIR)/
 
1413
endif
 
1414
else
 
1415
ifdef COMPILER_TARGETDIR
 
1416
override COMPILER_UNITTARGETDIR=$(COMPILER_TARGETDIR)
 
1417
override UNITTARGETDIRPREFIX=$(TARGETDIRPREFIX)
 
1418
endif
 
1419
endif
 
1420
ifdef CREATESHARED
 
1421
override FPCOPT+=-Cg
 
1422
ifeq ($(CPU_TARGET),i386)
 
1423
override FPCOPT+=-Aas
 
1424
endif
 
1425
endif
 
1426
ifeq ($(findstring 2.0.,$(FPC_VERSION)),)
 
1427
ifeq ($(OS_TARGET),linux)
 
1428
ifeq ($(CPU_TARGET),x86_64)
 
1429
override FPCOPT+=-Cg
 
1430
endif
 
1431
endif
 
1432
endif
 
1433
ifdef LINKSHARED
 
1434
endif
 
1435
ifdef OPT
 
1436
override FPCOPT+=$(OPT)
 
1437
endif
 
1438
ifdef FPCOPTDEF
 
1439
override FPCOPT+=$(addprefix -d,$(FPCOPTDEF))
 
1440
endif
 
1441
ifdef CFGFILE
 
1442
override FPCOPT+=@$(CFGFILE)
 
1443
endif
 
1444
ifdef USEENV
 
1445
override FPCEXTCMD:=$(FPCOPT)
 
1446
override FPCOPT:=!FPCEXTCMD
 
1447
export FPCEXTCMD
 
1448
endif
 
1449
override AFULL_TARGET=$(CPU_TARGET)-$(OS_TARGET)
 
1450
override AFULL_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE)
 
1451
ifneq ($(AFULL_TARGET),$(AFULL_SOURCE))
 
1452
override ACROSSCOMPILE=1
 
1453
endif
 
1454
ifdef ACROSSCOMPILE
 
1455
override FPCOPT+=$(CROSSOPT)
 
1456
endif
 
1457
override COMPILER:=$(FPC) $(FPCOPT)
 
1458
ifeq (,$(findstring -s ,$(COMPILER)))
 
1459
EXECPPAS=
 
1460
else
 
1461
ifeq ($(FULL_SOURCE),$(FULL_TARGET))
 
1462
EXECPPAS:=@$(PPAS)
 
1463
endif
 
1464
endif
 
1465
ifdef TARGET_RSTS
 
1466
override RSTFILES=$(addsuffix $(RSTEXT),$(TARGET_RSTS))
 
1467
override CLEANRSTFILES+=$(RSTFILES)
 
1468
endif
 
1469
.PHONY: fpc_examples
 
1470
ifneq ($(TARGET_EXAMPLES),)
 
1471
HASEXAMPLES=1
 
1472
override EXAMPLESOURCEFILES:=$(wildcard $(addsuffix .pp,$(TARGET_EXAMPLES)) $(addsuffix .pas,$(TARGET_EXAMPLES)) $(addsuffix .lpr,$(TARGET_EXAMPLES)) $(addsuffix .dpr,$(TARGET_EXAMPLES)))
 
1473
override EXAMPLEFILES:=$(addsuffix $(EXEEXT),$(TARGET_EXAMPLES))
 
1474
override EXAMPLEOFILES:=$(addsuffix $(OEXT),$(TARGET_EXAMPLES)) $(addprefix $(STATICLIBPREFIX),$(addsuffix $(STATICLIBEXT),$(TARGET_EXAMPLES))) $(addprefix $(IMPORTLIBPREFIX),$(addsuffix $(STATICLIBEXT),$(TARGET_EXAMPLES)))
 
1475
override CLEANEXEFILES+=$(EXAMPLEFILES) $(EXAMPLEOFILES)
 
1476
ifeq ($(OS_TARGET),os2)
 
1477
override CLEANEXEFILES+=$(addsuffix $(AOUTEXT),$(TARGET_EXAMPLES))
 
1478
endif
 
1479
ifeq ($(OS_TARGET),emx)
 
1480
override CLEANEXEFILES+=$(addsuffix $(AOUTEXT),$(TARGET_EXAMPLES))
 
1481
endif
 
1482
endif
 
1483
ifneq ($(TARGET_EXAMPLEDIRS),)
 
1484
HASEXAMPLES=1
 
1485
endif
 
1486
fpc_examples: all $(EXAMPLEFILES) $(addsuffix _all,$(TARGET_EXAMPLEDIRS))
 
1487
.PHONY: fpc_all fpc_smart fpc_debug fpc_release fpc_shared
 
1488
$(FPCMADE): $(ALLDEPENDENCIES) $(ALLTARGET)
 
1489
        @$(ECHOREDIR) Compiled > $(FPCMADE)
 
1490
fpc_all: $(FPCMADE)
 
1491
fpc_smart:
 
1492
        $(MAKE) all LINKSMART=1 CREATESMART=1
 
1493
fpc_debug:
 
1494
        $(MAKE) all DEBUG=1
 
1495
fpc_release:
 
1496
        $(MAKE) all RELEASE=1
 
1497
.SUFFIXES: $(EXEEXT) $(PPUEXT) $(OEXT) .pas .lpr .dpr .pp .rc .res
 
1498
$(COMPILER_UNITTARGETDIR):
 
1499
        $(MKDIRTREE) $(COMPILER_UNITTARGETDIR)
 
1500
$(COMPILER_TARGETDIR):
 
1501
        $(MKDIRTREE) $(COMPILER_TARGETDIR)
 
1502
%$(PPUEXT): %.pp
 
1503
        $(COMPILER) $<
 
1504
        $(EXECPPAS)
 
1505
%$(PPUEXT): %.pas
 
1506
        $(COMPILER) $<
 
1507
        $(EXECPPAS)
 
1508
%$(EXEEXT): %.pp
 
1509
        $(COMPILER) $<
 
1510
        $(EXECPPAS)
 
1511
%$(EXEEXT): %.pas
 
1512
        $(COMPILER) $<
 
1513
        $(EXECPPAS)
 
1514
%$(EXEEXT): %.lpr
 
1515
        $(COMPILER) $<
 
1516
        $(EXECPPAS)
 
1517
%$(EXEEXT): %.dpr
 
1518
        $(COMPILER) $<
 
1519
        $(EXECPPAS)
 
1520
%.res: %.rc
 
1521
        windres -i $< -o $@
 
1522
vpath %.pp $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
 
1523
vpath %.pas $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
 
1524
vpath %.lpr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
 
1525
vpath %.dpr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
 
1526
vpath %.inc $(COMPILER_INCLUDEDIR)
 
1527
vpath %$(OEXT) $(COMPILER_UNITTARGETDIR)
 
1528
vpath %$(PPUEXT) $(COMPILER_UNITTARGETDIR)
 
1529
.PHONY: fpc_shared
 
1530
override INSTALLTARGET+=fpc_shared_install
 
1531
ifndef SHARED_LIBVERSION
 
1532
SHARED_LIBVERSION=$(FPC_VERSION)
 
1533
endif
 
1534
ifndef SHARED_LIBNAME
 
1535
SHARED_LIBNAME=$(PACKAGE_NAME)
 
1536
endif
 
1537
ifndef SHARED_FULLNAME
 
1538
SHARED_FULLNAME=$(SHAREDLIBPREFIX)$(SHARED_LIBNAME)-$(SHARED_LIBVERSION)$(SHAREDLIBEXT)
 
1539
endif
 
1540
ifndef SHARED_LIBUNITS
 
1541
SHARED_LIBUNITS:=$(TARGET_UNITS) $(TARGET_IMPLICITUNITS)
 
1542
override SHARED_LIBUNITS:=$(filter-out $(INSTALL_BUILDUNIT),$(SHARED_LIBUNITS))
 
1543
endif
 
1544
fpc_shared:
 
1545
ifdef HASSHAREDLIB
 
1546
        $(MAKE) all CREATESHARED=1 LINKSHARED=1 CREATESMART=1
 
1547
ifneq ($(SHARED_BUILD),n)
 
1548
        $(PPUMOVE) -q $(SHARED_LIBUNITS) -i$(COMPILER_UNITTARGETDIR) -o$(SHARED_FULLNAME) -d$(COMPILER_UNITTARGETDIR)
 
1549
endif
 
1550
else
 
1551
        @$(ECHO) Shared Libraries not supported
 
1552
endif
 
1553
fpc_shared_install:
 
1554
ifneq ($(SHARED_BUILD),n)
 
1555
ifneq ($(SHARED_LIBUNITS),)
 
1556
ifneq ($(wildcard $(COMPILER_UNITTARGETDIR)/$(SHARED_FULLNAME)),)
 
1557
        $(INSTALL) $(COMPILER_UNITTARGETDIR)/$(SHARED_FULLNAME) $(INSTALL_SHAREDDIR)
 
1558
endif
 
1559
endif
 
1560
endif
 
1561
.PHONY: fpc_install fpc_sourceinstall fpc_exampleinstall
 
1562
ifdef INSTALL_UNITS
 
1563
override INSTALLPPUFILES+=$(addsuffix $(PPUEXT),$(INSTALL_UNITS))
 
1564
endif
 
1565
ifdef INSTALL_BUILDUNIT
 
1566
override INSTALLPPUFILES:=$(filter-out $(INSTALL_BUILDUNIT)$(PPUEXT),$(INSTALLPPUFILES))
 
1567
endif
 
1568
ifdef INSTALLPPUFILES
 
1569
override INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES))) $(addprefix $(IMPORTLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES)))
 
1570
ifneq ($(UNITTARGETDIRPREFIX),)
 
1571
override INSTALLPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(notdir $(INSTALLPPUFILES)))
 
1572
override INSTALLPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(notdir $(INSTALLPPULINKFILES))))
 
1573
endif
 
1574
override INSTALL_CREATEPACKAGEFPC=1
 
1575
endif
 
1576
ifdef INSTALLEXEFILES
 
1577
ifneq ($(TARGETDIRPREFIX),)
 
1578
override INSTALLEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(notdir $(INSTALLEXEFILES)))
 
1579
endif
 
1580
endif
 
1581
fpc_install: all $(INSTALLTARGET)
 
1582
ifdef INSTALLEXEFILES
 
1583
        $(MKDIR) $(INSTALL_BINDIR)
 
1584
ifdef UPXPROG
 
1585
        -$(UPXPROG) $(INSTALLEXEFILES)
 
1586
endif
 
1587
        $(INSTALLEXE) $(INSTALLEXEFILES) $(INSTALL_BINDIR)
 
1588
endif
 
1589
ifdef INSTALL_CREATEPACKAGEFPC
 
1590
ifdef FPCMAKE
 
1591
ifdef PACKAGE_VERSION
 
1592
ifneq ($(wildcard Makefile.fpc),)
 
1593
        $(FPCMAKE) -p -T$(CPU_TARGET)-$(OS_TARGET) Makefile.fpc
 
1594
        $(MKDIR) $(INSTALL_UNITDIR)
 
1595
        $(INSTALL) Package.fpc $(INSTALL_UNITDIR)
 
1596
endif
 
1597
endif
 
1598
endif
 
1599
endif
 
1600
ifdef INSTALLPPUFILES
 
1601
        $(MKDIR) $(INSTALL_UNITDIR)
 
1602
        $(INSTALL) $(INSTALLPPUFILES) $(INSTALL_UNITDIR)
 
1603
ifneq ($(INSTALLPPULINKFILES),)
 
1604
        $(INSTALL) $(INSTALLPPULINKFILES) $(INSTALL_UNITDIR)
 
1605
endif
 
1606
ifneq ($(wildcard $(LIB_FULLNAME)),)
 
1607
        $(MKDIR) $(INSTALL_LIBDIR)
 
1608
        $(INSTALL) $(LIB_FULLNAME) $(INSTALL_LIBDIR)
 
1609
ifdef inUnix
 
1610
        ln -sf $(LIB_FULLNAME) $(INSTALL_LIBDIR)/$(LIB_NAME)
 
1611
endif
 
1612
endif
 
1613
endif
 
1614
ifdef INSTALL_FILES
 
1615
        $(MKDIR) $(INSTALL_DATADIR)
 
1616
        $(INSTALL) $(INSTALL_FILES) $(INSTALL_DATADIR)
 
1617
endif
 
1618
fpc_sourceinstall: distclean
 
1619
        $(MKDIR) $(INSTALL_SOURCEDIR)
 
1620
        $(COPYTREE) $(BASEDIR)/* $(INSTALL_SOURCEDIR)
 
1621
fpc_exampleinstall: $(addsuffix _distclean,$(TARGET_EXAMPLEDIRS))
 
1622
ifdef HASEXAMPLES
 
1623
        $(MKDIR) $(INSTALL_EXAMPLEDIR)
 
1624
endif
 
1625
ifdef EXAMPLESOURCEFILES
 
1626
        $(COPY) $(EXAMPLESOURCEFILES) $(INSTALL_EXAMPLEDIR)
 
1627
endif
 
1628
ifdef TARGET_EXAMPLEDIRS
 
1629
        $(COPYTREE) $(addsuffix /*,$(TARGET_EXAMPLEDIRS)) $(INSTALL_EXAMPLEDIR)
 
1630
endif
 
1631
.PHONY: fpc_clean fpc_cleanall fpc_distclean
 
1632
ifdef EXEFILES
 
1633
override CLEANEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(CLEANEXEFILES))
 
1634
endif
 
1635
ifdef CLEAN_UNITS
 
1636
override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 
1637
endif
 
1638
ifdef CLEANPPUFILES
 
1639
override CLEANPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES))) $(addprefix $(IMPORTLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES)))
 
1640
ifdef DEBUGSYMEXT
 
1641
override CLEANPPULINKFILES+=$(subst $(PPUEXT),$(DEBUGSYMEXT),$(CLEANPPUFILES))
 
1642
endif
 
1643
override CLEANPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPUFILES))
 
1644
override CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 
1645
endif
 
1646
fpc_clean: $(CLEANTARGET)
 
1647
ifdef CLEANEXEFILES
 
1648
        -$(DEL) $(CLEANEXEFILES)
 
1649
endif
 
1650
ifdef CLEANPPUFILES
 
1651
        -$(DEL) $(CLEANPPUFILES)
 
1652
endif
 
1653
ifneq ($(CLEANPPULINKFILES),)
 
1654
        -$(DEL) $(CLEANPPULINKFILES)
 
1655
endif
 
1656
ifdef CLEANRSTFILES
 
1657
        -$(DEL) $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANRSTFILES))
 
1658
endif
 
1659
ifdef CLEAN_FILES
 
1660
        -$(DEL) $(CLEAN_FILES)
 
1661
endif
 
1662
ifdef LIB_NAME
 
1663
        -$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 
1664
endif
 
1665
        -$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
 
1666
        -$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 
1667
fpc_cleanall: $(CLEANTARGET)
 
1668
ifdef CLEANEXEFILES
 
1669
        -$(DEL) $(CLEANEXEFILES)
 
1670
endif
 
1671
ifdef COMPILER_UNITTARGETDIR
 
1672
ifdef CLEANPPUFILES
 
1673
        -$(DEL) $(CLEANPPUFILES)
 
1674
endif
 
1675
ifneq ($(CLEANPPULINKFILES),)
 
1676
        -$(DEL) $(CLEANPPULINKFILES)
 
1677
endif
 
1678
ifdef CLEANRSTFILES
 
1679
        -$(DEL) $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANRSTFILES))
 
1680
endif
 
1681
endif
 
1682
        -$(DELTREE) units
 
1683
        -$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 
1684
ifneq ($(PPUEXT),.ppu)
 
1685
        -$(DEL) *.o *.ppu *.a
 
1686
endif
 
1687
        -$(DELTREE) *$(SMARTEXT)
 
1688
        -$(DEL) fpcmade.* Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
 
1689
        -$(DEL) *_ppas$(BATCHEXT)
 
1690
ifdef AOUTEXT
 
1691
        -$(DEL) *$(AOUTEXT)
 
1692
endif
 
1693
ifdef DEBUGSYMEXT
 
1694
        -$(DEL) *$(DEBUGSYMEXT)
 
1695
endif
 
1696
fpc_distclean: cleanall
 
1697
.PHONY: fpc_baseinfo
 
1698
override INFORULES+=fpc_baseinfo
 
1699
fpc_baseinfo:
 
1700
        @$(ECHO)
 
1701
        @$(ECHO)  == Package info ==
 
1702
        @$(ECHO)  Package Name..... $(PACKAGE_NAME)
 
1703
        @$(ECHO)  Package Version.. $(PACKAGE_VERSION)
 
1704
        @$(ECHO)
 
1705
        @$(ECHO)  == Configuration info ==
 
1706
        @$(ECHO)
 
1707
        @$(ECHO)  FPC.......... $(FPC)
 
1708
        @$(ECHO)  FPC Version.. $(FPC_VERSION)
 
1709
        @$(ECHO)  Source CPU... $(CPU_SOURCE)
 
1710
        @$(ECHO)  Target CPU... $(CPU_TARGET)
 
1711
        @$(ECHO)  Source OS.... $(OS_SOURCE)
 
1712
        @$(ECHO)  Target OS.... $(OS_TARGET)
 
1713
        @$(ECHO)  Full Source.. $(FULL_SOURCE)
 
1714
        @$(ECHO)  Full Target.. $(FULL_TARGET)
 
1715
        @$(ECHO)  SourceSuffix. $(SOURCESUFFIX)
 
1716
        @$(ECHO)  TargetSuffix. $(TARGETSUFFIX)
 
1717
        @$(ECHO)
 
1718
        @$(ECHO)  == Directory info ==
 
1719
        @$(ECHO)
 
1720
        @$(ECHO)  Required pkgs... $(REQUIRE_PACKAGES)
 
1721
        @$(ECHO)
 
1722
        @$(ECHO)  Basedir......... $(BASEDIR)
 
1723
        @$(ECHO)  FPCDir.......... $(FPCDIR)
 
1724
        @$(ECHO)  CrossBinDir..... $(CROSSBINDIR)
 
1725
        @$(ECHO)  UnitsDir........ $(UNITSDIR)
 
1726
        @$(ECHO)  PackagesDir..... $(PACKAGESDIR)
 
1727
        @$(ECHO)
 
1728
        @$(ECHO)  GCC library..... $(GCCLIBDIR)
 
1729
        @$(ECHO)  Other library... $(OTHERLIBDIR)
 
1730
        @$(ECHO)
 
1731
        @$(ECHO)  == Tools info ==
 
1732
        @$(ECHO)
 
1733
        @$(ECHO)  As........ $(AS)
 
1734
        @$(ECHO)  Ld........ $(LD)
 
1735
        @$(ECHO)  Ar........ $(AR)
 
1736
        @$(ECHO)  Rc........ $(RC)
 
1737
        @$(ECHO)
 
1738
        @$(ECHO)  Mv........ $(MVPROG)
 
1739
        @$(ECHO)  Cp........ $(CPPROG)
 
1740
        @$(ECHO)  Rm........ $(RMPROG)
 
1741
        @$(ECHO)  GInstall.. $(GINSTALL)
 
1742
        @$(ECHO)  Echo...... $(ECHO)
 
1743
        @$(ECHO)  Shell..... $(SHELL)
 
1744
        @$(ECHO)  Date...... $(DATE)
 
1745
        @$(ECHO)  FPCMake... $(FPCMAKE)
 
1746
        @$(ECHO)  PPUMove... $(PPUMOVE)
 
1747
        @$(ECHO)  Upx....... $(UPXPROG)
 
1748
        @$(ECHO)  Zip....... $(ZIPPROG)
 
1749
        @$(ECHO)
 
1750
        @$(ECHO)  == Object info ==
 
1751
        @$(ECHO)
 
1752
        @$(ECHO)  Target Loaders........ $(TARGET_LOADERS)
 
1753
        @$(ECHO)  Target Units.......... $(TARGET_UNITS)
 
1754
        @$(ECHO)  Target Implicit Units. $(TARGET_IMPLICITUNITS)
 
1755
        @$(ECHO)  Target Programs....... $(TARGET_PROGRAMS)
 
1756
        @$(ECHO)  Target Dirs........... $(TARGET_DIRS)
 
1757
        @$(ECHO)  Target Examples....... $(TARGET_EXAMPLES)
 
1758
        @$(ECHO)  Target ExampleDirs.... $(TARGET_EXAMPLEDIRS)
 
1759
        @$(ECHO)
 
1760
        @$(ECHO)  Clean Units......... $(CLEAN_UNITS)
 
1761
        @$(ECHO)  Clean Files......... $(CLEAN_FILES)
 
1762
        @$(ECHO)
 
1763
        @$(ECHO)  Install Units....... $(INSTALL_UNITS)
 
1764
        @$(ECHO)  Install Files....... $(INSTALL_FILES)
 
1765
        @$(ECHO)
 
1766
        @$(ECHO)  == Install info ==
 
1767
        @$(ECHO)
 
1768
        @$(ECHO)  DateStr.............. $(DATESTR)
 
1769
        @$(ECHO)  ZipName.............. $(ZIPNAME)
 
1770
        @$(ECHO)  ZipPrefix............ $(ZIPPREFIX)
 
1771
        @$(ECHO)  ZipCrossPrefix....... $(ZIPCROSSPREFIX)
 
1772
        @$(ECHO)  ZipSuffix............ $(ZIPSUFFIX)
 
1773
        @$(ECHO)  FullZipName.......... $(FULLZIPNAME)
 
1774
        @$(ECHO)  Install FPC Package.. $(INSTALL_FPCPACKAGE)
 
1775
        @$(ECHO)
 
1776
        @$(ECHO)  Install base dir..... $(INSTALL_BASEDIR)
 
1777
        @$(ECHO)  Install binary dir... $(INSTALL_BINDIR)
 
1778
        @$(ECHO)  Install library dir.. $(INSTALL_LIBDIR)
 
1779
        @$(ECHO)  Install units dir.... $(INSTALL_UNITDIR)
 
1780
        @$(ECHO)  Install source dir... $(INSTALL_SOURCEDIR)
 
1781
        @$(ECHO)  Install doc dir...... $(INSTALL_DOCDIR)
 
1782
        @$(ECHO)  Install example dir.. $(INSTALL_EXAMPLEDIR)
 
1783
        @$(ECHO)  Install data dir..... $(INSTALL_DATADIR)
 
1784
        @$(ECHO)
 
1785
        @$(ECHO)  Dist destination dir. $(DIST_DESTDIR)
 
1786
        @$(ECHO)  Dist zip name........ $(DIST_ZIPNAME)
 
1787
        @$(ECHO)
 
1788
.PHONY: fpc_info
 
1789
fpc_info: $(INFORULES)
 
1790
.PHONY: fpc_makefile fpc_makefiles fpc_makefile_sub1 fpc_makefile_sub2 \
 
1791
        fpc_makefile_dirs
 
1792
fpc_makefile:
 
1793
        $(FPCMAKE) -w -T$(OS_TARGET) Makefile.fpc
 
1794
fpc_makefile_sub1:
 
1795
ifdef TARGET_DIRS
 
1796
        $(FPCMAKE) -w -T$(OS_TARGET) $(addsuffix /Makefile.fpc,$(TARGET_DIRS))
 
1797
endif
 
1798
ifdef TARGET_EXAMPLEDIRS
 
1799
        $(FPCMAKE) -w -T$(OS_TARGET) $(addsuffix /Makefile.fpc,$(TARGET_EXAMPLEDIRS))
 
1800
endif
 
1801
fpc_makefile_sub2: $(addsuffix _makefile_dirs,$(TARGET_DIRS) $(TARGET_EXAMPLEDIRS))
 
1802
fpc_makefile_dirs: fpc_makefile_sub1 fpc_makefile_sub2
 
1803
fpc_makefiles: fpc_makefile fpc_makefile_dirs
 
1804
all: fpc_all
 
1805
debug: fpc_debug
 
1806
smart: fpc_smart
 
1807
release: fpc_release
 
1808
units: fpc_units
 
1809
examples: fpc_examples
 
1810
shared: fpc_shared
 
1811
install: fpc_install
 
1812
sourceinstall: fpc_sourceinstall
 
1813
exampleinstall: fpc_exampleinstall
 
1814
distinstall:
 
1815
zipinstall:
 
1816
zipsourceinstall:
 
1817
zipexampleinstall:
 
1818
zipdistinstall:
 
1819
clean: fpc_clean
 
1820
distclean: fpc_distclean
 
1821
cleanall: fpc_cleanall
 
1822
info: fpc_info
 
1823
makefiles: fpc_makefiles
 
1824
.PHONY: all debug smart release units examples shared install sourceinstall exampleinstall distinstall zipinstall zipsourceinstall zipexampleinstall zipdistinstall clean distclean cleanall info makefiles
 
1825
ifneq ($(wildcard fpcmake.loc),)
 
1826
include fpcmake.loc
 
1827
endif
 
1828
.NOTPARALLEL: