4 sourcedir = /sys/src/cmd/perl/$p9pvers
5 archname = plan9_$objtype
7 archlib = /$objtype/lib/perl/$p9pvers
8 sitelib = $privlib/site_perl
9 sitearch = $archlib/site_perl
11 CFLAGS = -B -D_POSIX_SOURCE -D_BSD_EXTENSION -DMY_UV_MAX=0x7fffffffUL
14 CCCMD = $CC -c $CFLAGS
16 perllib = $archlib/CORE/libperl.a
18 perlshr = $archlib/CORE/libperlshr.a
20 installman1dir = /sys/man/1
21 installman3dir = /sys/man/2
23 podnames = perl perlbook perlboot perlbot perldata perldebtut perldiag perldsc perlform perlfunc perlipc perllexwarn perllol perlmod perlmodlib perlmodinstall perlnewmod perlop perlopentut perlpacktut perlpod perlport perlrequick perlretut perlref perlreftut perlrequick perlrun perlsec perlstyle perlsub perlsyn perltie perltoc perltooc perltoot perltrap perlutil perluniintro perlvar
24 faqpodnames = perlfaq perlfaq1 perlfaq2 perlfaq3 perlfaq4 perlfaq5 perlfaq6 perlfaq7 perlfaq8 perlfaq9
25 advpodnames = perlapi perlapio perlcall perlclib perlcompile perldebguts perldbmfilter perldebug perldelta perldiag perlebcdic perlembed perlfilter perlfork perlguts perlhack perlintern perliol perllocale perlnumber perlobj perlothrtut perlpodspec perlre perlthrtut perltodo perlunicode perlxs perlxs perlxstut
26 archpodnames = perlaix perlamiga perlapollo perlbeos perlbs2000 perlce perlcygwin perldgux perldos perlepoc perlfreebsd perlhpux perlhurd perlirix perlmachten perlmacos perlmint perlmpeix perlnetware perlos2 perlos390 perlos400 perlplan9 perlqnx perlsolaris perltru64 perluts perlvmesa perlvms perlvos perlwin32
27 histpods = perl5004delta perl5005delta perl561delta perl56delta perl570delta perl571delta perl572delta perl573delta perl58delta perlhist
29 libpods = ${podnames:%=pod/%.pod}
33 extensions = IO Socket Opcode DynaLoader Fcntl POSIX
34 ext_xs = IO.xs Socket.xs Opcode.xs dl_none.xs Fcntl.xs POSIX.xs
35 ext_c = ${ext_xs:%.xs=%.c}
36 ext_obj = ${ext_xs:%.xs=%.$O}
38 obj = av.$O deb.$O doio.$O doop.$O dump.$O globals.$O gv.$O hv.$O locale.$O malloc.$O mg.$O numeric.$O op.$O pad.$O perlapi.$O perlio.$O perly.$O pp.$O pp_ctl.$O pp_hot.$O pp_pack.$O pp_sort.$O pp_sys.$O reentr.$O regcomp.$O regexec.$O run.$O scope.$O sv.$O taint.$O toke.$O universal.$O utf8.$O util.$O xsutils.$O
40 OBJS = perl.$O plan9.$O $obj
42 testlist = base/*.t comp/*.t cmd/*.t io/*.t op/*.t
44 install:V: perl preplibrary
45 cp perl /$objtype/bin/perl
46 cp plan9/aperl /rc/bin/Perl
49 perl: config.h miniperlmain.$O miniperl $archlib/Config.pm perlmain.$O $perlshr
50 $LD $CFLAGS -o perl perlmain.$O $perllib $perlshr
52 miniperl: config.h $perllib miniperlmain.$O
53 $LD $CFLAGS -o miniperl miniperlmain.$O $perllib
55 preplibrary:V: miniperl $archlib/Config.pm
57 for (file in *.pm */*.pm $archlib/Config.pm) $sourcedir/miniperl -e 'use AutoSplit; autosplit(@ARGV)' $file $privlib/auto
60 $perllib: ${OBJS:%=$perllib(%)}
64 miniperlmain.$O: config.h
67 perlmain.$O: config.h perlmain.c
70 perlmain.c: miniperl vms/writemain.pl
71 ./miniperl vms/writemain.pl $extensions
73 config.h: plan9/fndvers
75 cp config.h $archlib/CORE
78 $perlshr: ${ext_obj:%=$perlshr(%)}
79 ar rv $perlshr $ext_obj
82 IO.c: miniperl ext/IO/IO.xs
83 ./miniperl $privlib/ExtUtils/xsubpp -noprototypes -typemap $privlib/ExtUtils/typemap ext/IO/IO.xs > $target
84 cp ext/IO/*.pm $privlib
85 if (test !-d $privlib/IO) {
87 cp ext/IO/lib/IO/*.pm $privlib/IO
90 Socket.$O: config.h Socket.c
91 $CCCMD -I plan9 Socket.c
93 Socket.c: miniperl ext/Socket/Socket.xs
94 ./miniperl $privlib/ExtUtils/xsubpp -noprototypes -typemap $privlib/ExtUtils/typemap ext/Socket/Socket.xs > $target
95 cp ext/Socket/Socket.pm $privlib
97 Opcode.c: miniperl ext/Opcode/Opcode.xs
98 ./miniperl $privlib/ExtUtils/xsubpp -noprototypes -typemap $privlib/ExtUtils/typemap ext/Opcode/Opcode.xs > $target
99 cp ext/Opcode/*.pm $privlib
101 Fcntl.c: miniperl ext/Fcntl/Fcntl.xs
102 ./miniperl $privlib/ExtUtils/xsubpp -noprototypes -typemap $privlib/ExtUtils/typemap ext/Fcntl/Fcntl.xs > $target
103 cp ext/Fcntl/Fcntl.pm $privlib
105 POSIX.c: miniperl ext/POSIX/POSIX.xs
106 ./miniperl $privlib/ExtUtils/xsubpp -noprototypes -typemap $privlib/ExtUtils/typemap ext/POSIX/POSIX.xs > $target
107 cp ext/POSIX/POSIX.pm $privlib
109 dl_none.c: miniperl ext/DynaLoader/dl_none.xs
110 ./miniperl $privlib/ExtUtils/xsubpp -noprototypes -typemap $privlib/ExtUtils/typemap ext/DynaLoader/dl_none.xs > $target
111 cp ext/DynaLoader/DynaLoader.pm $privlib
114 bind -b $privlib $sourcedir/lib
115 bind -b $archlib $sourcedir/lib
118 cp /$objtype/bin/perl $sourcedir/t
119 perl TEST `{ ls */*.t | comm -23 - ../plan9/exclude }
121 plan9.$O: config.h ./plan9/plan9.c
122 cp ./plan9/plan9.c ./plan9.c
128 $archlib/Config.pm: miniperl config.sh
129 ./miniperl configpm $archlib/Config.pm
131 config.sh: miniperl config.h
132 ./miniperl ./plan9/genconfig.pl
135 for (objtype in 386 mips 68020 sparc) mk install
137 man:V: $perlpods pod/pod2man.PL perl
139 for (i in $podnames) pod/pod2man pod/$i.pod > $installman3dir/$i
140 for (i in $faqpodnames) pod/pod2man pod/$i.pod > $installman3dir/$i
141 for (i in $advpodnames) pod/pod2man pod/$i.pod > $installman3dir/$i
142 for (i in $archpodnames) pod/pod2man pod/$i.pod > $installman3dir/$i
143 for (i in $histpodnames) pod/pod2man pod/$i.pod > $installman3dir/$i
146 rm -f *.$O $extensions^.pm config.sh $perllib config.h $perlshr perlmain.c perl miniperl $archlib/Config.pm $ext_c
150 rm -f $installman1dir/perl* $installman3dir/perl*