summaryrefslogtreecommitdiff
path: root/gnu/usr.bin/perl/Makefile.bsd-wrapper
blob: ed2e8af6648b7a52fa26ec74f5a2dfc1bea13a35 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
# $OpenBSD: Makefile.bsd-wrapper,v 1.64 2004/07/11 16:26:27 pvalchev Exp $
#
# Build wrapper for Perl 5.8.3
#

# To build a threaded perl, uncomment this.  Not stable on all platforms...
#THREADED_PERL=true

# Perl builds with -fno-strict-aliasing, we want libperl to do the same
CFLAGS+= -fno-strict-aliasing

# Arguments passed to Configure...
CONFIGURE_ARGS= -dsE -Dopenbsd_distribution=defined
.if defined(THREADED_PERL) && ($(THREADED_PERL) == true)
CONFIGURE_ARGS+= -Dusethreads
CFLAGS+= -pthread
.endif

# For ``NOMAN''
.include <bsd.own.mk>

# Our lndir is hacked; specify a full path to avoid potential conflicts
# with the one installed with X11.
LNDIR=		/usr/bin/lndir

# If we are cross-compiling, we use the native pod2man.
# Otherwise, we use the pod2man (and libperl) we just
# built since we don't know what's in the tree.
TARGET_MACHINE_ARCH?=	$(MACHINE_ARCH)
.if ($(TARGET_MACHINE_ARCH) != $(MACHINE_ARCH))
POD2MAN=	/usr/bin/pod2man
.else
POD2MAN=	LD_LIBRARY_PATH=${.OBJDIR} ${.OBJDIR}/perl -I ${.OBJDIR}/lib \
		${.OBJDIR}/pod/pod2man
.endif
H2PH=		/usr/bin/h2ph

MANLOCALBUILD=	yes

MANALL=
_quick1=
_quick3p=
MANSRCALL=

.for page sect file in \
    a2p 1 			x2p/a2p.pod \
    c2ph 1			utils/c2ph \
    cpan 1			lib/CPAN/bin/cpan \
    dprofpp 1 			utils/dprofpp \
    enc2xs 1			ext/Encode/bin/enc2xs \
    find2perl 1			x2p/find2perl \
    h2ph 1			utils/h2ph \
    h2xs 1			utils/h2xs \
    libnetcfg 1			utils/libnetcfg.PL \
    perl 1			pod/perl.pod \
    perl5004delta 1		pod/perl5004delta.pod \
    perl5005delta 1		pod/perl5005delta.pod \
    perl561delta 1		pod/perl561delta.pod \
    perl56delta 1		pod/perl56delta.pod \
    perl570delta 1		pod/perl570delta.pod \
    perl571delta 1		pod/perl571delta.pod \
    perl572delta 1		pod/perl572delta.pod \
    perl573delta 1		pod/perl573delta.pod \
    perl58delta 1		pod/perl58delta.pod \
    perl581delta 1		pod/perl581delta.pod \
    perl582delta 1		pod/perl582delta.pod \
    perl583delta 1		pod/perl583delta.pod \
    perlapi 1			pod/perlapi.pod \
    perlapio 1			pod/perlapio.pod \
    perlartistic 1		pod/perlartistic.pod \
    perlbook 1			pod/perlbook.pod \
    perlboot 1			pod/perlboot.pod \
    perlbot 1			pod/perlbot.pod \
    perlbug 1			utils/perlbug \
    perlcall 1			pod/perlcall.pod \
    perlcc 1			utils/perlcc \
    perlcheat 1			pod/perlcheat.pod \
    perlclib 1			pod/perlclib.pod \
    perlcn 1			README.cn \
    perlcompile 1		pod/perlcompile.pod \
    perldata 1			pod/perldata.pod \
    perldbmfilter 1		pod/perldbmfilter.pod \
    perldebguts 1		pod/perldebguts.pod \
    perldebtut 1		pod/perldebtut.pod \
    perldebug 1			pod/perldebug.pod \
    perldiag 1			pod/perldiag.pod \
    perldoc 1			pod/perldoc.pod \
    perldsc 1			pod/perldsc.pod \
    perlembed 1			pod/perlembed.pod \
    perlfaq 1			pod/perlfaq.pod \
    perlfaq1 1			pod/perlfaq1.pod \
    perlfaq2 1			pod/perlfaq2.pod \
    perlfaq3 1			pod/perlfaq3.pod \
    perlfaq4 1			pod/perlfaq4.pod \
    perlfaq5 1			pod/perlfaq5.pod \
    perlfaq6 1			pod/perlfaq6.pod \
    perlfaq7 1			pod/perlfaq7.pod \
    perlfaq8 1			pod/perlfaq8.pod \
    perlfaq9 1			pod/perlfaq9.pod \
    perlfilter 1		pod/perlfilter.pod \
    perlfork 1			pod/perlfork.pod \
    perlform 1			pod/perlform.pod \
    perlfunc 1			pod/perlfunc.pod \
    perlgpl 1			pod/perlgpl.pod \
    perlguts 1			pod/perlguts.pod \
    perlhack 1			pod/perlhack.pod \
    perlhist 1			pod/perlhist.pod \
    perlintern 1		pod/perlintern.pod \
    perlintro 1			pod/perlintro.pod \
    perliol 1			pod/perliol.pod \
    perlipc 1			pod/perlipc.pod \
    perlivp 1			utils/perlivp.PL \
    perljp 1			README.jp \
    perlko 1			README.ko \
    perllexwarn 1		pod/perllexwarn.pod \
    perllocale 1		pod/perllocale.pod \
    perllol 1			pod/perllol.pod \
    perlmod 1			pod/perlmod.pod \
    perlmodinstall 1		pod/perlmodinstall.pod \
    perlmodlib 1		pod/perlmodlib.pod \
    perlmodstyle 1		pod/perlmodstyle.pod \
    perlnewmod 1		pod/perlnewmod.pod \
    perlnumber 1		pod/perlnumber.pod \
    perlobj 1			pod/perlobj.pod \
    perlop 1			pod/perlop.pod \
    perlopentut 1		pod/perlopentut.pod \
    perlothrtut 1		pod/perlothrtut.pod \
    perlpacktut 1		pod/perlpacktut.pod \
    perlpod 1			pod/perlpod.pod \
    perlpodspec 1		pod/perlpodspec.pod \
    perlport 1			pod/perlport.pod \
    perlre 1			pod/perlre.pod \
    perlref 1			pod/perlref.pod \
    perlreftut 1		pod/perlreftut.pod \
    perlrequick	1		pod/perlrequick.pod \
    perlreref 1			pod/perlreref.pod \
    perlretut 1			pod/perlretut.pod \
    perlrun 1			pod/perlrun.pod \
    perlsec 1			pod/perlsec.pod \
    perlstyle 1			pod/perlstyle.pod \
    perlsub 1			pod/perlsub.pod \
    perlsyn 1			pod/perlsyn.pod \
    perlthrtut 1		pod/perlthrtut.pod \
    perltie 1			pod/perltie.pod \
    perltoc 1			pod/perltoc.pod \
    perltodo 1			pod/perltodo.pod \
    perltooc 1			pod/perltooc.pod \
    perltoot 1			pod/perltoot.pod \
    perltrap 1			pod/perltrap.pod \
    perltw 1			README.tw \
    perlunicode 1		pod/perlunicode.pod \
    perluniintro 1		pod/perluniintro.pod \
    perlutil 1			pod/perlutil.pod \
    perlvar 1			pod/perlvar.pod \
    perlxs 1			pod/perlxs.pod \
    perlxstut 1			pod/perlxstut.pod \
    piconv 1			ext/Encode/bin/piconv \
    pl2pm 1			utils/pl2pm \
    pod2html 1			pod/pod2html \
    pod2latex 1			pod/pod2latex.PL \
    pod2man 1			pod/pod2man \
    pod2text 1			pod/pod2text \
    pod2usage 1			pod/pod2usage \
    podchecker 1		pod/podchecker \
    podselect 1			pod/podselect \
    prove 1			lib/Test/Harness/bin/prove \
    s2p	1			x2p/s2p \
    splain 1			utils/splain \
    xsubpp 1			lib/ExtUtils/xsubpp \
    AnyDBM_File	3p		lib/AnyDBM_File.pm \
    Attribute::Handlers 3p	lib/Attribute/Handlers.pm \
    AutoLoader 3p		lib/AutoLoader.pm \
    AutoSplit 3p		lib/AutoSplit.pm \
    B 3p			ext/B/B.pm \
    B::Asmdata 3p		ext/B/B/Asmdata.pm \
    B::Assembler 3p		ext/B/B/Assembler.pm \
    B::Bblock 3p		ext/B/B/Bblock.pm \
    B::Bytecode 3p		ext/B/B/Bytecode.pm \
    B::C 3p			ext/B/B/C.pm \
    B::CC 3p			ext/B/B/CC.pm \
    B::Concise 3p		ext/B/B/Concise.pm \
    B::Debug 3p			ext/B/B/Debug.pm \
    B::Deparse 3p		ext/B/B/Deparse.pm \
    B::Disassembler 3p		ext/B/B/Disassembler.pm \
    B::Lint 3p			ext/B/B/Lint.pm \
    B::Showlex 3p		ext/B/B/Showlex.pm \
    B::Stackobj 3p		ext/B/B/Stackobj.pm \
    B::Terse 3p			ext/B/B/Terse.pm \
    B::Xref 3p			ext/B/B/Xref.pm \
    Benchmark 3p		lib/Benchmark.pm \
    ByteLoader 3p		ext/ByteLoader/ByteLoader.pm \
    CGI 3p			lib/CGI.pm \
    CGI::Apache 3p		lib/CGI/Apache.pm \
    CGI::Carp 3p		lib/CGI/Carp.pm \
    CGI::Cookie 3p		lib/CGI/Cookie.pm \
    CGI::Fast 3p		lib/CGI/Fast.pm \
    CGI::Pretty 3p		lib/CGI/Pretty.pm \
    CGI::Push 3p		lib/CGI/Push.pm \
    CGI::Switch 3p		lib/CGI/Switch.pm \
    CGI::Util 3p		lib/CGI/Util.pm \
    CPAN 3p			lib/CPAN.pm \
    CPAN::FirstTime 3p		lib/CPAN/FirstTime.pm \
    CPAN::Nox 3p		lib/CPAN/Nox.pm \
    Carp 3p			lib/Carp.pm \
    Carp::Heavy 3p		lib/Carp/Heavy.pm \
    Class::ISA 3p		lib/Class/ISA.pm \
    Class::Struct 3p		lib/Class/Struct.pm \
    Config 3p			lib/Config.pod \
    Cwd 3p			lib/Cwd.pm \
    DB 3p			lib/DB.pm \
    DB_File 3p			ext/DB_File/DB_File.pm \
    Data::Dumper 3p		ext/Data/Dumper/Dumper.pm \
    Devel::DProf 3p		ext/Devel/DProf/DProf.pm \
    Devel::PPPort 3p		ext/Devel/PPPort/PPPort.pm \
    Devel::Peek 3p		ext/Devel/Peek/Peek.pm \
    Devel::SelfStubber 3p	lib/Devel/SelfStubber.pm \
    Digest 3p			lib/Digest.pm \
    Digest::base 3p		lib/Digest/base.pm \
    Digest::MD5 3p		ext/Digest/MD5/MD5.pm \
    DirHandle 3p		lib/DirHandle.pm \
    Dumpvalue 3p		lib/Dumpvalue.pm \
    DynaLoader 3p		ext/DynaLoader/XSLoader_pm.PL \
    Encode 3p			ext/Encode/Encode.pm \
    Encode::Alias 3p		ext/Encode/lib/Encode/Alias.pm \
    Encode::Byte 3p		ext/Encode/Byte/Byte.pm \
    Encode::CJKConstants 3p	ext/Encode/lib/Encode/CJKConstants.pm \
    Encode::CN 3p		ext/Encode/CN/CN.pm \
    Encode::CN::HZ 3p		ext/Encode/lib/Encode/CN/HZ.pm \
    Encode::Config 3p		ext/Encode/lib/Encode/Config.pm \
    Encode::EBCDIC 3p		ext/Encode/EBCDIC/EBCDIC.pm \
    Encode::Encoder 3p		ext/Encode/lib/Encode/Encoder.pm \
    Encode::Encoding 3p		ext/Encode/lib/Encode/Encoding.pm \
    Encode::Guess 3p		ext/Encode/lib/Encode/Guess.pm \
    Encode::JP 3p		ext/Encode/JP/JP.pm \
    Encode::JP::H2Z 3p		ext/Encode/lib/Encode/JP/H2Z.pm \
    Encode::JP::JIS7 3p		ext/Encode/lib/Encode/JP/JIS7.pm \
    Encode::KR 3p		ext/Encode/KR/KR.pm \
    Encode::KR::2022_KR 3p	ext/Encode/lib/Encode/KR/2022_KR.pm \
    Encode::MIME::Header 3p	ext/Encode/lib/Encode/MIME/Header.pm \
    Encode::PerlIO 3p		ext/Encode/lib/Encode/PerlIO.pod \
    Encode::Supported 3p	ext/Encode/lib/Encode/Supported.pod \
    Encode::Symbol 3p		ext/Encode/Symbol/Symbol.pm \
    Encode::TW 3p		ext/Encode/TW/TW.pm \
    Encode::Unicode 3p		ext/Encode/Unicode/Unicode.pm \
    Encode::Unicode::UTF7 3p	ext/Encode/lib/Encode/Unicode/UTF7.pm \
    English 3p			lib/English.pm \
    Env 3p			lib/Env.pm \
    Errno 3p			ext/Errno/Errno_pm.PL \
    Exporter 3p			lib/Exporter.pm \
    Exporter::Heavy 3p		lib/Exporter/Heavy.pm \
    ExtUtils::Command 3p	lib/ExtUtils/Command.pm \
    ExtUtils::Command::MM 3p	lib/ExtUtils/Command/MM.pm \
    ExtUtils::Constant 3p	lib/ExtUtils/Constant.pm \
    ExtUtils::Embed 3p		lib/ExtUtils/Embed.pm \
    ExtUtils::Install 3p	lib/ExtUtils/Install.pm \
    ExtUtils::Installed 3p	lib/ExtUtils/Installed.pm \
    ExtUtils::Liblist 3p	lib/ExtUtils/Liblist.pm \
    ExtUtils::MM 3p		lib/ExtUtils/MM.pm \
    ExtUtils::MM_Any 3p		lib/ExtUtils/MM_Any.pm \
    ExtUtils::MM_BeOS 3p	lib/ExtUtils/MM_BeOS.pm \
    ExtUtils::MM_Cygwin 3p	lib/ExtUtils/MM_Cygwin.pm \
    ExtUtils::MM_DOS 3p		lib/ExtUtils/MM_DOS.pm \
    ExtUtils::MM_MacOS 3p	lib/ExtUtils/MM_MacOS.pm \
    ExtUtils::MM_NW5 3p		lib/ExtUtils/MM_NW5.pm \
    ExtUtils::MM_OS2 3p		lib/ExtUtils/MM_OS2.pm \
    ExtUtils::MM_UWIN 3p	lib/ExtUtils/MM_UWIN.pm \
    ExtUtils::MM_Unix 3p	lib/ExtUtils/MM_Unix.pm \
    ExtUtils::MM_VMS 3p		lib/ExtUtils/MM_VMS.pm \
    ExtUtils::MM_Win32 3p	lib/ExtUtils/MM_Win32.pm \
    ExtUtils::MM_Win95 3p	lib/ExtUtils/MM_Win95.pm \
    ExtUtils::MY 3p		lib/ExtUtils/MY.pm \
    ExtUtils::MakeMaker 3p	lib/ExtUtils/MakeMaker.pm \
    ExtUtils::MakeMaker::FAQ 3p	lib/ExtUtils/MakeMaker/FAQ.pod \
    ExtUtils::MakeMaker::Tutorial 3p	lib/ExtUtils/MakeMaker/Tutorial.pod \
    ExtUtils::MakeMaker::bytes 3p	lib/ExtUtils/MakeMaker/bytes.pm \
    ExtUtils::MakeMaker::vmsish 3p	lib/ExtUtils/MakeMaker/vmsish.pm \
    ExtUtils::Manifest 3p	lib/ExtUtils/Manifest.pm \
    ExtUtils::Miniperl 3p	lib/ExtUtils/Miniperl.pm \
    ExtUtils::Mkbootstrap 3p	lib/ExtUtils/Mkbootstrap.pm \
    ExtUtils::Mksymlists 3p	lib/ExtUtils/Mksymlists.pm \
    ExtUtils::Packlist 3p	lib/ExtUtils/Packlist.pm \
    ExtUtils::testlib 3p	lib/ExtUtils/testlib.pm \
    Fatal 3p			lib/Fatal.pm \
    Fcntl 3p			lib/Fcntl.pm \
    File::Basename 3p		lib/File/Basename.pm \
    File::CheckTree 3p		lib/File/CheckTree.pm \
    File::Compare 3p		lib/File/Compare.pm \
    File::Copy 3p		lib/File/Copy.pm \
    File::DosGlob 3p		lib/File/DosGlob.pm \
    File::Find 3p		lib/File/Find.pm \
    File::Glob 3p		lib/File/Glob.pm \
    File::Path 3p		lib/File/Path.pm \
    File::Spec 3p		lib/File/Spec.pm \
    File::Spec::Cygwin 3p	lib/File/Spec/Cygwin.pm \
    File::Spec::Epoc 3p		lib/File/Spec/Epoc.pm \
    File::Spec::Functions 3p	lib/File/Spec/Functions.pm \
    File::Spec::Mac 3p		lib/File/Spec/Mac.pm \
    File::Spec::OS2 3p		lib/File/Spec/OS2.pm \
    File::Spec::Unix 3p		lib/File/Spec/Unix.pm \
    File::Spec::VMS 3p		lib/File/Spec/VMS.pm \
    File::Spec::Win32 3p	lib/File/Spec/Win32.pm \
    File::Temp 3p		lib/File/Temp.pm \
    File::stat 3p		lib/File/stat.pm \
    FileCache 3p		lib/FileCache.pm \
    FileHandle 3p		lib/FileHandle.pm \
    Filter::Simple 3p		lib/Filter/Simple.pm \
    Filter::Util::Call 3p	ext/Filter/Util/Call/Call.pm \
    FindBin 3p			lib/FindBin.pm \
    Getopt::Long 3p		lib/Getopt/Long.pm \
    Getopt::Std 3p		lib/Getopt/Std.pm \
    Hash::Util 3p		lib/Hash/Util.pm \
    I18N::Collate 3p		lib/I18N/Collate.pm \
    I18N::LangTags 3p		lib/I18N/LangTags.pm \
    I18N::LangTags::List 3p	lib/I18N/LangTags/List.pm \
    I18N::Langinfo 3p		ext/I18N/Langinfo/Langinfo.pm \
    IO 3p			lib/IO.pm \
    IO::Dir 3p			lib/IO/Dir.pm \
    IO::File 3p			lib/IO/File.pm \
    IO::Handle 3p		lib/IO/Handle.pm \
    IO::Pipe 3p			lib/IO/Pipe.pm \
    IO::Poll 3p			lib/IO/Poll.pm \
    IO::Seekable 3p		lib/IO/Seekable.pm \
    IO::Select 3p		lib/IO/Select.pm \
    IO::Socket 3p		lib/IO/Socket.pm \
    IO::Socket::INET 3p		lib/IO/Socket/INET.pm \
    IO::Socket::UNIX 3p		lib/IO/Socket/UNIX.pm \
    IPC::Msg 3p			lib/IPC/Msg.pm \
    IPC::Open2 3p		lib/IPC/Open2.pm \
    IPC::Open3 3p		lib/IPC/Open3.pm \
    IPC::Semaphore 3p		lib/IPC/Semaphore.pm \
    IPC::SysV 3p		lib/IPC/SysV.pm \
    List::Util 3p		ext/List/Util/lib/List/Util.pm \
    Locale::Constants 3p	lib/Locale/Constants.pod \
    Locale::Country 3p		lib/Locale/Country.pod \
    Locale::Currency 3p		lib/Locale/Currency.pod \
    Locale::Language 3p		lib/Locale/Language.pod \
    Locale::Maketext 3p		lib/Locale/Maketext.pod \
    Locale::Maketext::TPJ13 3p	lib/Locale/Maketext/TPJ13.pod \
    Locale::Script 3p		lib/Locale/Script.pod \
    MIME::Base64 3p		ext/MIME/Base64/Base64.pm \
    MIME::QuotedPrint 3p	ext/MIME/Base64/QuotedPrint.pm \
    Math::BigFloat 3p		lib/Math/BigFloat.pm \
    Math::BigInt 3p		lib/Math/BigInt.pm \
    Math::BigInt::Calc 3p	lib/Math/BigInt/Calc.pm \
    Math::BigInt::CalcEmu 3p	lib/Math/BigInt/CalcEmu.pm \
    Math::BigRat 3p		lib/Math/BigRat.pm \
    Math::Complex 3p		lib/Math/Complex.pm \
    Math::Trig 3p		lib/Math/Trig.pm \
    Memoize 3p			lib/Memoize.pm \
    Memoize::AnyDBM_File 3p	lib/Memoize/AnyDBM_File.pm \
    Memoize::Expire 3p		lib/Memoize/Expire.pm \
    Memoize::ExpireFile 3p	lib/Memoize/ExpireFile.pm \
    Memoize::ExpireTest 3p	lib/Memoize/ExpireTest.pm \
    Memoize::NDBM_File 3p	lib/Memoize/NDBM_File.pm \
    Memoize::SDBM_File 3p	lib/Memoize/SDBM_File.pm \
    Memoize::Storable 3p	lib/Memoize/Storable.pm \
    NDBM_File 3p		lib/NDBM_File.pm \
    NEXT 3p			lib/NEXT.pm \
    Net::Cmd 3p			lib/Net/Cmd.pm \
    Net::Config 3p		lib/Net/Config.pm \
    Net::Domain 3p		lib/Net/Domain.pm \
    Net::FTP 3p			lib/Net/FTP.pm \
    Net::NNTP 3p		lib/Net/NNTP.pm \
    Net::Netrc 3p		lib/Net/Netrc.pm \
    Net::POP3 3p		lib/Net/POP3.pm \
    Net::Ping 3p		lib/Net/Ping.pm \
    Net::SMTP 3p		lib/Net/SMTP.pm \
    Net::Time 3p		lib/Net/Time.pm \
    Net::hostent 3p		lib/Net/hostent.pm \
    Net::libnetFAQ 3p		lib/Net/libnetFAQ.pod \
    Net::netent 3p		lib/Net/netent.pm \
    Net::protoent 3p		lib/Net/protoent.pm \
    Net::servent 3p		lib/Net/servent.pm \
    O 3p			lib/O.pm \
    ODBM_File 3p		lib/ODBM_File.pm \
    Opcode 3p			lib/Opcode.pm \
    POSIX 3p			lib/POSIX.pod \
    PerlIO 3p			lib/PerlIO.pm \
    PerlIO::encoding 3p		ext/PerlIO/encoding/encoding.pm \
    PerlIO::scalar 3p		ext/PerlIO/scalar/scalar.pm \
    PerlIO::via 3p		ext/PerlIO/via/via.pm \
    PerlIO::via::QuotedPrint 3p	lib/PerlIO/via/QuotedPrint.pm \
    Pod::Checker 3p		lib/Pod/Checker.pm \
    Pod::Find 3p		lib/Pod/Find.pm \
    Pod::Html 3p		lib/Pod/Html.pm \
    Pod::InputObjects 3p	lib/Pod/InputObjects.pm \
    Pod::LaTeX 3p		lib/Pod/LaTeX.pm \
    Pod::Man 3p			lib/Pod/Man.pm \
    Pod::ParseLink 3p		lib/Pod/ParseLink.pm \
    Pod::ParseUtils 3p		lib/Pod/ParseUtils.pm \
    Pod::Parser 3p		lib/Pod/Parser.pm \
    Pod::Perldoc::ToChecker 3p	lib/Pod/Perldoc/ToChecker.pm \
    Pod::Perldoc::ToMan 3p	lib/Pod/Perldoc/ToMan.pm \
    Pod::Perldoc::ToNroff 3p	lib/Pod/Perldoc/ToNroff.pm \
    Pod::Perldoc::ToPod 3p	lib/Pod/Perldoc/ToPod.pm \
    Pod::Perldoc::ToRtf 3p	lib/Pod/Perldoc/ToRtf.pm \
    Pod::Perldoc::ToText 3p	lib/Pod/Perldoc/ToText.pm \
    Pod::Perldoc::ToTk 3p	lib/Pod/Perldoc/ToTk.pm \
    Pod::Perldoc::ToXml 3p	lib/Pod/Perldoc/ToXml.pm \
    Pod::PlainText 3p		lib/Pod/PlainText.pm \
    Pod::Plainer 3p		lib/Pod/Plainer.pm \
    Pod::Select 3p		lib/Pod/Select.pm \
    Pod::Text 3p		lib/Pod/Text.pm \
    Pod::Text::Color 3p		lib/Pod/Text/Color.pm \
    Pod::Text::Overstrike 3p	lib/Pod/Text/Overstrike.pm \
    Pod::Text::Termcap 3p	lib/Pod/Text/Termcap.pm \
    Pod::Usage 3p		lib/Pod/Usage.pm \
    SDBM_File 3p		lib/SDBM_File.pm \
    Safe 3p			lib/Safe.pm \
    Scalar::Util 3p		ext/List/Util/lib/Scalar/Util.pm \
    Search::Dict 3p		lib/Search/Dict.pm \
    SelectSaver 3p		lib/SelectSaver.pm \
    SelfLoader 3p		lib/SelfLoader.pm \
    Shell 3p			lib/Shell.pm \
    Socket 3p			lib/Socket.pm \
    Storable 3p			ext/Storable/Storable.pm \
    Switch 3p			lib/Switch.pm \
    Symbol 3p			lib/Symbol.pm \
    Sys::Hostname 3p		lib/Sys/Hostname.pm \
    Sys::Syslog 3p		lib/Sys/Syslog.pm \
    Term::ANSIColor 3p		lib/Term/ANSIColor.pm \
    Term::Cap 3p		lib/Term/Cap.pm \
    Term::Complete 3p		lib/Term/Complete.pm \
    Term::ReadLine 3p		lib/Term/ReadLine.pm \
    Test 3p			lib/Test.pm \
    Test::Builder 3p		lib/Test/Builder.pm \
    Test::Harness 3p		lib/Test/Harness.pm \
    Test::Harness::Assert 3p	lib/Test/Harness/Assert.pm \
    Test::Harness::Iterator 3p	lib/Test/Harness/Iterator.pm \
    Test::Harness::Straps 3p	lib/Test/Harness/Straps.pm \
    Test::More 3p		lib/Test/More.pm \
    Test::Simple 3p		lib/Test/Simple.pm \
    Test::Tutorial 3p		lib/Test/Tutorial.pod \
    Text::Abbrev 3p		lib/Text/Abbrev.pm \
    Text::Balanced 3p		lib/Text/Balanced.pm \
    Text::ParseWords 3p		lib/Text/ParseWords.pm \
    Text::Soundex 3p		lib/Text/Soundex.pm \
    Text::Tabs 3p		lib/Text/Tabs.pm \
    Text::Wrap 3p		lib/Text/Wrap.pm \
    Thread 3p			lib/Thread.pm \
    Thread::Queue 3p		lib/Thread/Queue.pm \
    Thread::Semaphore 3p	lib/Thread/Semaphore.pm \
    Tie::Array 3p		lib/Tie/Array.pm \
    Tie::File 3p		lib/Tie/File.pm \
    Tie::Handle 3p		lib/Tie/Handle.pm \
    Tie::Hash 3p		lib/Tie/Hash.pm \
    Tie::Memoize 3p		lib/Tie/Memoize.pm \
    Tie::RefHash 3p		lib/Tie/RefHash.pm \
    Tie::Scalar 3p		lib/Tie/Scalar.pm \
    Tie::SubstrHash 3p		lib/Tie/SubstrHash.pm \
    Time::HiRes 3p		ext/Time/HiRes/HiRes.pm \
    Time::Local 3p		lib/Time/Local.pm \
    Time::gmtime 3p		lib/Time/gmtime.pm \
    Time::localtime 3p		lib/Time/localtime.pm \
    Time::tm 3p			lib/Time/tm.pm \
    UNIVERSAL 3p		lib/UNIVERSAL.pm \
    Unicode::Collate 3p		lib/Unicode/Collate.pm \
    Unicode::Normalize 3p	ext/Unicode/Normalize/Normalize.pm \
    Unicode::UCD 3p		lib/Unicode/UCD.pm \
    User::grent 3p		lib/User/grent.pm \
    User::pwent 3p		lib/User/pwent.pm \
    XS::APItest 3p		ext/XS/APItest/APItest.pm \
    XS::Typemap 3p		ext/XS/Typemap/Typemap.pm \
    XSLoader 3p			lib/XSLoader.pm \
    attributes 3p		lib/attributes.pm \
    attrs 3p			lib/attrs.pm \
    autouse 3p			lib/autouse.pm \
    base 3p			lib/base.pm \
    bigint 3p			lib/bigint.pm \
    bignum 3p			lib/bignum.pm \
    bigrat 3p			lib/bigrat.pm \
    blib 3p			lib/blib.pm \
    bytes 3p			lib/bytes.pm \
    charnames 3p		lib/charnames.pm \
    constant 3p			lib/constant.pm \
    diagnostics 3p		lib/diagnostics.pm \
    encoding 3p			ext/Encode/encoding.pm \
    fields 3p			lib/fields.pm \
    filetest 3p			lib/filetest.pm \
    if 3p			lib/if.pm \
    integer 3p			lib/integer.pm \
    less 3p			lib/less.pm \
    lib 3p			lib/lib.pm \
    locale 3p			lib/locale.pm \
    open 3p			lib/open.pm \
    ops 3p			lib/ops.pm \
    overload 3p			lib/overload.pm \
    re 3p			lib/re.pm \
    sigtrap 3p			lib/sigtrap.pm \
    sort 3p			lib/sort.pm \
    strict 3p			lib/strict.pm \
    subs 3p			lib/subs.pm \
    threads 3p			ext/threads/threads.pm \
    threads::shared 3p		ext/threads/shared/shared.pm \
    utf8 3p			lib/utf8.pm \
    vars 3p			lib/vars.pm \
    warnings 3p			lib/warnings.pm \
    warnings::register 3p	lib/warnings/register.pm
.  ifndef NOMAN
MANALL+= ${page}.cat${sect}
MANSRCALL+= ${page}.${sect}
MANSRC_COOKIE=stamp-mansrc.build
_quick${sect}+=${file} ${page}.${sect}
.    ifdef MANPS
PSALL+= ${page}.ps${sect}
.    endif
.  else
MANSRC_COOKIE=
.  endif


${page}.${sect}: ${file}
	${POD2MAN} --section=${sect} --official ${.ALLSRC} $@
.endfor

mansrc.build:
.for sect in 1 3p
.  if !empty(_quick${sect})
	cd ${.OBJDIR} && ${POD2MAN} --section=${sect} --official ${_quick${sect}}
.  endif
.endfor

LIB=	perl

SRCS=	perl.c gv.c toke.c perly.c op.c pad.c regcomp.c dump.c util.c mg.c \
	reentr.c hv.c av.c run.c pp_hot.c sv.c pp.c scope.c pp_ctl.c pp_sys.c \
	doop.c doio.c regexec.c utf8.c taint.c deb.c universal.c xsutils.c \
	globals.c perlio.c perlapi.c numeric.c locale.c pp_pack.c pp_sort.c    

CPPFLAGS+= -DPERL_CORE -DPERL_RANDOM_DEVICE=\"/dev/arandom\" -I.

.if defined (INSTALL_STRIP) && ${INSTALL_STRIP} == "-s"
STRIPFLAGS='-s'
.endif

MLINKS=		c2ph.1 pstruct.1 s2p.1 psed.1 \
		Getopt::Std.3p getopt.3p Getopt::Std.3p getopts.3p \
		File::Basename.3p dirname.3p File::Basename.3p basename.3p \
		File::Basename.3p fileparse.3p

# NOTE: config.sh *must* be first
GENERATED=	config.sh config.h cflags makeaperl makedepend makedir \
		myconfig writemain Makefile Policy.sh pod/Makefile \
		x2p/Makefile x2p/cflags

CLEANFILES=	config.sh Policy.sh ${MANALL} ${PSALL} ${MANSRCALL} stamp-mansrc.build

.if !exists(${.OBJDIR}/config.over)
${.OBJDIR}/config.over: ${.CURDIR}/config.over
	${LNDIR} -s -e obj -e obj.${MACHINE_ARCH} -e Makefile.bsd-wrapper ${.CURDIR}
.endif

stamp-mansrc.build:
	@cd ${.CURDIR} && exec ${MAKE} -f Makefile.bsd-wrapper mansrc.build
	@touch $@

all:	perl.build ${MANSRC_COOKIE} man.build

man.build: ${MANALL} ${PSALL}

beforedepend:	config.sh config.h

perl.build:	perl.lib
	cd ${.OBJDIR} && exec ${MAKE}

config.sh:	${.OBJDIR}/config.over
	cd ${.OBJDIR} && PATH="/bin:/usr/bin:/sbin:/usr/sbin" \
	    exec /bin/sh Configure ${CONFIGURE_ARGS}

Policy.sh:
	cd ${.OBJDIR} && exec /bin/sh Policy_sh.SH

Makefile:
	cd ${.OBJDIR} && exec /bin/sh Makefile.SH

cflags:
	cd ${.OBJDIR} && exec /bin/sh cflags.SH

config.h:
	cd ${.OBJDIR} && exec /bin/sh config_h.SH

makeaperl:
	cd ${.OBJDIR} && exec /bin/sh makeaperl.SH

makedepend:
	cd ${.OBJDIR} && exec /bin/sh makedepend.SH

makedir:
	cd ${.OBJDIR} && exec /bin/sh makedir.SH

myconfig:
	cd ${.OBJDIR} && exec /bin/sh myconfig.SH

writemain:
	cd ${.OBJDIR} && exec /bin/sh writemain.SH

pod/Makefile:
	cd ${.OBJDIR}/pod && exec /bin/sh Makefile.SH

x2p/Makefile:
	cd ${.OBJDIR}/x2p && exec /bin/sh Makefile.SH

x2p/cflags:
	cd ${.OBJDIR}/x2p && exec /bin/sh cflags.SH

# Never try to regenerate perly.c or perly.h
perly.c perly.h: perly.y
	-@true

.ifdef NOMAN
maninstall:
	@echo NOMAN is set
.endif

install: install.lib install.perl maninstall
	-mkdir -p ${DESTDIR}/usr/libdata/perl5/site_perl/${MACHINE_ARCH}-openbsd
	(cd ${DESTDIR}/usr/include; ${H2PH} \
		-d ${DESTDIR}/usr/libdata/perl5/site_perl/${MACHINE_ARCH}-openbsd \
		`find . -name '*.h'`; \
		pax -rw `find . -type l \! -name '*.h' | sed 's/^..//'` \
		${DESTDIR}/usr/libdata/perl5/site_perl/${MACHINE_ARCH}-openbsd)
	-chmod -R a+rX ${DESTDIR}/usr/libdata/perl5

install.perl:
	cd ${.OBJDIR}; INSTALL=${INSTALL} INSTALL_COPY=${INSTALL_COPY} \
	 STRIPFLAGS=${STRIPFLAGS} INSTALLFLAGS=-o NOLIBINSTALL=1 \
	 LD_LIBRARY_PATH=${.OBJDIR} exec ./perl installperl --destdir=${DESTDIR} -o STRIPFLAGS=${STRIPFLAGS}

test:
	-@if [ -e Makefile ]; then ${MAKE} test; fi

clean:
	-@if [ -e Makefile ]; then ${MAKE} realclean; fi

cleandir:
	-@if [ ${.CURDIR} != ${.OBJDIR} ]; then \
	    rm -rf *; \
	else \
	    test -e Makefile && ${MAKE} distclean; \
	    rm -f ${CLEANFILES}; \
	fi

.include <bsd.lib.mk>

# These have to come after the inclusion of <bsd.lib.mk>

# Need -fPIC, not -fpic on sparc
.if ($(TARGET_MACHINE_ARCH) == sparc)
PICFLAG=-fPIC
.endif

perl.lib:	${GENERATED} ${_LIBS}

install.lib:
	${INSTALL} ${INSTALL_COPY} -o ${LIBOWN} -g ${LIBGRP} -m 600 lib${LIB}.a \
	    ${DESTDIR}${LIBDIR}
.if (${INSTALL_COPY} != "-p")
	${RANLIB} -t ${DESTDIR}${LIBDIR}/lib${LIB}.a
.endif
	chmod ${LIBMODE} ${DESTDIR}${LIBDIR}/lib${LIB}.a
.if !defined(NOPROFILE)
	${INSTALL} ${INSTALL_COPY} -o ${LIBOWN} -g ${LIBGRP} -m 600 \
	    lib${LIB}_p.a ${DESTDIR}${LIBDIR}
.if (${INSTALL_COPY} != "-p")
	${RANLIB} -t ${DESTDIR}${LIBDIR}/lib${LIB}_p.a
.endif
	chmod ${LIBMODE} ${DESTDIR}${LIBDIR}/lib${LIB}_p.a
.endif
.if !defined(NOPIC) && (${MACHINE_ARCH} != "mips") 
	${INSTALL} ${INSTALL_COPY} -o ${LIBOWN} -g ${LIBGRP} -m 600 \
	    lib${LIB}_pic.a ${DESTDIR}${LIBDIR}
.if (${INSTALL_COPY} != "-p")
	${RANLIB} -t ${DESTDIR}${LIBDIR}/lib${LIB}_pic.a
.endif
	chmod ${LIBMODE} ${DESTDIR}${LIBDIR}/lib${LIB}_pic.a
.endif
.if !defined(NOPIC) && defined(major) && defined(minor)
	${INSTALL} ${INSTALL_COPY} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
	    lib${LIB}.so.${major}.${minor} ${DESTDIR}${LIBDIR}
.endif
.PHONY: perl.lib install.lib perl.build install.perl man.build mansrc.build