~ubuntu-branches/ubuntu/dapper/fpc/dapper

« back to all changes in this revision

Viewing changes to docs/Makefile

  • Committer: Bazaar Package Importer
  • Author(s): Carlos Laviola
  • Date: 2005-05-30 11:59:10 UTC
  • mfrom: (1.2.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20050530115910-x5pbzm4qqta4i94h
Tags: 2.0.0-2
debian/fp-compiler.postinst.in: forgot to reapply the patch that
correctly creates the slave link to pc(1).  (Closes: #310907)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
#
2
 
#   $Id: Makefile,v 1.27 2004/07/17 21:02:28 marco Exp $
3
 
#   This file is part of the Free Pascal run time library.
4
 
#   Copyright (c) 1996-98 by Michael van Canneyt
5
 
#
6
 
#   Makefile for the Free Pascal Documentation
7
 
#
8
 
#   See the file COPYING.FPC, included in this distribution,
9
 
#   for details about the copyright.
10
 
#
11
 
#   This program is distributed in the hope that it will be useful,
12
 
#   but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 
#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14
 
#
15
 
 
16
 
#####################################################################
17
 
# Configurable section
18
 
#####################################################################
19
 
 
20
 
# Debugging the install, that will only copy the .tex to index.html
21
 
# so a make html and make install goes quickly
22
 
#INSTALLDEBUG=1
 
2
# Don't edit, this file is generated by FPCMake Version 2.0.0 [2005/05/05]
 
3
#
 
4
default: help
 
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-emx i386-watcom i386-netwlibc m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos powerpc-linux powerpc-netbsd powerpc-macos powerpc-darwin powerpc-morphos sparc-linux sparc-netbsd sparc-solaris x86_64-linux x86_64-freebsd arm-linux
 
6
BSDs = freebsd netbsd openbsd darwin
 
7
UNIXs = linux $(BSDs) solaris qnx
 
8
LIMIT83fs = go32v2 os2 emx watcom
 
9
FORCE:
 
10
.PHONY: FORCE
23
11
override PATH:=$(patsubst %/,%,$(subst \,/,$(PATH)))
24
12
ifneq ($(findstring darwin,$(OSTYPE)),)
25
13
inUnix=1 #darwin
104
92
endif
105
93
export ECHO
106
94
endif
107
 
override DEFAULT_FPCDIR=../..
 
95
override DEFAULT_FPCDIR=..
108
96
ifndef FPC
109
97
ifdef PP
110
98
FPC=$(PP)
116
104
FPCPROG:=$(firstword $(FPCPROG))
117
105
FPC:=$(shell $(FPCPROG) -PB)
118
106
ifneq ($(findstring Error,$(FPC)),)
119
 
override FPC=ppc386
 
107
override FPC=$(firstword $(strip $(wildcard $(addsuffix /ppc386$(SRCEXEEXT),$(SEARCHPATH)))))
120
108
endif
121
109
else
122
 
override FPC=ppc386
 
110
override FPC=$(firstword $(strip $(wildcard $(addsuffix /ppc386$(SRCEXEEXT),$(SEARCHPATH)))))
123
111
endif
124
112
endif
125
113
override FPC:=$(subst $(SRCEXEEXT),,$(FPC))
126
114
override FPC:=$(subst \,/,$(FPC))$(SRCEXEEXT)
127
 
 
128
 
HOSTOS=$(shell $(FPC) -iSO)
129
 
# Which docs are made when 'html' is specified
130
 
HTML = user units ref prog fpdoc fcl chart
131
 
 
132
 
# Can be 'report','book', 'html', 'hevea', 'ts3' 'ts4'
133
 
ifdef USEHEVEA
134
 
PREAMBLETYPE = hevea
135
 
else
136
 
ifdef USEL2H 
137
 
PREAMBLETYPE = html
138
 
else
 
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/base $(FPCDIR)/packages/extra)
 
233
override PACKAGE_NAME=fpc
 
234
override PACKAGE_VERSION=2.0.0
 
235
ifdef REQUIRE_UNITSDIR
 
236
override UNITSDIR+=$(REQUIRE_UNITSDIR)
 
237
endif
 
238
ifdef REQUIRE_PACKAGESDIR
 
239
override PACKAGESDIR+=$(REQUIRE_PACKAGESDIR)
 
240
endif
 
241
ifdef ZIPINSTALL
 
242
ifneq ($(findstring $(OS_TARGET),$(UNIXs)),)
 
243
UNIXHier=1
 
244
endif
 
245
else
 
246
ifneq ($(findstring $(OS_SOURCE),$(UNIXs)),)
 
247
UNIXHier=1
 
248
endif
 
249
endif
 
250
ifndef INSTALL_PREFIX
 
251
ifdef PREFIX
 
252
INSTALL_PREFIX=$(PREFIX)
 
253
endif
 
254
endif
 
255
ifndef INSTALL_PREFIX
 
256
ifdef UNIXHier
 
257
INSTALL_PREFIX=/usr/local
 
258
else
 
259
ifdef INSTALL_FPCPACKAGE
 
260
INSTALL_BASEDIR:=/pp
 
261
else
 
262
INSTALL_BASEDIR:=/$(PACKAGE_NAME)
 
263
endif
 
264
endif
 
265
endif
 
266
export INSTALL_PREFIX
 
267
ifdef INSTALL_FPCSUBDIR
 
268
export INSTALL_FPCSUBDIR
 
269
endif
 
270
ifndef DIST_DESTDIR
 
271
DIST_DESTDIR:=$(BASEDIR)
 
272
endif
 
273
export DIST_DESTDIR
 
274
ifndef COMPILER_UNITTARGETDIR
 
275
ifdef PACKAGEDIR_MAIN
 
276
COMPILER_UNITTARGETDIR=$(PACKAGEDIR_MAIN)/units/$(TARGETSUFFIX)
 
277
else
 
278
COMPILER_UNITTARGETDIR=units/$(TARGETSUFFIX)
 
279
endif
 
280
endif
 
281
ifndef COMPILER_TARGETDIR
 
282
COMPILER_TARGETDIR=.
 
283
endif
 
284
ifndef INSTALL_BASEDIR
 
285
ifdef UNIXHier
 
286
ifdef INSTALL_FPCPACKAGE
 
287
INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 
288
else
 
289
INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/$(PACKAGE_NAME)
 
290
endif
 
291
else
 
292
INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 
293
endif
 
294
endif
 
295
ifndef INSTALL_BINDIR
 
296
ifdef UNIXHier
 
297
INSTALL_BINDIR:=$(INSTALL_PREFIX)/bin
 
298
else
 
299
INSTALL_BINDIR:=$(INSTALL_BASEDIR)/bin
 
300
ifdef INSTALL_FPCPACKAGE
 
301
ifdef CROSSCOMPILE
 
302
ifdef CROSSINSTALL
 
303
INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(SOURCESUFFIX)
 
304
else
 
305
INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(TARGETSUFFIX)
 
306
endif
 
307
else
 
308
INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(TARGETSUFFIX)
 
309
endif
 
310
endif
 
311
endif
 
312
endif
 
313
ifndef INSTALL_UNITDIR
 
314
INSTALL_UNITDIR:=$(INSTALL_BASEDIR)/units/$(TARGETSUFFIX)
 
315
ifdef INSTALL_FPCPACKAGE
 
316
ifdef PACKAGE_NAME
 
317
INSTALL_UNITDIR:=$(INSTALL_UNITDIR)/$(PACKAGE_NAME)
 
318
endif
 
319
endif
 
320
endif
 
321
ifndef INSTALL_LIBDIR
 
322
ifdef UNIXHier
 
323
INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 
324
else
 
325
INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 
326
endif
 
327
endif
 
328
ifndef INSTALL_SOURCEDIR
 
329
ifdef UNIXHier
 
330
ifdef BSDhier
 
331
SRCPREFIXDIR=share/src
 
332
else
 
333
ifdef linuxHier
 
334
SRCPREFIXDIR=share/src
 
335
else
 
336
SRCPREFIXDIR=src
 
337
endif
 
338
endif
 
339
ifdef INSTALL_FPCPACKAGE
 
340
ifdef INSTALL_FPCSUBDIR
 
341
INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
 
342
else
 
343
INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 
344
endif
 
345
else
 
346
INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 
347
endif
 
348
else
 
349
ifdef INSTALL_FPCPACKAGE
 
350
ifdef INSTALL_FPCSUBDIR
 
351
INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
 
352
else
 
353
INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(PACKAGE_NAME)
 
354
endif
 
355
else
 
356
INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source
 
357
endif
 
358
endif
 
359
endif
 
360
ifndef INSTALL_DOCDIR
 
361
ifdef UNIXHier
 
362
ifdef BSDhier
 
363
DOCPREFIXDIR=share/doc
 
364
else
 
365
ifdef linuxHier
 
366
DOCPREFIXDIR=share/doc
 
367
else
 
368
DOCPREFIXDIR=doc
 
369
endif
 
370
endif
 
371
ifdef INSTALL_FPCPACKAGE
 
372
INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 
373
else
 
374
INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 
375
endif
 
376
else
 
377
ifdef INSTALL_FPCPACKAGE
 
378
INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc/$(PACKAGE_NAME)
 
379
else
 
380
INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc
 
381
endif
 
382
endif
 
383
endif
 
384
ifndef INSTALL_EXAMPLEDIR
 
385
ifdef UNIXHier
 
386
ifdef INSTALL_FPCPACKAGE
 
387
ifdef BSDhier
 
388
INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 
389
else
 
390
ifdef linuxHier
 
391
INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples
 
392
else
 
393
INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 
394
endif
 
395
endif
 
396
else
 
397
ifdef BSDhier
 
398
INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 
399
else
 
400
ifdef linuxHier
 
401
INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 
402
else
 
403
INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 
404
endif
 
405
endif
 
406
endif
 
407
else
 
408
ifdef INSTALL_FPCPACKAGE
 
409
INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
 
410
else
 
411
INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples
 
412
endif
 
413
endif
 
414
endif
 
415
ifndef INSTALL_DATADIR
 
416
INSTALL_DATADIR=$(INSTALL_BASEDIR)
 
417
endif
 
418
ifdef CROSSCOMPILE
 
419
ifndef CROSSBINDIR
 
420
CROSSBINDIR:=$(wildcard $(CROSSTARGETDIR)/bin/$(SOURCESUFFIX))
 
421
ifeq ($(CROSSBINDIR),)
 
422
CROSSBINDIR:=$(wildcard $(INSTALL_BASEDIR)/cross/$(TARGETSUFFIX)/bin/$(FULL_SOURCE))
 
423
endif
 
424
endif
 
425
else
 
426
CROSSBINDIR=
 
427
endif
 
428
BATCHEXT=.bat
 
429
LOADEREXT=.as
 
430
EXEEXT=.exe
 
431
PPLEXT=.ppl
 
432
PPUEXT=.ppu
 
433
OEXT=.o
 
434
ASMEXT=.s
 
435
SMARTEXT=.sl
 
436
STATICLIBEXT=.a
 
437
SHAREDLIBEXT=.so
 
438
STATICLIBPREFIX=libp
 
439
RSTEXT=.rst
 
440
ifeq ($(findstring 1.0.,$(FPC_VERSION)),)
 
441
ifeq ($(OS_TARGET),go32v1)
 
442
STATICLIBPREFIX=
 
443
SHORTSUFFIX=v1
 
444
endif
 
445
ifeq ($(OS_TARGET),go32v2)
 
446
STATICLIBPREFIX=
 
447
SHORTSUFFIX=dos
 
448
endif
 
449
ifeq ($(OS_TARGET),watcom)
 
450
STATICLIBPREFIX=
 
451
OEXT=.obj
 
452
ASMEXT=.asm
 
453
SHAREDLIBEXT=.dll
 
454
SHORTSUFFIX=wat
 
455
endif
 
456
ifeq ($(OS_TARGET),linux)
 
457
BATCHEXT=.sh
 
458
EXEEXT=
 
459
HASSHAREDLIB=1
 
460
SHORTSUFFIX=lnx
 
461
endif
 
462
ifeq ($(OS_TARGET),freebsd)
 
463
BATCHEXT=.sh
 
464
EXEEXT=
 
465
HASSHAREDLIB=1
 
466
SHORTSUFFIX=fbs
 
467
endif
 
468
ifeq ($(OS_TARGET),netbsd)
 
469
BATCHEXT=.sh
 
470
EXEEXT=
 
471
HASSHAREDLIB=1
 
472
SHORTSUFFIX=nbs
 
473
endif
 
474
ifeq ($(OS_TARGET),openbsd)
 
475
BATCHEXT=.sh
 
476
EXEEXT=
 
477
HASSHAREDLIB=1
 
478
SHORTSUFFIX=obs
 
479
endif
 
480
ifeq ($(OS_TARGET),win32)
 
481
SHAREDLIBEXT=.dll
 
482
SHORTSUFFIX=w32
 
483
endif
 
484
ifeq ($(OS_TARGET),os2)
 
485
BATCHEXT=.cmd
 
486
AOUTEXT=.out
 
487
STATICLIBPREFIX=
 
488
SHAREDLIBEXT=.dll
 
489
SHORTSUFFIX=os2
 
490
ECHO=echo
 
491
endif
 
492
ifeq ($(OS_TARGET),emx)
 
493
BATCHEXT=.cmd
 
494
AOUTEXT=.out
 
495
STATICLIBPREFIX=
 
496
SHAREDLIBEXT=.dll
 
497
SHORTSUFFIX=emx
 
498
ECHO=echo
 
499
endif
 
500
ifeq ($(OS_TARGET),amiga)
 
501
EXEEXT=
 
502
SHAREDLIBEXT=.library
 
503
SHORTSUFFIX=amg
 
504
endif
 
505
ifeq ($(OS_TARGET),morphos)
 
506
EXEEXT=
 
507
SHAREDLIBEXT=.library
 
508
SHORTSUFFIX=mos
 
509
endif
 
510
ifeq ($(OS_TARGET),atari)
 
511
EXEEXT=.ttp
 
512
SHORTSUFFIX=ata
 
513
endif
 
514
ifeq ($(OS_TARGET),beos)
 
515
BATCHEXT=.sh
 
516
EXEEXT=
 
517
SHORTSUFFIX=be
 
518
endif
 
519
ifeq ($(OS_TARGET),solaris)
 
520
BATCHEXT=.sh
 
521
EXEEXT=
 
522
SHORTSUFFIX=sun
 
523
endif
 
524
ifeq ($(OS_TARGET),qnx)
 
525
BATCHEXT=.sh
 
526
EXEEXT=
 
527
SHORTSUFFIX=qnx
 
528
endif
 
529
ifeq ($(OS_TARGET),netware)
 
530
EXEEXT=.nlm
 
531
STATICLIBPREFIX=
 
532
SHORTSUFFIX=nw
 
533
endif
 
534
ifeq ($(OS_TARGET),netwlibc)
 
535
EXEEXT=.nlm
 
536
STATICLIBPREFIX=
 
537
SHORTSUFFIX=nwl
 
538
endif
 
539
ifeq ($(OS_TARGET),macos)
 
540
BATCHEXT=
 
541
EXEEXT=
 
542
DEBUGSYMEXT=.xcoff
 
543
SHORTSUFFIX=mac
 
544
endif
 
545
ifeq ($(OS_TARGET),darwin)
 
546
BATCHEXT=.sh
 
547
EXEEXT=
 
548
HASSHAREDLIB=1
 
549
SHORTSUFFIX=dwn
 
550
endif
 
551
else
 
552
ifeq ($(OS_TARGET),go32v1)
 
553
PPUEXT=.pp1
 
554
OEXT=.o1
 
555
ASMEXT=.s1
 
556
SMARTEXT=.sl1
 
557
STATICLIBEXT=.a1
 
558
SHAREDLIBEXT=.so1
 
559
STATICLIBPREFIX=
 
560
SHORTSUFFIX=v1
 
561
endif
 
562
ifeq ($(OS_TARGET),go32v2)
 
563
STATICLIBPREFIX=
 
564
SHORTSUFFIX=dos
 
565
endif
 
566
ifeq ($(OS_TARGET),watcom)
 
567
STATICLIBPREFIX=
 
568
SHORTSUFFIX=wat
 
569
endif
 
570
ifeq ($(OS_TARGET),linux)
 
571
BATCHEXT=.sh
 
572
EXEEXT=
 
573
HASSHAREDLIB=1
 
574
SHORTSUFFIX=lnx
 
575
endif
 
576
ifeq ($(OS_TARGET),freebsd)
 
577
BATCHEXT=.sh
 
578
EXEEXT=
 
579
HASSHAREDLIB=1
 
580
SHORTSUFFIX=fbs
 
581
endif
 
582
ifeq ($(OS_TARGET),netbsd)
 
583
BATCHEXT=.sh
 
584
EXEEXT=
 
585
HASSHAREDLIB=1
 
586
SHORTSUFFIX=nbs
 
587
endif
 
588
ifeq ($(OS_TARGET),openbsd)
 
589
BATCHEXT=.sh
 
590
EXEEXT=
 
591
HASSHAREDLIB=1
 
592
SHORTSUFFIX=obs
 
593
endif
 
594
ifeq ($(OS_TARGET),win32)
 
595
PPUEXT=.ppw
 
596
OEXT=.ow
 
597
ASMEXT=.sw
 
598
SMARTEXT=.slw
 
599
STATICLIBEXT=.aw
 
600
SHAREDLIBEXT=.dll
 
601
SHORTSUFFIX=w32
 
602
endif
 
603
ifeq ($(OS_TARGET),os2)
 
604
BATCHEXT=.cmd
 
605
PPUEXT=.ppo
 
606
ASMEXT=.so2
 
607
OEXT=.oo2
 
608
AOUTEXT=.out
 
609
SMARTEXT=.sl2
 
610
STATICLIBPREFIX=
 
611
STATICLIBEXT=.ao2
 
612
SHAREDLIBEXT=.dll
 
613
SHORTSUFFIX=os2
 
614
ECHO=echo
 
615
endif
 
616
ifeq ($(OS_TARGET),amiga)
 
617
EXEEXT=
 
618
PPUEXT=.ppu
 
619
ASMEXT=.asm
 
620
OEXT=.o
 
621
SMARTEXT=.sl
 
622
STATICLIBEXT=.a
 
623
SHAREDLIBEXT=.library
 
624
SHORTSUFFIX=amg
 
625
endif
 
626
ifeq ($(OS_TARGET),atari)
 
627
PPUEXT=.ppu
 
628
ASMEXT=.s
 
629
OEXT=.o
 
630
SMARTEXT=.sl
 
631
STATICLIBEXT=.a
 
632
EXEEXT=.ttp
 
633
SHORTSUFFIX=ata
 
634
endif
 
635
ifeq ($(OS_TARGET),beos)
 
636
BATCHEXT=.sh
 
637
PPUEXT=.ppu
 
638
ASMEXT=.s
 
639
OEXT=.o
 
640
SMARTEXT=.sl
 
641
STATICLIBEXT=.a
 
642
EXEEXT=
 
643
SHORTSUFFIX=be
 
644
endif
 
645
ifeq ($(OS_TARGET),solaris)
 
646
BATCHEXT=.sh
 
647
PPUEXT=.ppu
 
648
ASMEXT=.s
 
649
OEXT=.o
 
650
SMARTEXT=.sl
 
651
STATICLIBEXT=.a
 
652
EXEEXT=
 
653
SHORTSUFFIX=sun
 
654
endif
 
655
ifeq ($(OS_TARGET),qnx)
 
656
BATCHEXT=.sh
 
657
PPUEXT=.ppu
 
658
ASMEXT=.s
 
659
OEXT=.o
 
660
SMARTEXT=.sl
 
661
STATICLIBEXT=.a
 
662
EXEEXT=
 
663
SHORTSUFFIX=qnx
 
664
endif
 
665
ifeq ($(OS_TARGET),netware)
 
666
STATICLIBPREFIX=
 
667
PPUEXT=.ppu
 
668
OEXT=.o
 
669
ASMEXT=.s
 
670
SMARTEXT=.sl
 
671
STATICLIBEXT=.a
 
672
SHAREDLIBEXT=.nlm
 
673
EXEEXT=.nlm
 
674
SHORTSUFFIX=nw
 
675
endif
 
676
ifeq ($(OS_TARGET),netwlibc)
 
677
STATICLIBPREFIX=
 
678
PPUEXT=.ppu
 
679
OEXT=.o
 
680
ASMEXT=.s
 
681
SMARTEXT=.sl
 
682
STATICLIBEXT=.a
 
683
SHAREDLIBEXT=.nlm
 
684
EXEEXT=.nlm
 
685
SHORTSUFFIX=nwl
 
686
endif
 
687
ifeq ($(OS_TARGET),macos)
 
688
BATCHEXT=
 
689
PPUEXT=.ppu
 
690
ASMEXT=.s
 
691
OEXT=.o
 
692
SMARTEXT=.sl
 
693
STATICLIBEXT=.a
 
694
EXEEXT=
 
695
DEBUGSYMEXT=.xcoff
 
696
SHORTSUFFIX=mac
 
697
endif
 
698
endif
 
699
ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 
700
FPCMADE=fpcmade.$(SHORTSUFFIX)
 
701
ZIPSUFFIX=$(SHORTSUFFIX)
 
702
ZIPCROSSPREFIX=
 
703
ZIPSOURCESUFFIX=src
 
704
ZIPEXAMPLESUFFIX=exm
 
705
else
 
706
FPCMADE=fpcmade.$(TARGETSUFFIX)
 
707
ZIPSOURCESUFFIX=.source
 
708
ZIPEXAMPLESUFFIX=.examples
 
709
ifdef CROSSCOMPILE
 
710
ZIPSUFFIX=.$(SOURCESUFFIX)
 
711
ZIPCROSSPREFIX=$(TARGETSUFFIX)-
 
712
else
 
713
ZIPSUFFIX=.$(TARGETSUFFIX)
 
714
ZIPCROSSPREFIX=
 
715
endif
 
716
endif
 
717
ifndef ECHO
 
718
ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 
719
ifeq ($(ECHO),)
 
720
ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 
721
ifeq ($(ECHO),)
 
722
ECHO= __missing_command_ECHO
 
723
else
 
724
ECHO:=$(firstword $(ECHO))
 
725
endif
 
726
else
 
727
ECHO:=$(firstword $(ECHO))
 
728
endif
 
729
endif
 
730
export ECHO
 
731
ifndef DATE
 
732
DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 
733
ifeq ($(DATE),)
 
734
DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 
735
ifeq ($(DATE),)
 
736
DATE= __missing_command_DATE
 
737
else
 
738
DATE:=$(firstword $(DATE))
 
739
endif
 
740
else
 
741
DATE:=$(firstword $(DATE))
 
742
endif
 
743
endif
 
744
export DATE
 
745
ifndef GINSTALL
 
746
GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 
747
ifeq ($(GINSTALL),)
 
748
GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 
749
ifeq ($(GINSTALL),)
 
750
GINSTALL= __missing_command_GINSTALL
 
751
else
 
752
GINSTALL:=$(firstword $(GINSTALL))
 
753
endif
 
754
else
 
755
GINSTALL:=$(firstword $(GINSTALL))
 
756
endif
 
757
endif
 
758
export GINSTALL
 
759
ifndef CPPROG
 
760
CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 
761
ifeq ($(CPPROG),)
 
762
CPPROG= __missing_command_CPPROG
 
763
else
 
764
CPPROG:=$(firstword $(CPPROG))
 
765
endif
 
766
endif
 
767
export CPPROG
 
768
ifndef RMPROG
 
769
RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 
770
ifeq ($(RMPROG),)
 
771
RMPROG= __missing_command_RMPROG
 
772
else
 
773
RMPROG:=$(firstword $(RMPROG))
 
774
endif
 
775
endif
 
776
export RMPROG
 
777
ifndef MVPROG
 
778
MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 
779
ifeq ($(MVPROG),)
 
780
MVPROG= __missing_command_MVPROG
 
781
else
 
782
MVPROG:=$(firstword $(MVPROG))
 
783
endif
 
784
endif
 
785
export MVPROG
 
786
ifndef MKDIRPROG
 
787
MKDIRPROG:=$(strip $(wildcard $(addsuffix /gmkdir$(SRCEXEEXT),$(SEARCHPATH))))
 
788
ifeq ($(MKDIRPROG),)
 
789
MKDIRPROG:=$(strip $(wildcard $(addsuffix /mkdir$(SRCEXEEXT),$(SEARCHPATH))))
 
790
ifeq ($(MKDIRPROG),)
 
791
MKDIRPROG= __missing_command_MKDIRPROG
 
792
else
 
793
MKDIRPROG:=$(firstword $(MKDIRPROG))
 
794
endif
 
795
else
 
796
MKDIRPROG:=$(firstword $(MKDIRPROG))
 
797
endif
 
798
endif
 
799
export MKDIRPROG
 
800
ifndef ECHOREDIR
 
801
ifndef inUnix
 
802
ECHOREDIR=echo
 
803
else
 
804
ECHOREDIR=$(ECHO)
 
805
endif
 
806
endif
 
807
ifndef COPY
 
808
COPY:=$(CPPROG) -fp
 
809
endif
 
810
ifndef COPYTREE
 
811
COPYTREE:=$(CPPROG) -Rfp
 
812
endif
 
813
ifndef MKDIRTREE
 
814
MKDIRTREE:=$(MKDIRPROG) -p
 
815
endif
 
816
ifndef MOVE
 
817
MOVE:=$(MVPROG) -f
 
818
endif
 
819
ifndef DEL
 
820
DEL:=$(RMPROG) -f
 
821
endif
 
822
ifndef DELTREE
 
823
DELTREE:=$(RMPROG) -rf
 
824
endif
 
825
ifndef INSTALL
 
826
ifdef inUnix
 
827
INSTALL:=$(GINSTALL) -c -m 644
 
828
else
 
829
INSTALL:=$(COPY)
 
830
endif
 
831
endif
 
832
ifndef INSTALLEXE
 
833
ifdef inUnix
 
834
INSTALLEXE:=$(GINSTALL) -c -m 755
 
835
else
 
836
INSTALLEXE:=$(COPY)
 
837
endif
 
838
endif
 
839
ifndef MKDIR
 
840
MKDIR:=$(GINSTALL) -m 755 -d
 
841
endif
 
842
export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 
843
ifndef PPUMOVE
 
844
PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 
845
ifeq ($(PPUMOVE),)
 
846
PPUMOVE= __missing_command_PPUMOVE
 
847
else
 
848
PPUMOVE:=$(firstword $(PPUMOVE))
 
849
endif
 
850
endif
 
851
export PPUMOVE
 
852
ifndef FPCMAKE
 
853
FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 
854
ifeq ($(FPCMAKE),)
 
855
FPCMAKE= __missing_command_FPCMAKE
 
856
else
 
857
FPCMAKE:=$(firstword $(FPCMAKE))
 
858
endif
 
859
endif
 
860
export FPCMAKE
 
861
ifndef ZIPPROG
 
862
ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 
863
ifeq ($(ZIPPROG),)
 
864
ZIPPROG= __missing_command_ZIPPROG
 
865
else
 
866
ZIPPROG:=$(firstword $(ZIPPROG))
 
867
endif
 
868
endif
 
869
export ZIPPROG
 
870
ifndef TARPROG
 
871
TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 
872
ifeq ($(TARPROG),)
 
873
TARPROG= __missing_command_TARPROG
 
874
else
 
875
TARPROG:=$(firstword $(TARPROG))
 
876
endif
 
877
endif
 
878
export TARPROG
 
879
ASNAME=$(BINUTILSPREFIX)as
 
880
LDNAME=$(BINUTILSPREFIX)ld
 
881
ARNAME=$(BINUTILSPREFIX)ar
 
882
RCNAME=$(BINUTILSPREFIX)rc
 
883
ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 
884
ifeq ($(OS_TARGET),win32)
 
885
ifeq ($(CROSSBINDIR),)
 
886
ASNAME=asw
 
887
LDNAME=ldw
 
888
ARNAME=arw
 
889
endif
 
890
endif
 
891
endif
 
892
ifndef ASPROG
 
893
ifdef CROSSBINDIR
 
894
ASPROG=$(CROSSBINDIR)/$(ASNAME)$(SRCEXEEXT)
 
895
else
 
896
ASPROG=$(ASNAME)
 
897
endif
 
898
endif
 
899
ifndef LDPROG
 
900
ifdef CROSSBINDIR
 
901
LDPROG=$(CROSSBINDIR)/$(LDNAME)$(SRCEXEEXT)
 
902
else
 
903
LDPROG=$(LDNAME)
 
904
endif
 
905
endif
 
906
ifndef RCPROG
 
907
ifdef CROSSBINDIR
 
908
RCPROG=$(CROSSBINDIR)/$(RCNAME)$(SRCEXEEXT)
 
909
else
 
910
RCPROG=$(RCNAME)
 
911
endif
 
912
endif
 
913
ifndef ARPROG
 
914
ifdef CROSSBINDIR
 
915
ARPROG=$(CROSSBINDIR)/$(ARNAME)$(SRCEXEEXT)
 
916
else
 
917
ARPROG=$(ARNAME)
 
918
endif
 
919
endif
 
920
AS=$(ASPROG)
 
921
LD=$(LDPROG)
 
922
RC=$(RCPROG)
 
923
AR=$(ARPROG)
 
924
PPAS=ppas$(SRCBATCHEXT)
 
925
ifdef inUnix
 
926
LDCONFIG=ldconfig
 
927
else
 
928
LDCONFIG=
 
929
endif
 
930
ifdef DATE
 
931
DATESTR:=$(shell $(DATE) +%Y%m%d)
 
932
else
 
933
DATESTR=
 
934
endif
 
935
ifndef UPXPROG
 
936
ifeq ($(OS_TARGET),go32v2)
 
937
UPXPROG:=1
 
938
endif
 
939
ifeq ($(OS_TARGET),win32)
 
940
UPXPROG:=1
 
941
endif
 
942
ifdef UPXPROG
 
943
UPXPROG:=$(strip $(wildcard $(addsuffix /upx$(SRCEXEEXT),$(SEARCHPATH))))
 
944
ifeq ($(UPXPROG),)
 
945
UPXPROG=
 
946
else
 
947
UPXPROG:=$(firstword $(UPXPROG))
 
948
endif
 
949
else
 
950
UPXPROG=
 
951
endif
 
952
endif
 
953
export UPXPROG
 
954
ZIPOPT=-9
 
955
ZIPEXT=.zip
 
956
ifeq ($(USETAR),bz2)
 
957
TAROPT=vj
 
958
TAREXT=.tar.bz2
 
959
else
 
960
TAROPT=vz
 
961
TAREXT=.tar.gz
 
962
endif
 
963
ifndef NOCPUDEF
 
964
override FPCOPTDEF=$(CPU_TARGET)
 
965
endif
 
966
ifneq ($(OS_TARGET),$(OS_SOURCE))
 
967
override FPCOPT+=-T$(OS_TARGET)
 
968
endif
 
969
ifeq ($(OS_SOURCE),openbsd)
 
970
override FPCOPT+=-FD$(NEW_BINUTILS_PATH)
 
971
endif
 
972
ifndef CROSSBOOTSTRAP
 
973
ifneq ($(BINUTILSPREFIX),)
 
974
override FPCOPT+=-XP$(BINUTILSPREFIX) -Xc
 
975
endif
 
976
ifneq ($(BINUTILSPREFIX),)
 
977
override FPCOPT+=-Xr$(RLINKPATH)
 
978
endif
 
979
endif
 
980
ifdef UNITDIR
 
981
override FPCOPT+=$(addprefix -Fu,$(UNITDIR))
 
982
endif
 
983
ifdef LIBDIR
 
984
override FPCOPT+=$(addprefix -Fl,$(LIBDIR))
 
985
endif
 
986
ifdef OBJDIR
 
987
override FPCOPT+=$(addprefix -Fo,$(OBJDIR))
 
988
endif
 
989
ifdef INCDIR
 
990
override FPCOPT+=$(addprefix -Fi,$(INCDIR))
 
991
endif
 
992
ifdef LINKSMART
 
993
override FPCOPT+=-XX
 
994
endif
 
995
ifdef CREATESMART
 
996
override FPCOPT+=-CX
 
997
endif
 
998
ifdef DEBUG
 
999
override FPCOPT+=-gl
 
1000
override FPCOPTDEF+=DEBUG
 
1001
endif
 
1002
ifdef RELEASE
 
1003
ifeq ($(CPU_TARGET),i386)
 
1004
FPCCPUOPT:=-OG2p3
 
1005
else
 
1006
ifeq ($(CPU_TARGET),powerpc)
 
1007
FPCCPUOPT:=-O1
 
1008
else
 
1009
FPCCPUOPT:=
 
1010
endif
 
1011
endif
 
1012
override FPCOPT+=-Xs $(FPCCPUOPT) -n
 
1013
override FPCOPTDEF+=RELEASE
 
1014
endif
 
1015
ifdef STRIP
 
1016
override FPCOPT+=-Xs
 
1017
endif
 
1018
ifdef OPTIMIZE
 
1019
ifeq ($(CPU_TARGET),i386)
 
1020
override FPCOPT+=-OG2p3
 
1021
endif
 
1022
endif
 
1023
ifdef VERBOSE
 
1024
override FPCOPT+=-vwni
 
1025
endif
 
1026
ifdef COMPILER_OPTIONS
 
1027
override FPCOPT+=$(COMPILER_OPTIONS)
 
1028
endif
 
1029
ifdef COMPILER_UNITDIR
 
1030
override FPCOPT+=$(addprefix -Fu,$(COMPILER_UNITDIR))
 
1031
endif
 
1032
ifdef COMPILER_LIBRARYDIR
 
1033
override FPCOPT+=$(addprefix -Fl,$(COMPILER_LIBRARYDIR))
 
1034
endif
 
1035
ifdef COMPILER_OBJECTDIR
 
1036
override FPCOPT+=$(addprefix -Fo,$(COMPILER_OBJECTDIR))
 
1037
endif
 
1038
ifdef COMPILER_INCLUDEDIR
 
1039
override FPCOPT+=$(addprefix -Fi,$(COMPILER_INCLUDEDIR))
 
1040
endif
 
1041
ifdef CROSSBINDIR
 
1042
override FPCOPT+=-FD$(CROSSBINDIR)
 
1043
endif
 
1044
ifdef COMPILER_TARGETDIR
 
1045
override FPCOPT+=-FE$(COMPILER_TARGETDIR)
 
1046
ifeq ($(COMPILER_TARGETDIR),.)
 
1047
override TARGETDIRPREFIX=
 
1048
else
 
1049
override TARGETDIRPREFIX=$(COMPILER_TARGETDIR)/
 
1050
endif
 
1051
endif
 
1052
ifdef COMPILER_UNITTARGETDIR
 
1053
override FPCOPT+=-FU$(COMPILER_UNITTARGETDIR)
 
1054
ifeq ($(COMPILER_UNITTARGETDIR),.)
 
1055
override UNITTARGETDIRPREFIX=
 
1056
else
 
1057
override UNITTARGETDIRPREFIX=$(COMPILER_UNITTARGETDIR)/
 
1058
endif
 
1059
else
 
1060
ifdef COMPILER_TARGETDIR
 
1061
override COMPILER_UNITTARGETDIR=$(COMPILER_TARGETDIR)
 
1062
override UNITTARGETDIRPREFIX=$(TARGETDIRPREFIX)
 
1063
endif
 
1064
endif
 
1065
ifeq ($(OS_TARGET),linux)
 
1066
ifeq ($(FPC_VERSION),1.0.6)
 
1067
override FPCOPTDEF+=HASUNIX
 
1068
endif
 
1069
endif
 
1070
ifdef OPT
 
1071
override FPCOPT+=$(OPT)
 
1072
endif
 
1073
ifdef FPCOPTDEF
 
1074
override FPCOPT+=$(addprefix -d,$(FPCOPTDEF))
 
1075
endif
 
1076
ifdef CFGFILE
 
1077
override FPCOPT+=@$(CFGFILE)
 
1078
endif
 
1079
ifdef USEENV
 
1080
override FPCEXTCMD:=$(FPCOPT)
 
1081
override FPCOPT:=!FPCEXTCMD
 
1082
export FPCEXTCMD
 
1083
endif
 
1084
override COMPILER:=$(FPC) $(FPCOPT)
 
1085
ifeq (,$(findstring -s ,$(COMPILER)))
 
1086
EXECPPAS=
 
1087
else
 
1088
ifeq ($(FULL_SOURCE),$(FULL_TARGET))
 
1089
EXECPPAS:=@$(PPAS)
 
1090
endif
 
1091
endif
 
1092
ifdef TARGET_RSTS
 
1093
override RSTFILES=$(addsuffix $(RSTEXT),$(TARGET_RSTS))
 
1094
override CLEANRSTFILES+=$(RSTFILES)
 
1095
endif
 
1096
.PHONY: fpc_install fpc_sourceinstall fpc_exampleinstall
 
1097
ifdef INSTALL_UNITS
 
1098
override INSTALLPPUFILES+=$(addsuffix $(PPUEXT),$(INSTALL_UNITS))
 
1099
endif
 
1100
ifdef INSTALL_BUILDUNIT
 
1101
override INSTALLPPUFILES:=$(filter-out $(INSTALL_BUILDUNIT)$(PPUEXT),$(INSTALLPPUFILES))
 
1102
endif
 
1103
ifdef INSTALLPPUFILES
 
1104
override INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES)))
 
1105
ifneq ($(UNITTARGETDIRPREFIX),)
 
1106
override INSTALLPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(notdir $(INSTALLPPUFILES)))
 
1107
override INSTALLPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(notdir $(INSTALLPPULINKFILES))))
 
1108
endif
 
1109
override INSTALL_CREATEPACKAGEFPC=1
 
1110
endif
 
1111
ifdef INSTALLEXEFILES
 
1112
ifneq ($(TARGETDIRPREFIX),)
 
1113
override INSTALLEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(notdir $(INSTALLEXEFILES)))
 
1114
endif
 
1115
endif
 
1116
fpc_install: all $(INSTALLTARGET)
 
1117
ifdef INSTALLEXEFILES
 
1118
        $(MKDIR) $(INSTALL_BINDIR)
 
1119
ifdef UPXPROG
 
1120
        -$(UPXPROG) $(INSTALLEXEFILES)
 
1121
endif
 
1122
        $(INSTALLEXE) $(INSTALLEXEFILES) $(INSTALL_BINDIR)
 
1123
endif
 
1124
ifdef INSTALL_CREATEPACKAGEFPC
 
1125
ifdef FPCMAKE
 
1126
ifdef PACKAGE_VERSION
 
1127
ifneq ($(wildcard Makefile.fpc),)
 
1128
        $(FPCMAKE) -p -T$(CPU_TARGET)-$(OS_TARGET) Makefile.fpc
 
1129
        $(MKDIR) $(INSTALL_UNITDIR)
 
1130
        $(INSTALL) Package.fpc $(INSTALL_UNITDIR)
 
1131
endif
 
1132
endif
 
1133
endif
 
1134
endif
 
1135
ifdef INSTALLPPUFILES
 
1136
        $(MKDIR) $(INSTALL_UNITDIR)
 
1137
        $(INSTALL) $(INSTALLPPUFILES) $(INSTALL_UNITDIR)
 
1138
ifneq ($(INSTALLPPULINKFILES),)
 
1139
        $(INSTALL) $(INSTALLPPULINKFILES) $(INSTALL_UNITDIR)
 
1140
endif
 
1141
ifneq ($(wildcard $(LIB_FULLNAME)),)
 
1142
        $(MKDIR) $(INSTALL_LIBDIR)
 
1143
        $(INSTALL) $(LIB_FULLNAME) $(INSTALL_LIBDIR)
 
1144
ifdef inUnix
 
1145
        ln -sf $(LIB_FULLNAME) $(INSTALL_LIBDIR)/$(LIB_NAME)
 
1146
endif
 
1147
endif
 
1148
endif
 
1149
ifdef INSTALL_FILES
 
1150
        $(MKDIR) $(INSTALL_DATADIR)
 
1151
        $(INSTALL) $(INSTALL_FILES) $(INSTALL_DATADIR)
 
1152
endif
 
1153
fpc_sourceinstall: distclean
 
1154
        $(MKDIR) $(INSTALL_SOURCEDIR)
 
1155
        $(COPYTREE) $(BASEDIR)/* $(INSTALL_SOURCEDIR)
 
1156
fpc_exampleinstall: $(addsuffix _distclean,$(TARGET_EXAMPLEDIRS))
 
1157
ifdef HASEXAMPLES
 
1158
        $(MKDIR) $(INSTALL_EXAMPLEDIR)
 
1159
endif
 
1160
ifdef EXAMPLESOURCEFILES
 
1161
        $(COPY) $(EXAMPLESOURCEFILES) $(INSTALL_EXAMPLEDIR)
 
1162
endif
 
1163
ifdef TARGET_EXAMPLEDIRS
 
1164
        $(COPYTREE) $(addsuffix /*,$(TARGET_EXAMPLEDIRS)) $(INSTALL_EXAMPLEDIR)
 
1165
endif
 
1166
.PHONY: fpc_distinstall
 
1167
fpc_distinstall: install exampleinstall
 
1168
.PHONY: fpc_zipinstall fpc_zipsourceinstall fpc_zipexampleinstall
 
1169
ifndef PACKDIR
 
1170
ifndef inUnix
 
1171
PACKDIR=$(BASEDIR)/../fpc-pack
 
1172
else
 
1173
PACKDIR=/tmp/fpc-pack
 
1174
endif
 
1175
endif
 
1176
ifndef ZIPNAME
 
1177
ifdef DIST_ZIPNAME
 
1178
ZIPNAME=$(DIST_ZIPNAME)
 
1179
else
 
1180
ZIPNAME=$(PACKAGE_NAME)
 
1181
endif
 
1182
endif
 
1183
ifndef FULLZIPNAME
 
1184
FULLZIPNAME=$(ZIPCROSSPREFIX)$(ZIPPREFIX)$(ZIPNAME)$(ZIPSUFFIX)
 
1185
endif
 
1186
ifndef ZIPTARGET
 
1187
ifdef DIST_ZIPTARGET
 
1188
ZIPTARGET=DIST_ZIPTARGET
 
1189
else
 
1190
ZIPTARGET=install
 
1191
endif
 
1192
endif
 
1193
ifndef USEZIP
 
1194
ifdef inUnix
 
1195
USETAR=1
 
1196
endif
 
1197
endif
 
1198
ifndef inUnix
 
1199
USEZIPWRAPPER=1
 
1200
endif
 
1201
ifdef USEZIPWRAPPER
 
1202
ZIPPATHSEP=$(PATHSEP)
 
1203
ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(SRCBATCHEXT))
 
1204
else
 
1205
ZIPPATHSEP=/
 
1206
endif
 
1207
ZIPCMD_CDPACK:=cd $(subst /,$(ZIPPATHSEP),$(PACKDIR))
 
1208
ZIPCMD_CDBASE:=cd $(subst /,$(ZIPPATHSEP),$(BASEDIR))
 
1209
ifdef USETAR
 
1210
ZIPDESTFILE:=$(DIST_DESTDIR)/$(FULLZIPNAME)$(TAREXT)
 
1211
ZIPCMD_ZIP:=$(TARPROG) cf$(TAROPT) $(ZIPDESTFILE) *
 
1212
else
 
1213
ZIPDESTFILE:=$(DIST_DESTDIR)/$(FULLZIPNAME)$(ZIPEXT)
 
1214
ZIPCMD_ZIP:=$(subst /,$(ZIPPATHSEP),$(ZIPPROG)) -Dr $(ZIPOPT) $(ZIPDESTFILE) *
 
1215
endif
 
1216
fpc_zipinstall:
 
1217
        $(MAKE) $(ZIPTARGET) INSTALL_PREFIX=$(PACKDIR) ZIPINSTALL=1
 
1218
        $(MKDIR) $(DIST_DESTDIR)
 
1219
        $(DEL) $(ZIPDESTFILE)
 
1220
ifdef USEZIPWRAPPER
 
1221
ifneq ($(ECHOREDIR),echo)
 
1222
        $(ECHOREDIR) -e "$(subst \,\\,$(ZIPCMD_CDPACK))" > $(ZIPWRAPPER)
 
1223
        $(ECHOREDIR) -e "$(subst \,\\,$(ZIPCMD_ZIP))" >> $(ZIPWRAPPER)
 
1224
        $(ECHOREDIR) -e "$(subst \,\\,$(ZIPCMD_CDBASE))" >> $(ZIPWRAPPER)
 
1225
else
 
1226
        echo $(ZIPCMD_CDPACK) > $(ZIPWRAPPER)
 
1227
        echo $(ZIPCMD_ZIP) >> $(ZIPWRAPPER)
 
1228
        echo $(ZIPCMD_CDBASE) >> $(ZIPWRAPPER)
 
1229
endif
 
1230
ifdef inUnix
 
1231
        /bin/sh $(ZIPWRAPPER)
 
1232
else
 
1233
        $(ZIPWRAPPER)
 
1234
endif
 
1235
        $(DEL) $(ZIPWRAPPER)
 
1236
else
 
1237
        $(ZIPCMD_CDPACK) ; $(ZIPCMD_ZIP) ; $(ZIPCMD_CDBASE)
 
1238
endif
 
1239
        $(DELTREE) $(PACKDIR)
 
1240
fpc_zipsourceinstall:
 
1241
        $(MAKE) fpc_zipinstall ZIPTARGET=sourceinstall ZIPSUFFIX=$(ZIPSOURCESUFFIX)
 
1242
fpc_zipexampleinstall:
 
1243
ifdef HASEXAMPLES
 
1244
        $(MAKE) fpc_zipinstall ZIPTARGET=exampleinstall ZIPSUFFIX=$(ZIPEXAMPLESUFFIX)
 
1245
endif
 
1246
fpc_zipdistinstall:
 
1247
        $(MAKE) fpc_zipinstall ZIPTARGET=distinstall
 
1248
.PHONY: fpc_clean fpc_cleanall fpc_distclean
 
1249
ifdef EXEFILES
 
1250
override CLEANEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(CLEANEXEFILES))
 
1251
endif
 
1252
ifdef CLEAN_UNITS
 
1253
override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 
1254
endif
 
1255
ifdef CLEANPPUFILES
 
1256
override CLEANPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES)))
 
1257
ifdef DEBUGSYMEXT
 
1258
override CLEANPPULINKFILES+=$(subst $(PPUEXT),$(DEBUGSYMEXT),$(CLEANPPUFILES))
 
1259
endif
 
1260
override CLEANPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPUFILES))
 
1261
override CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 
1262
endif
 
1263
fpc_clean: $(CLEANTARGET)
 
1264
ifdef CLEANEXEFILES
 
1265
        -$(DEL) $(CLEANEXEFILES)
 
1266
endif
 
1267
ifdef CLEANPPUFILES
 
1268
        -$(DEL) $(CLEANPPUFILES)
 
1269
endif
 
1270
ifneq ($(CLEANPPULINKFILES),)
 
1271
        -$(DEL) $(CLEANPPULINKFILES)
 
1272
endif
 
1273
ifdef CLEANRSTFILES
 
1274
        -$(DEL) $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANRSTFILES))
 
1275
endif
 
1276
ifdef CLEAN_FILES
 
1277
        -$(DEL) $(CLEAN_FILES)
 
1278
endif
 
1279
ifdef LIB_NAME
 
1280
        -$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 
1281
endif
 
1282
        -$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
 
1283
        -$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 
1284
fpc_cleanall: $(CLEANTARGET)
 
1285
ifdef CLEANEXEFILES
 
1286
        -$(DEL) $(CLEANEXEFILES)
 
1287
endif
 
1288
ifdef COMPILER_UNITTARGETDIR
 
1289
ifdef CLEANPPUFILES
 
1290
        -$(DEL) $(CLEANPPUFILES)
 
1291
endif
 
1292
ifneq ($(CLEANPPULINKFILES),)
 
1293
        -$(DEL) $(CLEANPPULINKFILES)
 
1294
endif
 
1295
ifdef CLEANRSTFILES
 
1296
        -$(DEL) $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANRSTFILES))
 
1297
endif
 
1298
endif
 
1299
        -$(DELTREE) units
 
1300
        -$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 
1301
ifneq ($(PPUEXT),.ppu)
 
1302
        -$(DEL) *.o *.ppu *.a
 
1303
endif
 
1304
        -$(DELTREE) *$(SMARTEXT)
 
1305
        -$(DEL) fpcmade.* Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
 
1306
        -$(DEL) *_ppas$(BATCHEXT)
 
1307
ifdef AOUTEXT
 
1308
        -$(DEL) *$(AOUTEXT)
 
1309
endif
 
1310
ifdef DEBUGSYMEXT
 
1311
        -$(DEL) *$(DEBUGSYMEXT)
 
1312
endif
 
1313
fpc_distclean: cleanall
 
1314
.PHONY: fpc_baseinfo
 
1315
override INFORULES+=fpc_baseinfo
 
1316
fpc_baseinfo:
 
1317
        @$(ECHO)
 
1318
        @$(ECHO)  == Package info ==
 
1319
        @$(ECHO)  Package Name..... $(PACKAGE_NAME)
 
1320
        @$(ECHO)  Package Version.. $(PACKAGE_VERSION)
 
1321
        @$(ECHO)
 
1322
        @$(ECHO)  == Configuration info ==
 
1323
        @$(ECHO)
 
1324
        @$(ECHO)  FPC.......... $(FPC)
 
1325
        @$(ECHO)  FPC Version.. $(FPC_VERSION)
 
1326
        @$(ECHO)  Source CPU... $(CPU_SOURCE)
 
1327
        @$(ECHO)  Target CPU... $(CPU_TARGET)
 
1328
        @$(ECHO)  Source OS.... $(OS_SOURCE)
 
1329
        @$(ECHO)  Target OS.... $(OS_TARGET)
 
1330
        @$(ECHO)  Full Source.. $(FULL_SOURCE)
 
1331
        @$(ECHO)  Full Target.. $(FULL_TARGET)
 
1332
        @$(ECHO)  SourceSuffix. $(SOURCESUFFIX)
 
1333
        @$(ECHO)  TargetSuffix. $(TARGETSUFFIX)
 
1334
        @$(ECHO)
 
1335
        @$(ECHO)  == Directory info ==
 
1336
        @$(ECHO)
 
1337
        @$(ECHO)  Required pkgs... $(REQUIRE_PACKAGES)
 
1338
        @$(ECHO)
 
1339
        @$(ECHO)  Basedir......... $(BASEDIR)
 
1340
        @$(ECHO)  FPCDir.......... $(FPCDIR)
 
1341
        @$(ECHO)  CrossBinDir..... $(CROSSBINDIR)
 
1342
        @$(ECHO)  UnitsDir........ $(UNITSDIR)
 
1343
        @$(ECHO)  PackagesDir..... $(PACKAGESDIR)
 
1344
        @$(ECHO)
 
1345
        @$(ECHO)  GCC library..... $(GCCLIBDIR)
 
1346
        @$(ECHO)  Other library... $(OTHERLIBDIR)
 
1347
        @$(ECHO)
 
1348
        @$(ECHO)  == Tools info ==
 
1349
        @$(ECHO)
 
1350
        @$(ECHO)  As........ $(AS)
 
1351
        @$(ECHO)  Ld........ $(LD)
 
1352
        @$(ECHO)  Ar........ $(AR)
 
1353
        @$(ECHO)  Rc........ $(RC)
 
1354
        @$(ECHO)
 
1355
        @$(ECHO)  Mv........ $(MVPROG)
 
1356
        @$(ECHO)  Cp........ $(CPPROG)
 
1357
        @$(ECHO)  Rm........ $(RMPROG)
 
1358
        @$(ECHO)  GInstall.. $(GINSTALL)
 
1359
        @$(ECHO)  Echo...... $(ECHO)
 
1360
        @$(ECHO)  Shell..... $(SHELL)
 
1361
        @$(ECHO)  Date...... $(DATE)
 
1362
        @$(ECHO)  FPCMake... $(FPCMAKE)
 
1363
        @$(ECHO)  PPUMove... $(PPUMOVE)
 
1364
        @$(ECHO)  Upx....... $(UPXPROG)
 
1365
        @$(ECHO)  Zip....... $(ZIPPROG)
 
1366
        @$(ECHO)
 
1367
        @$(ECHO)  == Object info ==
 
1368
        @$(ECHO)
 
1369
        @$(ECHO)  Target Loaders........ $(TARGET_LOADERS)
 
1370
        @$(ECHO)  Target Units.......... $(TARGET_UNITS)
 
1371
        @$(ECHO)  Target Implicit Units. $(TARGET_IMPLICITUNITS)
 
1372
        @$(ECHO)  Target Programs....... $(TARGET_PROGRAMS)
 
1373
        @$(ECHO)  Target Dirs........... $(TARGET_DIRS)
 
1374
        @$(ECHO)  Target Examples....... $(TARGET_EXAMPLES)
 
1375
        @$(ECHO)  Target ExampleDirs.... $(TARGET_EXAMPLEDIRS)
 
1376
        @$(ECHO)
 
1377
        @$(ECHO)  Clean Units......... $(CLEAN_UNITS)
 
1378
        @$(ECHO)  Clean Files......... $(CLEAN_FILES)
 
1379
        @$(ECHO)
 
1380
        @$(ECHO)  Install Units....... $(INSTALL_UNITS)
 
1381
        @$(ECHO)  Install Files....... $(INSTALL_FILES)
 
1382
        @$(ECHO)
 
1383
        @$(ECHO)  == Install info ==
 
1384
        @$(ECHO)
 
1385
        @$(ECHO)  DateStr.............. $(DATESTR)
 
1386
        @$(ECHO)  ZipName.............. $(ZIPNAME)
 
1387
        @$(ECHO)  ZipPrefix............ $(ZIPPREFIX)
 
1388
        @$(ECHO)  ZipCrossPrefix....... $(ZIPCROSSPREFIX)
 
1389
        @$(ECHO)  ZipSuffix............ $(ZIPSUFFIX)
 
1390
        @$(ECHO)  FullZipName.......... $(FULLZIPNAME)
 
1391
        @$(ECHO)  Install FPC Package.. $(INSTALL_FPCPACKAGE)
 
1392
        @$(ECHO)
 
1393
        @$(ECHO)  Install base dir..... $(INSTALL_BASEDIR)
 
1394
        @$(ECHO)  Install binary dir... $(INSTALL_BINDIR)
 
1395
        @$(ECHO)  Install library dir.. $(INSTALL_LIBDIR)
 
1396
        @$(ECHO)  Install units dir.... $(INSTALL_UNITDIR)
 
1397
        @$(ECHO)  Install source dir... $(INSTALL_SOURCEDIR)
 
1398
        @$(ECHO)  Install doc dir...... $(INSTALL_DOCDIR)
 
1399
        @$(ECHO)  Install example dir.. $(INSTALL_EXAMPLEDIR)
 
1400
        @$(ECHO)  Install data dir..... $(INSTALL_DATADIR)
 
1401
        @$(ECHO)
 
1402
        @$(ECHO)  Dist destination dir. $(DIST_DESTDIR)
 
1403
        @$(ECHO)  Dist zip name........ $(DIST_ZIPNAME)
 
1404
        @$(ECHO)
 
1405
.PHONY: fpc_info
 
1406
fpc_info: $(INFORULES)
 
1407
.PHONY: fpc_makefile fpc_makefiles fpc_makefile_sub1 fpc_makefile_sub2 \
 
1408
        fpc_makefile_dirs
 
1409
fpc_makefile:
 
1410
        $(FPCMAKE) -w -T$(OS_TARGET) Makefile.fpc
 
1411
fpc_makefile_sub1:
 
1412
ifdef TARGET_DIRS
 
1413
        $(FPCMAKE) -w -T$(OS_TARGET) $(addsuffix /Makefile.fpc,$(TARGET_DIRS))
 
1414
endif
 
1415
ifdef TARGET_EXAMPLEDIRS
 
1416
        $(FPCMAKE) -w -T$(OS_TARGET) $(addsuffix /Makefile.fpc,$(TARGET_EXAMPLEDIRS))
 
1417
endif
 
1418
fpc_makefile_sub2: $(addsuffix _makefile_dirs,$(TARGET_DIRS) $(TARGET_EXAMPLEDIRS))
 
1419
fpc_makefile_dirs: fpc_makefile_sub1 fpc_makefile_sub2
 
1420
fpc_makefiles: fpc_makefile fpc_makefile_dirs
 
1421
debug:
 
1422
smart:
 
1423
release:
 
1424
units:
 
1425
shared:
 
1426
sourceinstall: fpc_sourceinstall
 
1427
exampleinstall: fpc_exampleinstall
 
1428
distinstall: fpc_distinstall
 
1429
zipinstall: fpc_zipinstall
 
1430
zipsourceinstall: fpc_zipsourceinstall
 
1431
zipexampleinstall: fpc_zipexampleinstall
 
1432
zipdistinstall: fpc_zipdistinstall
 
1433
cleanall:
 
1434
info: fpc_info
 
1435
makefiles: fpc_makefiles
 
1436
.PHONY: debug smart release units shared sourceinstall exampleinstall distinstall zipinstall zipsourceinstall zipexampleinstall zipdistinstall cleanall info makefiles
 
1437
ifneq ($(wildcard fpcmake.loc),)
 
1438
include fpcmake.loc
 
1439
endif
 
1440
ifndef DOCS
 
1441
DOCS = user rtl ref prog fpdoc chart
 
1442
endif
139
1443
PREAMBLETYPE = report
140
 
endif
141
 
endif
142
 
 
143
 
# Where do you want the html files to be put ?
144
 
ifndef PREFIXINSTALLDIR
145
 
PREFIXINSTALLDIR=/usr
146
 
endif
147
 
 
148
 
ifndef DOCINSTALLDIR
149
 
DOCINSTALLDIR:=$(PREFIXINSTALLDIR)/doc/fpc-$(shell $(FPC) -iV)
150
 
endif
151
 
 
 
1444
ifndef CROSSCOMPILE
152
1445
ifndef FPDOC
153
1446
ifneq ($(wildcard ../utils/fpdoc/fpdoc),)
154
1447
FPDOC=../utils/fpdoc/fpdoc
156
1449
FPDOC=fpdoc
157
1450
endif
158
1451
endif
159
 
 
 
1452
endif
160
1453
ifndef FPCSRCDIR
161
1454
FPCSRCDIR=..
162
1455
endif
163
 
 
164
 
# Use Ascii mode ? (i.e. no pics in produced HTML ?)
165
1456
ifndef ASCIIMODE
166
1457
ASCIIMODE=NO
167
1458
endif
168
 
 
169
 
 
170
 
#######################################################################
171
 
# LaTeX Program definitions
172
 
#######################################################################
173
 
# Latex itself
174
1459
ifndef LATEX
175
1460
LATEX = latex
176
1461
endif
177
 
# DVI to PS converter
178
1462
ifndef DVIPS
179
1463
DVIPS=dvips
180
1464
endif
181
 
# DVI to TXT converter
182
1465
ifndef DVITXT
183
1466
DVITXT=dvi2tty -w132
184
1467
endif
185
 
# PDF converter
186
1468
ifndef PDFLATEX
187
1469
PDFLATEX=pdflatex
188
1470
endif
189
 
# Makeindex programma
190
1471
ifndef MAKEINDEX
191
1472
MAKEINDEX=makeindex
192
1473
endif
193
 
 
194
 
#######################################################################
195
 
# Latex2html conversion.
196
 
#######################################################################
197
1474
ifdef USEL2H
198
 
# Command to use.
199
1475
ifndef LATEX2HTML
200
1476
LATEX2HTML = /usr/bin/latex2html
201
1477
endif
202
 
# Default options for converter
203
1478
ifndef LATEX2HTMLOPTS
204
1479
LATEX2HTMLOPTS = -no_reuse -up_url "../fpctoc.html"\
205
 
                 -up_title "Free Pascal manuals"\
206
 
                 -html_version 4.0 -split 3
 
1480
                 -up_title "Free Pascal manuals"\
 
1481
                 -html_version 4.0 -split 3
 
1482
endif
 
1483
ifeq ($(ASCIIMODE),YES)
 
1484
LATEX2HTMLOPTS+=-ascii_mode
207
1485
endif
208
1486
endif # USEL2H
209
 
#######################################################################
210
 
# HEVEA conversion.
211
 
#######################################################################
212
1487
ifdef USEHEVEA
213
 
# Hevea conversion.
214
1488
ifndef HEVEA
215
1489
HEVEA = /usr/bin/hevea
216
1490
endif
 
1491
ifeq ($(ASCIIMODE),YES)
 
1492
HEVEAOPTS+=-text
 
1493
endif
217
1494
endif # USEHEVEA
218
 
 
219
 
# tmpdir
220
1495
export TMP=/tmp
221
 
#
222
 
 
223
 
#######################################################################
224
 
# End of configurable section. Do not edit after this line.
225
 
#######################################################################
226
 
 
227
 
PS = $(addsuffix .ps, $(HTML))
228
 
DVI = $(addsuffix .dvi, $(HTML))
229
 
TXT = $(addsuffix .txt, $(HTML))
230
 
PDF = $(addsuffix .pdf, $(HTML))
231
 
TOC = $(addsuffix .toc, $(HTML) onechap)
232
 
AUX = $(addsuffix .aux, $(HTML) onechap)
233
 
LOG = $(addsuffix .log, $(HTML) onechap)
234
 
LOT = $(addsuffix .lot, $(HTML) onechap)
235
 
OUT = $(addsuffix .out, $(HTML) onechap)
236
 
CHK = $(addsuffix .chk, $(HTML) progex unitex refex htex onechap scripts)
237
 
 
238
 
CHAPTERS = $(addsuffix .tex, crt dos getopts go32 graph linux printer\
239
 
             strings objects heaptrc sysutils ipc mouse gpm dxeload \
240
 
             emu387 ports math keyboard typinfo video)
241
 
 
242
 
 
243
 
GTKPDF=$(addsuffix .pdf,$(addprefix gtk, 1 2 3 4 5))
244
 
 
245
 
# Check if ascii-mode requested
246
 
ifeq ($(ASCIIMODE),YES)
247
 
ifdef USEL2H
248
 
LATEX2HTMLOPTS+=-ascii_mode
249
 
endif
250
 
ifdef USEHEVEA
251
 
HEVEAOPTS+=-text
252
 
endif
253
 
endif
254
 
 
255
 
 
256
 
#####################################################################
257
 
# Conversion from types
258
 
#####################################################################
259
 
 
260
 
.PHONY: clean dvi help html ps psdist htmldist pdfdist txtdist \
261
 
        htm txt pdf refex alldist messages onechap gtk \
262
 
        user ref prog units
263
 
 
 
1496
PS = $(addsuffix .ps, $(DOCS))
 
1497
DVI = $(addsuffix .dvi, $(DOCS))
 
1498
TXT = $(addsuffix .txt, $(DOCS))
 
1499
PDF = $(addsuffix .pdf, $(DOCS))
 
1500
TOC = $(addsuffix .toc, $(DOCS))
 
1501
AUX = $(addsuffix .aux, $(DOCS))
 
1502
LOG = $(addsuffix .log, $(DOCS))
 
1503
LOT = $(addsuffix .lot, $(DOCS))
 
1504
OUT = $(addsuffix .out, $(DOCS))
 
1505
HTML = $(DOCS)
 
1506
CHK = $(addsuffix .chk, $(DOCS))
 
1507
.PHONY: clean dvi help html ps psdist htmldist htmdist htdist pdfdist \
 
1508
        txtdist htm txt pdf refex alldist messages onechap gtk \
 
1509
        user ref prog rtl
264
1510
.SUFFIXES: .dvi .tex .ps .txt .pdf
265
 
 
266
 
# default show help
267
 
 
268
1511
.dvi.ps:
269
1512
        $(DVIPS) $<
270
 
 
271
1513
.tex.dvi:
272
 
        $(LATEX) $*
273
 
        -$(MAKEINDEX) $*
274
 
        $(LATEX) $*
275
 
        -$(MAKEINDEX) $*
276
 
        $(LATEX) $*
277
 
 
 
1514
        -rm $*.aux $*.idx  $*.ilg  $*.ind  $*.log  $*.out  $*.toc $*.tmp $*.xref $*.4ht
 
1515
        cp -f preamble.$(PREAMBLETYPE) preamble.inc
 
1516
        $(LATEX) $*
 
1517
        -$(MAKEINDEX) $*
 
1518
        $(LATEX) $*
 
1519
        -$(MAKEINDEX) $*
 
1520
        $(LATEX) $*
278
1521
.dvi.txt:
279
1522
        $(DVITXT) -o $*.txt  $*.dvi
280
 
 
281
1523
.tex.pdf:
282
 
        $(PDFLATEX) $*
283
 
        -$(MAKEINDEX) $*
284
 
        $(PDFLATEX) $*
285
 
        -$(MAKEINDEX) $*
286
 
        $(PDFLATEX) $*
287
 
 
288
 
 
289
 
#####################################################################
290
 
# Targets
291
 
#####################################################################
292
 
 
 
1524
        -rm $*.aux $*.idx  $*.ilg  $*.ind  $*.log  $*.out  $*.toc $*.tmp $*.xref $*.4ht
 
1525
        cp -f preamble.$(PREAMBLETYPE) preamble.inc
 
1526
        $(PDFLATEX) $*
 
1527
        -$(MAKEINDEX) $*
 
1528
        $(PDFLATEX) $*
 
1529
        -$(MAKEINDEX) $*
 
1530
        $(PDFLATEX) $*
 
1531
$(TXT) : %.txt: %.dvi
 
1532
$(DVI) : %.dvi: %.tex
 
1533
$(PDF) : %.pdf: %.tex
293
1534
help:
294
1535
        @echo 'Possible targets :'
295
1536
        @echo ' dvi           : Make documentation using latex.'
309
1550
        @echo ' htmldist      : html, and rchive result.'
310
1551
        @echo ' psdist        : ps, and archive result.'
311
1552
        @echo ' pdfdist       : pdf, and archive result.'
312
 
 
313
1553
clean:
314
 
        -rm -f preamble.inc date.inc htex.sed
315
 
        -rm -f *.htex *.hind *.haux *.htoc $(addsuffix *.html,$(HTML))
 
1554
        -rm -f preamble.inc date.inc messages.inc rtl.inc
316
1555
        -rm -f *.4tc *.4ct *.css *.lg *.tmp *.xref
317
 
        -rm -rf $(HTML) onechap
318
 
        -rm -f $(TOC) $(LOG) $(DVI) $(PDF) $(AUX) $(OUT) $(PS) *.i* $(LOT) $(TXT) $(CHK)
319
 
        -rm -f onechap.dvi onechap.pdf onechap.ps onechap.out onechap.log onechap.aux
320
 
# Styles
321
 
        -rm -f $(notdir $(wildcard styles/*))
322
 
# Units
323
 
        -$(MAKE) -C crtex clean
324
 
        -$(MAKE) -C dosex clean
325
 
        -$(MAKE) -C go32ex clean
326
 
        -$(MAKE) -C heapex clean
327
 
        -$(MAKE) -C ipcex clean
328
 
        -$(MAKE) -C linuxex clean
329
 
        -$(MAKE) -C mmouseex clean
330
 
        -$(MAKE) -C mouseex clean
331
 
        -$(MAKE) -C objectex clean
332
 
        -$(MAKE) -C optex clean
333
 
        -$(MAKE) -C printex clean
334
 
        -$(MAKE) -C sockex clean
335
 
        -$(MAKE) -C stringex clean
336
 
        -$(MAKE) -C sysutex clean
337
 
        -$(MAKE) -C mathex clean
338
 
        -$(MAKE) -C graphex clean
339
 
        -$(MAKE) -C gpmex clean
340
 
        -$(MAKE) -C typinfex clean
341
 
        -$(MAKE) -C kbdex clean
342
 
        -$(MAKE) -C videoex clean
343
 
# Reference
344
 
        -$(MAKE) -C refex clean
345
 
# Programmers manual
346
 
        -$(MAKE) -C progex clean
347
 
 
348
 
$(TXT) : %.txt: %.dvi
349
 
 
350
 
$(DVI) : %.dvi: %.tex
351
 
 
352
 
$(PDF) : %.pdf: %.tex
353
 
 
354
 
unitex.chk:
355
 
ifndef INSTALLDEBUG
356
 
        $(MAKE) -C crtex tex
357
 
        $(MAKE) -C dosex tex
358
 
        $(MAKE) -C go32ex tex
359
 
        $(MAKE) -C heapex tex
360
 
        $(MAKE) -C ipcex tex
361
 
        $(MAKE) -C linuxex tex
362
 
        $(MAKE) -C mouseex tex
363
 
        $(MAKE) -C mmouseex tex
364
 
        $(MAKE) -C objectex tex
365
 
        $(MAKE) -C optex tex
366
 
        $(MAKE) -C printex tex
367
 
        $(MAKE) -C sockex tex
368
 
        $(MAKE) -C stringex tex
369
 
        $(MAKE) -C sysutex tex
370
 
        $(MAKE) -C mathex tex
371
 
        $(MAKE) -C graphex tex
372
 
        $(MAKE) -C gpmex tex
373
 
        $(MAKE) -C kbdex tex
374
 
        $(MAKE) -C typinfex tex
375
 
        $(MAKE) -C videoex tex
376
 
endif
377
 
        touch unitex.chk
378
 
 
379
 
refex.chk:
380
 
ifndef INSTALLDEBUG
381
 
        $(MAKE) -C refex tex
382
 
endif
383
 
        touch refex.chk
384
 
 
385
 
progex.chk:
386
 
ifndef INSTALLDEBUG
387
 
        $(MAKE) -C progex tex
388
 
endif
389
 
        touch progex.chk
390
 
 
391
 
messages:
392
 
        msg2inc -TE ../compiler/errore.msg messages.tex
393
 
 
394
 
#
395
 
# Include files
396
 
#
397
 
 
 
1556
        -rm -rf $(DOCS)
 
1557
        -rm -f $(CHK) $(TOC) $(LOG) $(DVI) $(PDF) $(AUX) $(OUT) $(PS) $(HTML) *.i* $(LOT) $(TXT)
 
1558
        -rm -f $(notdir $(wildcard styles/*.sty))
 
1559
distclean: clean cleanexamples
 
1560
        -rm -f *.tar.gz *.zip
398
1561
date.inc:
399
1562
        @echo \\date\{`date +'%B %Y'`\} > date.inc
400
 
 
401
 
preamble.inc:
402
 
        cp -f preamble.$(PREAMBLETYPE) preamble.inc
403
 
 
404
 
ifeq ($(OS),Windows_NT)
405
 
inWinNT=1
406
 
endif
407
 
 
408
 
ifndef inWinNT
409
 
scripts.chk:
410
 
        chmod +x tex2htex
411
 
        chmod +x pp2tex
412
 
        chmod +x progex/c2tex
413
 
        touch scripts.chk
414
 
endif
415
 
 
416
 
# Local copy of the required styles
 
1563
../compiler/msg2inc$(EXEEXT):
 
1564
        $(MAKE) -C ../compiler msg2inc
 
1565
messages.inc: ../compiler/msg2inc$(EXEEXT) ../compiler/msg/errore.msg
 
1566
        ../compiler/msg2inc -TE ../compiler/msg/errore.msg messages.inc
417
1567
syntax.sty: styles/syntax.sty
418
 
        cp $(wildcard styles/*.*) .
419
 
 
420
 
ifndef inWinNT
421
 
includes: date.inc preamble.inc syntax.sty scripts.chk
 
1568
        cp $(wildcard styles/*.sty) .
 
1569
INCLUDES=date.inc syntax.sty
 
1570
SYSTEMUNITDIR=$(OS_SOURCE)
 
1571
ifeq ($(findstring bsd,$(OS_SOURCE)),)
 
1572
override SYSTEMUNITDIR=bsd
 
1573
endif
 
1574
ifeq ($(findstring darwin,$(OS_SOURCE)),)
 
1575
override SYSTEMUNITDIR=bsd
 
1576
endif
 
1577
HOSTOS=$(OS_SOURCE)
 
1578
ifneq ($(findstring $(OS_SOURCE),linux freebsd darwin netbsd openbsd),)
 
1579
CLASSESUNITDIR=unix
422
1580
else
423
 
includes: date.inc preamble.inc syntax.sty
 
1581
CLASSESUNITDIR=$(OS_SOURCE)
424
1582
endif
425
 
 
426
 
 
427
 
#####################################################################
428
 
# Tex from XML
429
 
#####################################################################
430
 
FCLOPTS=--package=fcl --descr=classes.xml --input='$(FPCSRCDIR)/rtl/$(HOSTOS)/classes.pp -Fi$(FPCSRCDIR)/rtl/objpas/classes'
431
 
 
 
1583
FCLOPTS=--package=fcl --descr=classes.xml --input='$(FPCSRCDIR)/rtl/$(OS_SOURCE)/classes.pp -Fi$(FPCSRCDIR)/rtl/objpas/classes'
432
1584
fcl.inc: classes.xml
433
1585
        $(FPDOC) --output=fcl.inc $(FCLOPTS) --format=latex
434
 
 
435
 
#####################################################################
436
 
# DVI files
437
 
#####################################################################
438
 
 
439
 
onechap: onechap.dvi
440
 
 
441
 
units.dvi: units.tex includes $(CHAPTERS)
442
 
 
443
 
ref.dvi: ref.tex includes
444
 
 
445
 
prog.dvi: prog.tex includes
446
 
 
447
 
user.dvi: user.tex includes
448
 
 
449
 
fpdoc.dvi: fpdoc.tex includes
450
 
 
451
 
fcl.dvi: fcl.tex fcl.inc includes
452
 
 
 
1586
RTLOPTS=--hide-protected --warn-no-node --package=rtl --descr=rtl.xml
 
1587
ifndef CURRENTXMLONLY
 
1588
XMLUNITS=sysutils strutils dateutils strings mouse keyboard \
 
1589
         crt video dos sockets objects heaptrc mmx ipc printer typinfo \
 
1590
         ports getopts emu387 dxeload go32 gpm graph oldlinux baseunix \
 
1591
         unixtype unix classes unixutil x86 dynlibs linux math system\
 
1592
         objpas dateutils rtl
 
1593
RTLXML=$(addsuffix .xml,$(XMLUNITS))
 
1594
RTLOPTS+= --descr=strutils.xml --input="../rtl/objpas/strutils.pp"
 
1595
RTLOPTS+= --descr=sysutils.xml --input="../rtl/unix/sysutils.pp -Fi../rtl/objpas/sysutils -Fi../rtl/inc"
 
1596
RTLOPTS+= --descr=strings.xml --input="../rtl/inc/strings.pp -Fi../rtl/i386 -Fi../rtl/inc"
 
1597
RTLOPTS+= --descr=mouse.xml --input="../rtl/unix/mouse.pp -Fi../rtl/inc"
 
1598
RTLOPTS+= --descr=keyboard.xml --input="../rtl/unix/keyboard.pp -Fi../rtl/inc"
 
1599
RTLOPTS+= --descr=crt.xml --input="../rtl/unix/crt.pp -Fi../rtl/inc"
 
1600
RTLOPTS+= --descr=video.xml --input="../rtl/unix/video.pp -Fi../rtl/inc"
 
1601
RTLOPTS+= --descr=dos.xml --input="../rtl/unix/dos.pp -Fi../rtl/inc -dcpui386"
 
1602
RTLOPTS+= --descr=sockets.xml --input="-dver1_0 ../rtl/unix/sockets.pp -Fi../rtl/inc -Fi../rtl/$(OS_SOURCE)"
 
1603
RTLOPTS+= --descr=objects.xml --input="../rtl/inc/objects.pp -Fi../rtl/i386 -Fi../rtl/$(OS_SOURCE)"
 
1604
RTLOPTS+= --descr=heaptrc.xml --input="../rtl/inc/heaptrc.pp -Fi../rtl/i386 -Fi../rtl/$(OS_SOURCE)"
 
1605
RTLOPTS+= --descr=mmx.xml --input="../rtl/i386/mmx.pp -Fi../rtl/$(OS_SOURCE)"
 
1606
RTLOPTS+= --descr=ipc.xml --input="../rtl/unix/ipc.pp -Fi../rtl/$(OS_SOURCE)"
 
1607
RTLOPTS+= --descr=printer.xml --input="../rtl/unix/printer.pp -Fi../rtl/$(OS_SOURCE) -Fi../rtl/inc"
 
1608
RTLOPTS+= --descr=typinfo.xml --input="../rtl/objpas/typinfo.pp -Fi../rtl/$(OS_SOURCE)"
 
1609
RTLOPTS+= --descr=ports.xml --input="../rtl/unix/ports.pp -Fi../rtl/$(OS_SOURCE)"
 
1610
RTLOPTS+= --descr=getopts.xml --input="../rtl/inc/getopts.pp -Fi../rtl/$(OS_SOURCE)"
 
1611
RTLOPTS+= --descr=emu387.xml --input="../rtl/go32v2/emu387.pp -Fi../rtl/i386"
 
1612
RTLOPTS+= --descr=dxeload.xml --input="../rtl/go32v2/dxeload.pp -Fi../rtl/i386"
 
1613
RTLOPTS+= --descr=go32.xml --input="../rtl/go32v2/go32.pp -Fi../rtl/i386"
 
1614
RTLOPTS+= --descr=gpm.xml --input="-dVER1_0 ../rtl/linux/gpm.pp -Fi../rtl/i386"
 
1615
RTLOPTS+= --descr=graph.xml --input="../rtl/unix/graph.pp -Fi../rtl/i386 -Fi../rtl/inc/graph"
 
1616
RTLOPTS+= --descr=oldlinux.xml --input="../rtl/unix/oldlinux.pp -Fi../rtl/linux -Fi../rtl/unix"
 
1617
RTLOPTS+= --descr=unixtype.xml --input="../rtl/unix/unixtype.pp -Fi../rtl/unix -Fi../rtl/linux -Fi../rtl/linux/i386"
 
1618
RTLOPTS+= --descr=baseunix.xml --input="../rtl/unix/baseunix.pp -Fi../rtl/unix -Fi../rtl/linux -Fi../rtl/linux/i386"
 
1619
RTLOPTS+= --descr=unix.xml  --input="../rtl/unix/unix.pp -Fi../rtl/unix -Fi../rtl/linux -Fi../rtl/linux/i386"
 
1620
RTLOPTS+= --descr=classes.xml --input='$(FPCSRCDIR)/rtl/$(CLASSESUNITDIR)/classes.pp -Fi$(FPCSRCDIR)/rtl/objpas/classes'
 
1621
RTLOPTS+= --descr=unixutil.xml --input="../rtl/unix/unixutil.pp"
 
1622
RTLOPTS+= --descr=x86.xml --input="../rtl/unix/x86.pp"
 
1623
RTLOPTS+= --descr=dynlibs.xml --input="../rtl/inc/dynlibs.pp -Fi../rtl/unix"
 
1624
RTLOPTS+= --descr=linux.xml --input="../rtl/unix/linux.pp -Fi../rtl/linux -Fi../rtl/unix"
 
1625
RTLOPTS+= --descr=math.xml --input="../rtl/objpas/math.pp -Fi../rtl/i386 -dFPC_HAS_TYPE_EXTENDED"
 
1626
RTLOPTS+= --descr=system.xml --input="-dfpdocsystem -dHASGETHEAPSTATUS -dSUPPORT_DOUBLE ../rtl/$(SYSTEMUNITDIR)/system.pp -Fi../rtl/$(OS_SOURCE) -Fi../rtl/unix -Fi../rtl/inc -Fi../rtl/i386 -dCPU32 -dHASVARIANT -dFPC_HAS_TYPE_EXTENDED -dHASWIDECHAR"
 
1627
RTLOPTS+=--descr=objpas.xml --input="-dHASINTF ../rtl/objpas/objpas.pp"
 
1628
RTLOPTS+=--descr=dateutils.xml --input="../rtl/objpas/dateutils.pp -Fi../rtl/objpas"
 
1629
else
 
1630
RTLXML=dateutils.xml
 
1631
RTLOPTS+=--descr=dateutils.xml --input="../rtl/objpas/dateutils.pp -Fi../rtl/objpas"
 
1632
endif
 
1633
rtl.inc: $(RTLXML)
 
1634
        $(FPDOC) --output=rtl.inc $(RTLOPTS) --format=latex
 
1635
ref.dvi: ref.tex $(INCLUDES)
 
1636
prog.dvi: prog.tex $(INCLUDES)
 
1637
user.dvi: user.tex $(INCLUDES) messages.inc
 
1638
fpdoc.dvi: fpdoc.tex $(INCLUDES)
 
1639
fcl.dvi: fcl.tex fcl.inc $(INCLUDES)
453
1640
chart.dvi: chart.tex
454
 
 
455
 
units.pdf: units.tex includes $(CHAPTERS)
456
 
 
457
 
ref.pdf: ref.tex includes
458
 
 
459
 
user.pdf: user.tex includes
460
 
 
461
 
prog.pdf: prog.tex includes
462
 
 
463
 
onechap.pdf: onechap.tex includes
464
 
 
465
 
onechap.dvi: onechap.tex includes
466
 
 
467
 
fpdoc.pdf: fpdoc.tex includes
468
 
 
469
 
fcl.pdf: fcl.tex fcl.inc includes
470
 
 
 
1641
ref.pdf: ref.tex $(INCLUDES)
 
1642
user.pdf: user.tex $(INCLUDES) messages.inc
 
1643
prog.pdf: prog.tex $(INCLUDES)
 
1644
onechap.pdf: onechap.tex $(INCLUDES)
 
1645
onechap.dvi: onechap.tex $(INCLUDES)
 
1646
fpdoc.pdf: fpdoc.tex $(INCLUDES)
 
1647
fcl.pdf: fcl.tex fcl.inc $(INCLUDES)
471
1648
chart.pdf: chart.tex
472
 
 
 
1649
rtl.dvi: rtl.tex rtl.inc $(INCLUDES)
 
1650
rtl.pdf: rtl.tex rtl.inc $(INCLUDES)
473
1651
dvi : $(DVI)
474
 
 
475
1652
txt : dvi $(TXT)
476
 
 
477
1653
ps : dvi $(PS)
478
 
 
479
1654
pdf : $(PDF)
480
 
 
481
1655
all : dvi ps pdf txt html
482
 
 
483
 
 
484
 
#######################################################################
485
 
# HTML creation
486
 
#######################################################################
487
 
 
488
 
.PHONY: htex user prog units onechap ref internal html hevea
489
 
 
 
1656
.PHONY: htex user prog onechap ref internal html hevea
490
1657
ifdef INSTALLDEBUG
491
 
#######################################################################
492
 
# Installation debugging
493
1658
$(HTML):
494
1659
        mkdir $@
495
1660
        cp $@.tex $@/index.html
496
1661
html: $(HTML)
497
1662
else
498
 
#######################################################################
499
 
# Automatic selection. Default tex4ht
500
1663
ifdef USEHEVEA
501
1664
include Makefile.hev
502
1665
else
506
1669
include Makefile.4ht
507
1670
endif  # USEL2H
508
1671
endif  # USEHEVEA
 
1672
rtl.chk: $(RTLXML)
 
1673
        $(FPDOC) $(RTLOPTS) --format=html --output=rtl
 
1674
        touch rtl.chk
 
1675
user.chk: $(INCLUDES) user.tex messages.inc
 
1676
prog.chk: $(INCLUDES) prog.tex
 
1677
onechap.chk: $(INCLUDES) onechap.tex
 
1678
ref.chk: $(INCLUDES) ref.tex
 
1679
fpdoc.chk: $(INCLUDES) fpdoc.tex
 
1680
chart.chk: $(INCLUDES) chart.tex
 
1681
html: $(INCLUDES) $(CHK)
509
1682
endif  # INSTALLDEBUG
510
 
#######################################################################
511
 
# Targets to force using a specific tool. 
512
1683
hevea:
513
1684
        $(MAKE) html USEHEVEA=1
514
1685
l2h:
515
1686
        $(MAKE) html USEL2H=1
516
1687
4ht:
517
1688
        $(MAKE) html USETEX4HT=1
518
 
 
519
 
fcl: fcl/index.html
520
 
 
521
 
fcl/index.html: classes.xml
522
 
        $(FPDOC) $(FCLOPTS) --format=html --output=fcl
523
 
 
524
 
#####################################################################
525
 
# GTK Articles
526
 
#####################################################################
527
 
 
 
1689
GTKPDF=$(addsuffix .pdf,$(addprefix gtk, 1 2 3 4 5))
528
1690
gtk: $(GTKPDF)
529
 
 
530
1691
gtk1.pdf: gtk1.tex
531
 
 
532
1692
gtk2.pdf: gtk2.tex
533
 
 
534
1693
gtk3.pdf: gtk3.tex
535
 
 
536
1694
gtk4.pdf: gtk4.tex
537
 
 
538
1695
gtk5.pdf: gtk5.tex
539
 
 
540
 
 
541
 
#####################################################################
542
 
# Installation
543
 
#####################################################################
544
 
 
 
1696
.PHONY: pdfinstall psinstall dviinstall txtinstall
545
1697
pdfinstall: pdf
546
 
        install -d -m 755 $(DOCINSTALLDIR)
547
 
        cp $(PDF) $(DOCINSTALLDIR)
548
 
 
 
1698
        install -d -m 755 $(INSTALL_DOCDIR)
 
1699
        cp $(PDF) $(INSTALL_DOCDIR)
 
1700
psinstall: ps
 
1701
        install -d -m 755 $(INSTALL_DOCDIR)
 
1702
        cp $(PS) $(INSTALL_DOCDIR)
 
1703
dviinstall: dvi
 
1704
        install -d -m 755 $(INSTALL_DOCDIR)
 
1705
        cp $(DVI) $(INSTALL_DOCDIR)
 
1706
txtinstall: txt
 
1707
        install -d -m 755 $(INSTALL_DOCDIR)
 
1708
        cp $(TXT) $(INSTALL_DOCDIR)
549
1709
htmlinstall: html
550
 
        install -d -m 755 $(DOCINSTALLDIR)
551
 
        cp fpctoc.html $(DOCINSTALLDIR)
552
 
        cp -R buttons $(DOCINSTALLDIR)
553
 
        cp -R pics $(DOCINSTALLDIR)
554
 
        cp -R $(HTML) $(DOCINSTALLDIR)
555
 
        find $(DOCINSTALLDIR) -name 'CVS' -or -name '*.eps' | xargs -n1 rm -rf
556
 
 
 
1710
        install -d -m 755 $(INSTALL_DOCDIR)
 
1711
        cp fpctoc.html $(INSTALL_DOCDIR)
 
1712
        cp -R buttons $(INSTALL_DOCDIR)
 
1713
        cp -R pics $(INSTALL_DOCDIR)
 
1714
        cp -R $(HTML) $(INSTALL_DOCDIR)
 
1715
        find $(INSTALL_DOCDIR) -name 'CVS' -or -name '*.eps' | xargs -n1 rm -rf
557
1716
install:
558
1717
        @echo Choose install from:
559
1718
        @echo pdfinstall,htmlinstall,htmldosinstall
560
1719
        @exit
561
 
 
562
 
#####################################################################
563
 
# Archives
564
 
#####################################################################
565
 
 
566
 
psdist: $(PS)
567
 
        tar -cvzf fpcdocps.tar.gz $(PS)
568
 
        zip docs-ps $(PS)
569
 
 
570
 
pdfdist: pdf
571
 
        zip docs-pdf $(PDF)
572
 
 
573
 
dvidist: dvi
574
 
        zip docs-dvi $(DVI)
575
 
 
576
 
txtdist: txt
577
 
        zip docs-txt $(TXT)
578
 
 
579
 
#####################################################################
580
 
# Zips of htmls
581
 
#####################################################################
582
 
 
583
 
DOCPREFIX=doc
584
 
BASEDIR=$(shell pwd)
585
 
 
586
 
htmltar: 
587
 
ifndef SKIPINSTALL
588
 
        $(MAKE) htmlinstall DOCINSTALLDIR=$(DOCPREFIX)
589
 
endif
590
 
        cd $(DOCPREFIX) ; tar cz * > $(BASEDIR)/fpcdoc.tar.gz ; cd $(BASEDIR)
591
 
        rm -rf $(DOCPREFIX)
592
 
 
 
1720
pstar:
 
1721
        $(MAKE) zipinstall ZIPTARGET=psinstall UNIXHier=1 USETAR=y FULLZIPNAME=doc-ps
 
1722
pszip:
 
1723
        $(MAKE) zipinstall ZIPTARGET=psinstall UNIXHier= USEZIP=y FULLZIPNAME=doc-ps
 
1724
pdftar:
 
1725
        $(MAKE) zipinstall ZIPTARGET=pdfinstall UNIXHier=1 USETAR=y FULLZIPNAME=doc-pdf
 
1726
pdfzip:
 
1727
        $(MAKE) zipinstall ZIPTARGET=pdfinstall UNIXHier= USEZIP=y FULLZIPNAME=doc-pdf
 
1728
dvizip:
 
1729
        $(MAKE) zipinstall ZIPTARGET=dviinstall UNIXHier= USEZIP=y FULLZIPNAME=doc-dvi
 
1730
txtzip:
 
1731
        $(MAKE) zipinstall ZIPTARGET=txtinstall UNIXHier= USEZIP=y FULLZIPNAME=doc-txt
 
1732
htmltar:
 
1733
        $(MAKE) zipinstall ZIPTARGET=htmlinstall UNIXHier=1 USETAR=y FULLZIPNAME=doc-html
593
1734
htmlzip:
594
 
ifndef SKIPINSTALL
595
 
        $(MAKE) htmlinstall DOCINSTALLDIR=$(DOCPREFIX)
596
 
endif
597
 
        zip -D9rq doc-html $(DOCPREFIX)/*
598
 
        rm -rf $(DOCPREFIX)
599
 
 
600
 
htmzip:
601
 
ifndef SKIPINSTALL
602
 
        $(MAKE) htmlinstall DOCINSTALLDIR=$(DOCPREFIX)
603
 
endif
604
 
        makehtm `find $(DOCPREFIX) -name '*.html'`
605
 
        zip -D9rq doc-htm `find $(DOCPREFIX) -name '*.htm' -or -name '*.gif' -or -name '*.png' -or -name '*.css'`
606
 
        rm -rf $(DOCPREFIX)
607
 
 
 
1735
        $(MAKE) zipinstall ZIPTARGET=htmlinstall UNIXHier= USEZIP=y FULLZIPNAME=doc-html
 
1736
psdist: pszip pstar
 
1737
pdfdist: pdfzip pdftar
 
1738
txtdist: txtzip
 
1739
dvidist: dvizip
608
1740
htmldist: htmlzip htmltar
609
 
 
610
 
htmdist: htmzip
611
 
 
612
 
alldist: dvidist psdist txtdist pdfdist 
613
 
        $(MAKE) htmltar
614
 
        $(MAKE) htmlzip SKIPINSTALL=Y
615
 
        $(MAKE) htmzip SKIPINSTALL=Y
616
 
 
617
 
distclean: clean
618
 
        -rm -f *.tar.gz *.zip
619
 
 
620
 
#####################################################################
621
 
# Examples
622
 
#####################################################################
623
 
 
 
1741
alldist: dvidist psdist txtdist pdfdist htmldist
624
1742
examples:
625
1743
        $(MAKE) -C crtex
626
1744
        $(MAKE) -C dosex
627
1745
        $(MAKE) -C optex
628
1746
        $(MAKE) -C mathex
629
1747
        $(MAKE) -C printex
 
1748
        $(MAKE) -C progex
630
1749
        $(MAKE) -C refex
631
1750
        $(MAKE) -C stringex
632
1751
        $(MAKE) -C objectex
633
1752
        $(MAKE) -C sysutex
634
1753
        $(MAKE) -C typinfex
635
1754
        $(MAKE) -C kbdex
636
 
 
 
1755
cleanexamples:
 
1756
        $(MAKE) -C crtex clean
 
1757
        $(MAKE) -C dosex clean
 
1758
        $(MAKE) -C optex clean
 
1759
        $(MAKE) -C mathex clean
 
1760
        $(MAKE) -C printex clean
 
1761
        $(MAKE) -C progex clean
 
1762
        $(MAKE) -C refex clean
 
1763
        $(MAKE) -C stringex clean
 
1764
        $(MAKE) -C objectex clean
 
1765
        $(MAKE) -C sysutex clean
 
1766
        $(MAKE) -C typinfex clean
 
1767
        $(MAKE) -C kbdex clean
637
1768
dosexamples: examples
638
1769
        $(MAKE) -C go32ex
639
1770
        $(MAKE) -C mouseex
640
 
 
641
1771
linuxexamples: examples
642
1772
        $(MAKE) -C linuxex
643
1773
        $(MAKE) -C sockex
644
1774
        $(MAKE) -C ipcex
645
 
        
646
1775
execute:
647
1776
        $(MAKE) -C dosex all
648
1777
        $(MAKE) -C dosex execute
658
1787
        $(MAKE) -C sysutex execute
659
1788
        $(MAKE) -C typinfex all
660
1789
        $(MAKE) -C typinfex execute
661
 
 
662
 
 
663
 
#
664
 
# $Log: Makefile,v $
665
 
# Revision 1.27  2004/07/17 21:02:28  marco
666
 
#  * x86 dependancy fixed, reported by Claviola
667
 
#
668
 
# Revision 1.26  2004/05/18 22:10:56  michael
669
 
# + Updates for 1.9.4. Mostly MACPas related
670
 
#
671
 
# Revision 1.25  2004/03/19 17:39:03  peter
672
 
#   * use fpdoc from utils tree if found
673
 
#
674
 
# Revision 1.24  2003/11/16 00:03:03  michael
675
 
# + Many changes for 2.0 beta
676
 
#
677
 
# Revision 1.23  2003/11/02 00:14:23  marco
678
 
#  * fixed classes moving to rtl, and the OS dependancy of the classes unit
679
 
#    generation.
680
 
#
681
 
# Revision 1.22  2003/05/29 10:25:51  peter
682
 
#   * allow to specify FPCSRCDIR and FPDOC
683
 
#
684
 
# Revision 1.21  2003/03/18 21:25:23  michael
685
 
# + Added fcl docs and fpdoc
686
 
#
687
 
# Revision 1.20  2003/03/18 00:14:51  michael
688
 
# + Added fpdoc
689
 
#
690
 
# Revision 1.19  2003/03/17 08:27:27  michael
691
 
# + Split out html generation
692
 
#
693
 
# Revision 1.18  2003/03/16 15:24:58  peter
694
 
#   * also remove htex.sed
695
 
#
696
 
# Revision 1.17  2003/03/16 15:22:18  peter
697
 
#   * support for hevea
698
 
#   * provided local copies or required styles since debian does not
699
 
#     supply the listings.sty anymore
700
 
#
701
 
# Revision 1.16  2003/02/24 23:37:52  michael
702
 
# + Preparations for version 1.0.8
703
 
#
704
 
# Revision 1.15  2002/11/10 12:22:10  carl
705
 
#   * update makefiles for testing
706
 
#   * update example which did not compile
707
 
#
708
 
# Revision 1.14  2002/04/23 18:03:50  michael
709
 
# + removed fcl target in HTML
710
 
#
711
 
# Revision 1.13  2002/03/19 14:33:18  pierre
712
 
#  * remove ipcex directory target from examples
713
 
#
714
 
# Revision 1.12  2002/03/12 22:13:42  michael
715
 
# + Now pics directory is included in HTML
716
 
#
717
 
# Revision 1.11  2001/11/05 20:10:05  michael
718
 
# + Added onechap target
719
 
#
720
 
# Revision 1.10  2001/10/18 21:41:26  peter
721
 
#   * fixed latex2html settings
722
 
#
723
 
# Revision 1.9  2001/10/11 23:36:54  carl
724
 
# + reinstated Windows NT support
725
 
#
726
 
# Revision 1.8  2001/10/04 21:03:13  michael
727
 
# + Added video and keyboard units
728
 
#
729
 
# Revision 1.7  2001/09/22 11:15:04  peter
730
 
#   * chmod the scripts
731
 
#   * fixed html installation
732
 
#
733
 
# Revision 1.6  2001/07/29 20:28:00  peter
734
 
#   * move preamble to separate include file so changes only need to
735
 
#     be done to this file.
736
 
#
737
 
# Revision 1.5  2001/07/10 22:01:15  michael
738
 
# + Some cleaning up
739
 
#
740
 
# Revision 1.4  2000/10/12 10:41:58  peter
741
 
#   * more examples
742
 
#
743
 
# Revision 1.3  2000/09/02 21:51:36  peter
744
 
#   * fixed pdf creating (merged)
745
 
#
746
 
# Revision 1.1  2000/07/13 09:10:03  michael
747
 
# + Initial import
748
 
#