1# $OpenBSD: Makefile.bsd-wrapper,v 1.57 2003/08/10 20:44:27 espie Exp $
2#
3# Build wrapper for Perl 5.8.0
4#
5
6# To build a threaded perl, uncomment this.  Currently, there are bugs...
7#THREADED=-Dusethreads
8
9# For ``NOMAN''
10.include <bsd.own.mk>
11
12# Our lndir is hacked; specify a full path to avoid potential conflicts
13# with the one installed with X11.
14LNDIR=		/usr/bin/lndir
15
16# We use the pod2man we just built since we don't know what's in the tree.
17# This will be wrong for cross builds.  In that case, just use in-tree one.
18TARGET_MACHINE_ARCH?=	$(MACHINE_ARCH)
19.if ($(TARGET_MACHINE_ARCH) != $(MACHINE_ARCH))
20POD2MAN=	/usr/bin/pod2man
21.else
22POD2MAN=	./perl -I ./lib ./pod/pod2man
23.endif
24H2PH=		/usr/bin/h2ph
25
26# Need -fPIC, not -fpic on sparc
27.if ($(TARGET_MACHINE_ARCH) == sparc)
28PICFLAG=-fPIC
29.endif
30
31MANLOCALBUILD=	yes
32
33MANALL=
34.for page sect file in \
35    a2p 1 			x2p/a2p.pod \
36    c2ph 1			utils/c2ph \
37    dprofpp 1 			utils/dprofpp \
38    enc2xs 1			ext/Encode/bin/enc2xs \
39    find2perl 1			x2p/find2perl \
40    h2ph 1			utils/h2ph \
41    h2xs 1			utils/h2xs \
42    libnetcfg 1			utils/libnetcfg.PL \
43    perl 1			pod/perl.pod \
44    perl5004delta 1		pod/perl5004delta.pod \
45    perl5005delta 1		pod/perl5005delta.pod \
46    perlapi 1			pod/perlapi.pod \
47    perlapio 1			pod/perlapio.pod \
48    perlbook 1			pod/perlbook.pod \
49    perlboot 1			pod/perlboot.pod \
50    perlbot 1			pod/perlbot.pod \
51    perlbug 1			utils/perlbug \
52    perlcall 1			pod/perlcall.pod \
53    perlcc 1			utils/perlcc \
54    perlcn 1			README.cn \
55    perlcompile 1		pod/perlcompile.pod \
56    perldata 1			pod/perldata.pod \
57    perldbmfilter 1		pod/perldbmfilter.pod \
58    perldebguts 1		pod/perldebguts.pod \
59    perldebtut 1		pod/perldebtut.pod \
60    perldebug 1			pod/perldebug.pod \
61    perldelta 1			pod/perldelta.pod \
62    perldiag 1			pod/perldiag.pod \
63    perldoc 1			utils/perldoc \
64    perldsc 1			pod/perldsc.pod \
65    perlembed 1			pod/perlembed.pod \
66    perlfaq 1			pod/perlfaq.pod \
67    perlfaq1 1			pod/perlfaq1.pod \
68    perlfaq2 1			pod/perlfaq2.pod \
69    perlfaq3 1			pod/perlfaq3.pod \
70    perlfaq4 1			pod/perlfaq4.pod \
71    perlfaq5 1			pod/perlfaq5.pod \
72    perlfaq6 1			pod/perlfaq6.pod \
73    perlfaq7 1			pod/perlfaq7.pod \
74    perlfaq8 1			pod/perlfaq8.pod \
75    perlfaq9 1			pod/perlfaq9.pod \
76    perlfilter 1		pod/perlfilter.pod \
77    perlfork 1			pod/perlfork.pod \
78    perlform 1			pod/perlform.pod \
79    perlfunc 1			pod/perlfunc.pod \
80    perlguts 1			pod/perlguts.pod \
81    perlhack 1			pod/perlhack.pod \
82    perlhist 1			pod/perlhist.pod \
83    perlintern 1		pod/perlintern.pod \
84    perlintro 1			pod/perlintro.pod \
85    perliol 1			pod/perliol.pod \
86    perlipc 1			pod/perlipc.pod \
87    perlivp 1			utils/perlivp.PL \
88    perljp 1			README.jp \
89    perlko 1			README.ko \
90    perllexwarn 1		pod/perllexwarn.pod \
91    perllocale 1		pod/perllocale.pod \
92    perllol 1			pod/perllol.pod \
93    perlmod 1			pod/perlmod.pod \
94    perlmodinstall 1		pod/perlmodinstall.pod \
95    perlmodlib 1		pod/perlmodlib.pod \
96    perlmodstyle 1		pod/perlmodstyle.pod \
97    perlnewmod 1		pod/perlnewmod.pod \
98    perlnumber 1		pod/perlnumber.pod \
99    perlobj 1			pod/perlobj.pod \
100    perlop 1			pod/perlop.pod \
101    perlopentut 1		pod/perlopentut.pod \
102    perlothrtut 1		pod/perlothrtut.pod \
103    perlpacktut 1		pod/perlpacktut.pod \
104    perlpod 1			pod/perlpod.pod \
105    perlpodspec 1		pod/perlpodspec.pod \
106    perlport 1			pod/perlport.pod \
107    perlre 1			pod/perlre.pod \
108    perlref 1			pod/perlref.pod \
109    perlreftut 1		pod/perlreftut.pod \
110    perlrequick	1		pod/perlrequick.pod \
111    perlretut 1			pod/perlretut.pod \
112    perlrun 1			pod/perlrun.pod \
113    perlsec 1			pod/perlsec.pod \
114    perlstyle 1			pod/perlstyle.pod \
115    perlsub 1			pod/perlsub.pod \
116    perlsyn 1			pod/perlsyn.pod \
117    perlthrtut 1		pod/perlthrtut.pod \
118    perltie 1			pod/perltie.pod \
119    perltoc 1			pod/perltoc.pod \
120    perltodo 1			pod/perltodo.pod \
121    perltooc 1			pod/perltooc.pod \
122    perltooc 1			pod/perltooc.pod \
123    perltoot 1			pod/perltoot.pod \
124    perltrap 1			pod/perltrap.pod \
125    perltw 1			README.tw \
126    perlunicode 1		pod/perlunicode.pod \
127    perluniintro 1		pod/perluniintro.pod \
128    perlvar 1			pod/perlvar.pod \
129    perlxs 1			pod/perlxs.pod \
130    perlxstut 1			pod/perlxstut.pod \
131    piconv 1			ext/Encode/bin/piconv \
132    pl2pm 1			utils/pl2pm \
133    pod2html 1			pod/pod2html \
134    pod2latex 1			pod/pod2latex.PL \
135    pod2man 1			pod/pod2man \
136    pod2text 1			pod/pod2text \
137    pod2usage 1			pod/pod2usage \
138    podchecker 1		pod/podchecker \
139    podselect 1			pod/podselect \
140    pstruct 1			utils/pstruct \
141    s2p	1			x2p/s2p \
142    splain 1			utils/splain \
143    xsubpp 1			lib/ExtUtils/xsubpp \
144    AnyDBM_File	3p		lib/AnyDBM_File.pm \
145    Attribute::Handlers 3p	lib/Attribute/Handlers.pm \
146    AutoLoader 3p		lib/AutoLoader.pm \
147    AutoSplit 3p		lib/AutoSplit.pm \
148    B 3p			ext/B/B.pm \
149    B::Asmdata 3p		ext/B/B/Asmdata.pm \
150    B::Assembler 3p		ext/B/B/Assembler.pm \
151    B::Bblock 3p		ext/B/B/Bblock.pm \
152    B::Bytecode 3p		ext/B/B/Bytecode.pm \
153    B::C 3p			ext/B/B/C.pm \
154    B::CC 3p			ext/B/B/CC.pm \
155    B::Concise 3p		ext/B/B/Concise.pm \
156    B::Debug 3p			ext/B/B/Debug.pm \
157    B::Deparse 3p		ext/B/B/Deparse.pm \
158    B::Disassembler 3p		ext/B/B/Disassembler.pm \
159    B::Lint 3p			ext/B/B/Lint.pm \
160    B::Showlex 3p		ext/B/B/Showlex.pm \
161    B::Stackobj 3p		ext/B/B/Stackobj.pm \
162    B::Terse 3p			ext/B/B/Terse.pm \
163    B::Xref 3p			ext/B/B/Xref.pm \
164    Benchmark 3p		lib/Benchmark.pm \
165    ByteLoader 3p		ext/ByteLoader/ByteLoader.pm \
166    CGI 3p			lib/CGI.pm \
167    CGI::Apache 3p		lib/CGI/Apache.pm \
168    CGI::Carp 3p		lib/CGI/Carp.pm \
169    CGI::Cookie 3p		lib/CGI/Cookie.pm \
170    CGI::Fast 3p		lib/CGI/Fast.pm \
171    CGI::Pretty 3p		lib/CGI/Pretty.pm \
172    CGI::Push 3p		lib/CGI/Push.pm \
173    CGI::Switch 3p		lib/CGI/Switch.pm \
174    CGI::Util 3p		lib/CGI/Util.pm \
175    CPAN 3p			lib/CPAN.pm \
176    CPAN::FirstTime 3p		lib/CPAN/FirstTime.pm \
177    CPAN::Nox 3p		lib/CPAN/Nox.pm \
178    Carp 3p			lib/Carp.pm \
179    Carp::Heavy 3p		lib/Carp/Heavy.pm \
180    Class::ISA 3p		lib/Class/ISA.pm \
181    Class::Struct 3p		lib/Class/Struct.pm \
182    Config 3p			lib/Config.pm \
183    Cwd 3p			lib/Cwd.pm \
184    DB 3p			lib/DB.pm \
185    DB_File 3p			ext/DB_File/DB_File.pm \
186    Data::Dumper 3p		ext/Data/Dumper/Dumper.pm \
187    Devel::DProf 3p		ext/Devel/DProf/DProf.pm \
188    Devel::PPPort 3p		ext/Devel/PPPort/PPPort.pm \
189    Devel::Peek 3p		ext/Devel/Peek/Peek.pm \
190    Devel::SelfStubber 3p	lib/Devel/SelfStubber.pm \
191    Digest 3p			lib/Digest.pm \
192    Digest::MD5 3p		ext/Digest/MD5/MD5.pm \
193    DirHandle 3p		lib/DirHandle.pm \
194    Dumpvalue 3p		lib/Dumpvalue.pm \
195    DynaLoader 3p		ext/DynaLoader/XSLoader_pm.PL \
196    Encode 3p			ext/Encode/Encode.pm \
197    Encode::Alias 3p		ext/Encode/lib/Encode/Alias.pm \
198    Encode::Byte 3p		ext/Encode/Byte/Byte.pm \
199    Encode::CJKConstants 3p	ext/Encode/lib/Encode/CJKConstants.pm \
200    Encode::CN 3p		ext/Encode/CN/CN.pm \
201    Encode::CN::HZ 3p		ext/Encode/lib/Encode/CN/HZ.pm \
202    Encode::Config 3p		ext/Encode/lib/Encode/Config.pm \
203    Encode::EBCDIC 3p		ext/Encode/EBCDIC/EBCDIC.pm \
204    Encode::Encoder 3p		ext/Encode/lib/Encode/Encoder.pm \
205    Encode::Encoding 3p		ext/Encode/lib/Encode/Encoding.pm \
206    Encode::Guess 3p		ext/Encode/lib/Encode/Guess.pm \
207    Encode::JP 3p		ext/Encode/JP/JP.pm \
208    Encode::JP::H2Z 3p		ext/Encode/lib/Encode/JP/H2Z.pm \
209    Encode::JP::JIS7 3p		ext/Encode/lib/Encode/JP/JIS7.pm \
210    Encode::KR 3p		ext/Encode/KR/KR.pm \
211    Encode::KR::2022_KR 3p	ext/Encode/lib/Encode/KR/2022_KR.pm \
212    Encode::MIME::Header 3p	ext/Encode/lib/Encode/MIME/Header.pm \
213    Encode::PerlIO 3p		ext/Encode/lib/Encode/PerlIO.pod \
214    Encode::Supported 3p	ext/Encode/lib/Encode/Supported.pod \
215    Encode::Symbol 3p		ext/Encode/Symbol/Symbol.pm \
216    Encode::TW 3p		ext/Encode/TW/TW.pm \
217    Encode::Unicode 3p		ext/Encode/Unicode/Unicode.pm \
218    English 3p			lib/English.pm \
219    Env 3p			lib/Env.pm \
220    Errno 3p			ext/Errno/Errno_pm.PL \
221    Exporter 3p			lib/Exporter.pm \
222    Exporter::Heavy 3p		lib/Exporter/Heavy.pm \
223    ExtUtils::Command 3p	lib/ExtUtils/Command.pm \
224    ExtUtils::Command::MM 3p	lib/ExtUtils/Command/MM.pm \
225    ExtUtils::Constant 3p	lib/ExtUtils/Constant.pm \
226    ExtUtils::Embed 3p		lib/ExtUtils/Embed.pm \
227    ExtUtils::Install 3p	lib/ExtUtils/Install.pm \
228    ExtUtils::Installed 3p	lib/ExtUtils/Installed.pm \
229    ExtUtils::Liblist 3p	lib/ExtUtils/Liblist.pm \
230    ExtUtils::MM 3p		lib/ExtUtils/MM.pm \
231    ExtUtils::MM_Any 3p		lib/ExtUtils/MM_Any.pm \
232    ExtUtils::MM_BeOS 3p	lib/ExtUtils/MM_BeOS.pm \
233    ExtUtils::MM_DOS 3p		lib/ExtUtils/MM_DOS.pm \
234    ExtUtils::MM_MacOS 3p	lib/ExtUtils/MM_MacOS.pm \
235    ExtUtils::MM_NW5 3p		lib/ExtUtils/MM_NW5.pm \
236    ExtUtils::MM_UWIN 3p	lib/ExtUtils/MM_UWIN.pm \
237    ExtUtils::MM_Unix 3p	lib/ExtUtils/MM_Unix.pm \
238    ExtUtils::MM_Win95 3p	lib/ExtUtils/MM_Win95.pm \
239    ExtUtils::MY 3p		lib/ExtUtils/MY.pm \
240    ExtUtils::MakeMaker 3p	lib/ExtUtils/MakeMaker.pm \
241    ExtUtils::Manifest 3p	lib/ExtUtils/Manifest.pm \
242    ExtUtils::Miniperl 3p	lib/ExtUtils/Miniperl.pm \
243    ExtUtils::Mkbootstrap 3p	lib/ExtUtils/Mkbootstrap.pm \
244    ExtUtils::Mksymlists 3p	lib/ExtUtils/Mksymlists.pm \
245    ExtUtils::Packlist 3p	lib/ExtUtils/Packlist.pm \
246    ExtUtils::testlib 3p	lib/ExtUtils/testlib.pm \
247    Fatal 3p			lib/Fatal.pm \
248    Fcntl 3p			lib/Fcntl.pm \
249    File::Basename 3p		lib/File/Basename.pm \
250    File::CheckTree 3p		lib/File/CheckTree.pm \
251    File::Compare 3p		lib/File/Compare.pm \
252    File::Copy 3p		lib/File/Copy.pm \
253    File::DosGlob 3p		lib/File/DosGlob.pm \
254    File::Find 3p		lib/File/Find.pm \
255    File::Glob 3p		lib/File/Glob.pm \
256    File::Path 3p		lib/File/Path.pm \
257    File::Spec 3p		lib/File/Spec.pm \
258    File::Spec::Cygwin 3p	lib/File/Spec/Cygwin.pm \
259    File::Spec::Functions 3p	lib/File/Spec/Functions.pm \
260    File::Spec::Unix 3p		lib/File/Spec/Unix.pm \
261    File::Temp 3p		lib/File/Temp.pm \
262    File::stat 3p		lib/File/stat.pm \
263    FileCache 3p		lib/FileCache.pm \
264    FileHandle 3p		lib/FileHandle.pm \
265    Filter::Simple 3p		lib/Filter/Simple.pm \
266    Filter::Util::Call 3p	ext/Filter/Util/Call/Call.pm \
267    FindBin 3p			lib/FindBin.pm \
268    Getopt::Long 3p		lib/Getopt/Long.pm \
269    Getopt::Std 3p		lib/Getopt/Std.pm \
270    Hash::Util 3p		lib/Hash/Util.pm \
271    I18N::Collate 3p		lib/I18N/Collate.pm \
272    I18N::LangTags 3p		lib/I18N/LangTags.pm \
273    I18N::LangTags::List 3p	lib/I18N/LangTags/List.pm \
274    I18N::Langinfo 3p		ext/I18N/Langinfo/Langinfo.pm \
275    IO 3p			lib/IO.pm \
276    IO::Dir 3p			lib/IO/Dir.pm \
277    IO::File 3p			lib/IO/File.pm \
278    IO::Handle 3p		lib/IO/Handle.pm \
279    IO::Pipe 3p			lib/IO/Pipe.pm \
280    IO::Poll 3p			lib/IO/Poll.pm \
281    IO::Seekable 3p		lib/IO/Seekable.pm \
282    IO::Select 3p		lib/IO/Select.pm \
283    IO::Socket 3p		lib/IO/Socket.pm \
284    IO::Socket::INET 3p		lib/IO/Socket/INET.pm \
285    IO::Socket::UNIX 3p		lib/IO/Socket/UNIX.pm \
286    IPC::Msg 3p			lib/IPC/Msg.pm \
287    IPC::Open2 3p		lib/IPC/Open2.pm \
288    IPC::Open3 3p		lib/IPC/Open3.pm \
289    IPC::Semaphore 3p		lib/IPC/Semaphore.pm \
290    IPC::SysV 3p		lib/IPC/SysV.pm \
291    List::Util 3p		ext/List/Util/lib/List/Util.pm \
292    Locale::Constants 3p	lib/Locale/Constants.pod \
293    Locale::Country 3p		lib/Locale/Country.pod \
294    Locale::Currency 3p		lib/Locale/Currency.pod \
295    Locale::Language 3p		lib/Locale/Language.pod \
296    Locale::Maketext 3p		lib/Locale/Maketext.pod \
297    Locale::Maketext::TPJ13 3p	lib/Locale/Maketext/TPJ13.pod \
298    Locale::Script 3p		lib/Locale/Script.pod \
299    MIME::Base64 3p		ext/MIME/Base64/Base64.pm \
300    MIME::QuotedPrint 3p	ext/MIME/Base64/QuotedPrint.pm \
301    Math::BigFloat 3p		lib/Math/BigFloat.pm \
302    Math::BigInt 3p		lib/Math/BigInt.pm \
303    Math::BigInt::Calc 3p	lib/Math/BigInt/Calc.pm \
304    Math::BigRat 3p		lib/Math/BigRat.pm \
305    Math::Complex 3p		lib/Math/Complex.pm \
306    Math::Trig 3p		lib/Math/Trig.pm \
307    Memoize 3p			lib/Memoize.pm \
308    Memoize::AnyDBM_File 3p	lib/Memoize/AnyDBM_File.pm \
309    Memoize::Expire 3p		lib/Memoize/Expire.pm \
310    Memoize::ExpireFile 3p	lib/Memoize/ExpireFile.pm \
311    Memoize::ExpireTest 3p	lib/Memoize/ExpireTest.pm \
312    Memoize::NDBM_File 3p	lib/Memoize/NDBM_File.pm \
313    Memoize::SDBM_File 3p	lib/Memoize/SDBM_File.pm \
314    Memoize::Storable 3p	lib/Memoize/Storable.pm \
315    NDBM_File 3p		lib/NDBM_File.pm \
316    NEXT 3p			lib/NEXT.pm \
317    Net::Cmd 3p			lib/Net/Cmd.pm \
318    Net::Config 3p		lib/Net/Config.pm \
319    Net::Domain 3p		lib/Net/Domain.pm \
320    Net::FTP 3p			lib/Net/FTP.pm \
321    Net::NNTP 3p		lib/Net/NNTP.pm \
322    Net::Netrc 3p		lib/Net/Netrc.pm \
323    Net::POP3 3p		lib/Net/POP3.pm \
324    Net::Ping 3p		lib/Net/Ping.pm \
325    Net::SMTP 3p		lib/Net/SMTP.pm \
326    Net::Time 3p		lib/Net/Time.pm \
327    Net::hostent 3p		lib/Net/hostent.pm \
328    Net::libnetFAQ 3p		lib/Net/libnetFAQ.pod \
329    Net::netent 3p		lib/Net/netent.pm \
330    Net::protoent 3p		lib/Net/protoent.pm \
331    Net::servent 3p		lib/Net/servent.pm \
332    O 3p			lib/O.pm \
333    ODBM_File 3p		lib/ODBM_File.pm \
334    Opcode 3p			lib/Opcode.pm \
335    POSIX 3p			lib/POSIX.pod \
336    PerlIO 3p			lib/PerlIO.pm \
337    PerlIO::encoding 3p		ext/PerlIO/encoding/encoding.pm \
338    PerlIO::scalar 3p		ext/PerlIO/scalar/scalar.pm \
339    PerlIO::via 3p		ext/PerlIO/via/via.pm \
340    PerlIO::via::QuotedPrint 3p	lib/PerlIO/via/QuotedPrint.pm \
341    Pod::Checker 3p		lib/Pod/Checker.pm \
342    Pod::Find 3p		lib/Pod/Find.pm \
343    Pod::Html 3p		lib/Pod/Html.pm \
344    Pod::InputObjects 3p	lib/Pod/InputObjects.pm \
345    Pod::LaTeX 3p		lib/Pod/LaTeX.pm \
346    Pod::Man 3p			lib/Pod/Man.pm \
347    Pod::ParseLink 3p		lib/Pod/ParseLink.pm \
348    Pod::ParseUtils 3p		lib/Pod/ParseUtils.pm \
349    Pod::Parser 3p		lib/Pod/Parser.pm \
350    Pod::Plainer 3p		lib/Pod/Plainer.pm \
351    Pod::Select 3p		lib/Pod/Select.pm \
352    Pod::Text 3p		lib/Pod/Text.pm \
353    Pod::Text::Color 3p		lib/Pod/Text/Color.pm \
354    Pod::Text::Overstrike 3p	lib/Pod/Text/Overstrike.pm \
355    Pod::Text::Termcap 3p	lib/Pod/Text/Termcap.pm \
356    Pod::Usage 3p		lib/Pod/Usage.pm \
357    SDBM_File 3p		lib/SDBM_File.pm \
358    Safe 3p			lib/Safe.pm \
359    Scalar::Util 3p		ext/List/Util/lib/Scalar/Util.pm \
360    Search::Dict 3p		lib/Search/Dict.pm \
361    SelectSaver 3p		lib/SelectSaver.pm \
362    SelfLoader 3p		lib/SelfLoader.pm \
363    Shell 3p			lib/Shell.pm \
364    Socket 3p			lib/Socket.pm \
365    Storable 3p			ext/Storable/Storable.pm \
366    Switch 3p			lib/Switch.pm \
367    Symbol 3p			lib/Symbol.pm \
368    Sys::Hostname 3p		lib/Sys/Hostname.pm \
369    Sys::Syslog 3p		lib/Sys/Syslog.pm \
370    Term::ANSIColor 3p		lib/Term/ANSIColor.pm \
371    Term::Cap 3p		lib/Term/Cap.pm \
372    Term::Complete 3p		lib/Term/Complete.pm \
373    Term::ReadLine 3p		lib/Term/ReadLine.pm \
374    Test 3p			lib/Test.pm \
375    Test::Builder 3p		lib/Test/Builder.pm \
376    Test::Harness 3p		lib/Test/Harness.pm \
377    Test::Harness::Assert 3p	lib/Test/Harness/Assert.pm \
378    Test::Harness::Iterator 3p	lib/Test/Harness/Iterator.pm \
379    Test::Harness::Straps 3p	lib/Test/Harness/Straps.pm \
380    Test::More 3p		lib/Test/More.pm \
381    Test::Simple 3p		lib/Test/Simple.pm \
382    Test::Tutorial 3p		lib/Test/Tutorial.pod \
383    Text::Abbrev 3p		lib/Text/Abbrev.pm \
384    Text::Balanced 3p		lib/Text/Balanced.pm \
385    Text::ParseWords 3p		lib/Text/ParseWords.pm \
386    Text::Soundex 3p		lib/Text/Soundex.pm \
387    Text::Tabs 3p		lib/Text/Tabs.pm \
388    Text::Wrap 3p		lib/Text/Wrap.pm \
389    Thread 3p			lib/Thread.pm \
390    Thread::Queue 3p		lib/Thread/Queue.pm \
391    Thread::Semaphore 3p	lib/Thread/Semaphore.pm \
392    Tie::Array 3p		lib/Tie/Array.pm \
393    Tie::File 3p		lib/Tie/File.pm \
394    Tie::Handle 3p		lib/Tie/Handle.pm \
395    Tie::Hash 3p		lib/Tie/Hash.pm \
396    Tie::Memoize 3p		lib/Tie/Memoize.pm \
397    Tie::RefHash 3p		lib/Tie/RefHash.pm \
398    Tie::Scalar 3p		lib/Tie/Scalar.pm \
399    Tie::SubstrHash 3p		lib/Tie/SubstrHash.pm \
400    Time::HiRes 3p		ext/Time/HiRes/HiRes.pm \
401    Time::Local 3p		lib/Time/Local.pm \
402    Time::gmtime 3p		lib/Time/gmtime.pm \
403    Time::localtime 3p		lib/Time/localtime.pm \
404    Time::tm 3p			lib/Time/tm.pm \
405    UNIVERSAL 3p		lib/UNIVERSAL.pm \
406    Unicode::Collate 3p		lib/Unicode/Collate.pm \
407    Unicode::Normalize 3p	ext/Unicode/Normalize/Normalize.pm \
408    Unicode::UCD 3p		lib/Unicode/UCD.pm \
409    User::grent 3p		lib/User/grent.pm \
410    User::pwent 3p		lib/User/pwent.pm \
411    XS::APItest 3p		ext/XS/APItest/APItest.pm \
412    XS::Typemap 3p		ext/XS/Typemap/Typemap.pm \
413    XSLoader 3p			lib/XSLoader.pm \
414    attributes 3p		lib/attributes.pm \
415    attrs 3p			lib/attrs.pm \
416    autouse 3p			lib/autouse.pm \
417    base 3p			lib/base.pm \
418    bigint 3p			lib/bigint.pm \
419    bignum 3p			lib/bignum.pm \
420    bigrat 3p			lib/bigrat.pm \
421    blib 3p			lib/blib.pm \
422    bytes 3p			lib/bytes.pm \
423    charnames 3p		lib/charnames.pm \
424    constant 3p			lib/constant.pm \
425    diagnostics 3p		lib/diagnostics.pm \
426    encoding 3p			ext/Encode/encoding.pm \
427    fields 3p			lib/fields.pm \
428    filetest 3p			lib/filetest.pm \
429    if 3p			lib/if.pm \
430    integer 3p			lib/integer.pm \
431    less 3p			lib/less.pm \
432    lib 3p			lib/lib.pm \
433    locale 3p			lib/locale.pm \
434    open 3p			lib/open.pm \
435    ops 3p			lib/ops.pm \
436    overload 3p			lib/overload.pm \
437    re 3p			lib/re.pm \
438    sigtrap 3p			lib/sigtrap.pm \
439    sort 3p			lib/sort.pm \
440    strict 3p			lib/strict.pm \
441    subs 3p			lib/subs.pm \
442    threads 3p			ext/threads/threads.pm \
443    threads::shared 3p		ext/threads/shared/shared.pm \
444    utf8 3p			lib/utf8.pm \
445    vars 3p			lib/vars.pm \
446    warnings 3p			lib/warnings.pm \
447    warnings::register 3p	lib/warnings/register.pm
448.  ifndef NOMAN
449MANALL+= ${page}.cat${sect}
450.  endif
451.  if MANPS
452PSALL+= ${page}.ps${sect}
453.  endif
454${page}.cat${sect}: ${file}
455	${POD2MAN} --section=${sect} --official ${.ALLSRC}|\
456	    ${NROFF} -man >${.TARGET}
457${page}.ps${sect}: ${file}
458	${POD2MAN} --section=${sect} --official ${.ALLSRC}|\
459	    ${NROFF} -man -Tps >${.TARGET}
460.endfor
461
462LIB=	perl
463
464SRCS=	gv.c toke.c perly.c op.c regcomp.c dump.c util.c mg.c reentr.c hv.c \
465	av.c run.c pp_hot.c sv.c pp.c scope.c pp_ctl.c pp_sys.c doop.c doio.c \
466	regexec.c utf8.c taint.c deb.c universal.c xsutils.c globals.c perl.c \
467	perlio.c perlapi.c numeric.c locale.c pp_pack.c pp_sort.c
468
469CPPFLAGS+= -DPERL_CORE -DPERL_RANDOM_DEVICE=\"/dev/arandom\" -I.
470
471.if defined (INSTALL_STRIP) && ${INSTALL_STRIP} == "-s"
472INST_PROG='/usr/bin/install -cs'
473.else
474INST_PROG='/usr/bin/install -c'
475.endif
476
477MLINKS=		c2ph.1 pstruct.1 s2p.1 psed.1 \
478		Getopt::Std.3p getopt.3p Getopt::Std.3p getopts.3p \
479		File::Basename.3p dirname.3p File::Basename.3p basename.3p \
480		File::Basename.3p fileparse.3p
481
482# NOTE: config.sh *must* be first
483GENERATED=	config.sh config.h cflags makeaperl makedepend makedir \
484		myconfig writemain Makefile Policy.sh pod/Makefile \
485		x2p/Makefile x2p/cflags
486
487CLEANFILES=	config.sh Policy.sh ${MANALL} ${PSALL} ${MANSRCALL}
488
489.if !exists(${.OBJDIR}/config.over)
490${.OBJDIR}/config.over: ${.CURDIR}/config.over
491	${LNDIR} -s -e obj -e obj.${MACHINE_ARCH} -e Makefile.bsd-wrapper ${.CURDIR}
492.endif
493
494all:	perl.build man.build
495
496man.build: ${MANALL} ${PSALL}
497
498beforedepend:	config.sh config.h
499
500perl.build:	perl.lib
501	cd ${.OBJDIR} && exec ${MAKE}
502
503config.sh:	${.OBJDIR}/config.over
504	cd ${.OBJDIR} && PATH="/bin:/usr/bin:/sbin:/usr/sbin" \
505	 exec /bin/sh Configure -Dopenbsd_distribution=defined ${THREADED} -dsE
506
507Policy.sh:
508	cd ${.OBJDIR} && exec /bin/sh Policy_sh.SH
509
510Makefile:
511	cd ${.OBJDIR} && exec /bin/sh Makefile.SH
512
513cflags:
514	cd ${.OBJDIR} && exec /bin/sh cflags.SH
515
516config.h:
517	cd ${.OBJDIR} && exec /bin/sh config_h.SH
518
519makeaperl:
520	cd ${.OBJDIR} && exec /bin/sh makeaperl.SH
521
522makedepend:
523	cd ${.OBJDIR} && exec /bin/sh makedepend.SH
524
525makedir:
526	cd ${.OBJDIR} && exec /bin/sh makedir.SH
527
528myconfig:
529	cd ${.OBJDIR} && exec /bin/sh myconfig.SH
530
531writemain:
532	cd ${.OBJDIR} && exec /bin/sh writemain.SH
533
534pod/Makefile:
535	cd ${.OBJDIR}/pod && exec /bin/sh Makefile.SH
536
537x2p/Makefile:
538	cd ${.OBJDIR}/x2p && exec /bin/sh Makefile.SH
539
540x2p/cflags:
541	cd ${.OBJDIR}/x2p && exec /bin/sh cflags.SH
542
543# Never try to regenerate perly.c or perly.h
544perly.c perly.h: perly.y
545	-@true
546
547.ifdef NOMAN
548maninstall:
549	@echo NOMAN is set
550.endif
551
552install: install.lib install.perl maninstall
553	-mkdir -p ${DESTDIR}/usr/libdata/perl5/site_perl/${MACHINE_ARCH}-openbsd
554	(cd ${DESTDIR}/usr/include; ${H2PH} \
555		-d ${DESTDIR}/usr/libdata/perl5/site_perl/${MACHINE_ARCH}-openbsd \
556		`find . -name '*.h'`; \
557		pax -rw `find . -type l \! -name '*.h' | sed 's/^..//'` \
558		${DESTDIR}/usr/libdata/perl5/site_perl/${MACHINE_ARCH}-openbsd)
559	-chmod -R a+rX ${DESTDIR}/usr/libdata/perl5
560
561install.perl:
562	(cd ${.OBJDIR}; INSTALL=${INSTALL} INSTALL_COPY=${INSTALL_COPY} \
563	 INSTALL_STRIP=${INSTALL_STRIP} NOLIBINSTALL=1 ${MAKE} install.perl)
564
565test:
566	-@if [ -e Makefile ]; then ${MAKE} test; fi
567
568clean:
569	-@if [ -e Makefile ]; then ${MAKE} realclean; fi
570
571cleandir:
572	-@if [ ${.CURDIR} != ${.OBJDIR} ]; then \
573	    rm -rf *; \
574	else \
575	    test -e Makefile && ${MAKE} distclean; \
576	    rm -f ${CLEANFILES}; \
577	fi
578
579.include <bsd.lib.mk>
580
581# These have to come after the inclusion of <bsd.lib.mk>
582perl.lib:	${GENERATED} ${_LIBS}
583
584install.lib:
585	${INSTALL} ${INSTALL_COPY} -o ${LIBOWN} -g ${LIBGRP} -m 600 lib${LIB}.a \
586	    ${DESTDIR}${LIBDIR}
587.if (${INSTALL_COPY} != "-p")
588	${RANLIB} -t ${DESTDIR}${LIBDIR}/lib${LIB}.a
589.endif
590	chmod ${LIBMODE} ${DESTDIR}${LIBDIR}/lib${LIB}.a
591.if !defined(NOPROFILE)
592	${INSTALL} ${INSTALL_COPY} -o ${LIBOWN} -g ${LIBGRP} -m 600 \
593	    lib${LIB}_p.a ${DESTDIR}${LIBDIR}
594.if (${INSTALL_COPY} != "-p")
595	${RANLIB} -t ${DESTDIR}${LIBDIR}/lib${LIB}_p.a
596.endif
597	chmod ${LIBMODE} ${DESTDIR}${LIBDIR}/lib${LIB}_p.a
598.endif
599.if !defined(NOPIC) && (${MACHINE_ARCH} != "mips")
600	${INSTALL} ${INSTALL_COPY} -o ${LIBOWN} -g ${LIBGRP} -m 600 \
601	    lib${LIB}_pic.a ${DESTDIR}${LIBDIR}
602.if (${INSTALL_COPY} != "-p")
603	${RANLIB} -t ${DESTDIR}${LIBDIR}/lib${LIB}_pic.a
604.endif
605	chmod ${LIBMODE} ${DESTDIR}${LIBDIR}/lib${LIB}_pic.a
606.endif
607.if !defined(NOPIC) && defined(major) && defined(minor)
608	${INSTALL} ${INSTALL_COPY} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
609	    lib${LIB}.so.${major}.${minor} ${DESTDIR}${LIBDIR}
610.endif
611.PHONY: perl.lib install.lib perl.build install.perl man.build
612