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 perllol perlmod perlmodlib perlmodinstall perlnewmod perlop perlopentut perlpod perlrequick perlretut perlref perlreftut perlrun perlsec perlstyle perlsub perlsyn perltie perltoc perltoot perltootc perltrap perlutil 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 perlfor perlguts perlhack perlhist perlintern perliol perlnumber perlobj perlre perlthrtut perltodo perlunicode perlxs perlxs perlxstut
26 archpodnames = perlaix perlapollo perlamiga perlbs2000 perlcygwin perldgux perldos perlepoc perlhpux perlhurd perlmachten perlmacos perlmint perlmpeix perlos2 perlos390 perlqnx perlsolaris perltru64 perlvmesa perlvms perlvos perlwin32
28 libpods = ${podnames:%=pod/%.pod}
32 extensions = IO Socket Opcode DynaLoader Fcntl POSIX
33 ext_xs = IO.xs Socket.xs Opcode.xs dl_none.xs Fcntl.xs POSIX.xs
34 ext_c = ${ext_xs:%.xs=%.c}
35 ext_obj = ${ext_xs:%.xs=%.$O}
37 obj = gv.$O toke.$O perly.$O op.$O regcomp.$O dump.$O util.$O mg.$O hv.$O av.$O run.$O pp_hot.$O sv.$O pp.$O scope.$O pp_ctl.$O pp_sys.$O doop.$O doio.$O regexec.$O taint.$O deb.$O globals.$O plan9.$O universal.$O perlio.$O
41 testlist = base/*.t comp/*.t cmd/*.t io/*.t op/*.t
43 install:V: perl preplibrary
44 cp perl /$objtype/bin/perl
45 cp plan9/aperl /rc/bin/Perl
48 perl: config.h miniperlmain.$O miniperl $archlib/Config.pm perlmain.$O $perlshr
49 $LD $CFLAGS -o perl perlmain.$O $perllib $perlshr
51 miniperl: config.h $perllib miniperlmain.$O
52 $LD $CFLAGS -o miniperl miniperlmain.$O $perllib
54 preplibrary:V: miniperl $archlib/Config.pm
56 for (file in *.pm */*.pm $archlib/Config.pm) $sourcedir/miniperl -e 'use AutoSplit; autosplit(@ARGV)' $file $privlib/auto
59 $perllib: ${OBJS:%=$perllib(%)}
63 miniperlmain.$O: config.h
66 perlmain.$O: config.h perlmain.c
69 perlmain.c: miniperl vms/writemain.pl
70 ./miniperl vms/writemain.pl $extensions
72 config.h: plan9/fndvers
74 cp config.h $archlib/CORE
77 $perlshr: ${ext_obj:%=$perlshr(%)}
78 ar rv $perlshr $ext_obj
81 IO.c: miniperl ext/IO/IO.xs
82 ./miniperl $privlib/ExtUtils/xsubpp -noprototypes -typemap $privlib/ExtUtils/typemap ext/IO/IO.xs > $target
83 cp ext/IO/*.pm $privlib
84 if (test !-d $privlib/IO) {
86 cp ext/IO/lib/IO/*.pm $privlib/IO
89 Socket.$O: config.h Socket.c
90 $CCCMD -I plan9 Socket.c
92 Socket.c: miniperl ext/Socket/Socket.xs
93 ./miniperl $privlib/ExtUtils/xsubpp -noprototypes -typemap $privlib/ExtUtils/typemap ext/Socket/Socket.xs > $target
94 cp ext/Socket/Socket.pm $privlib
96 Opcode.c: miniperl ext/Opcode/Opcode.xs
97 ./miniperl $privlib/ExtUtils/xsubpp -noprototypes -typemap $privlib/ExtUtils/typemap ext/Opcode/Opcode.xs > $target
98 cp ext/Opcode/*.pm $privlib
100 Fcntl.c: miniperl ext/Fcntl/Fcntl.xs
101 ./miniperl $privlib/ExtUtils/xsubpp -noprototypes -typemap $privlib/ExtUtils/typemap ext/Fcntl/Fcntl.xs > $target
102 cp ext/Fcntl/Fcntl.pm $privlib
104 POSIX.c: miniperl ext/POSIX/POSIX.xs
105 ./miniperl $privlib/ExtUtils/xsubpp -noprototypes -typemap $privlib/ExtUtils/typemap ext/POSIX/POSIX.xs > $target
106 cp ext/POSIX/POSIX.pm $privlib
108 dl_none.c: miniperl ext/DynaLoader/dl_none.xs
109 ./miniperl $privlib/ExtUtils/xsubpp -noprototypes -typemap $privlib/ExtUtils/typemap ext/DynaLoader/dl_none.xs > $target
110 cp ext/DynaLoader/DynaLoader.pm $privlib
113 bind -b $privlib $sourcedir/lib
114 bind -b $archlib $sourcedir/lib
117 cp /$objtype/bin/perl $sourcedir/t
118 perl TEST `{ ls */*.t | comm -23 - ../plan9/exclude }
120 plan9.$O: config.h ./plan9/plan9.c
121 cp ./plan9/plan9.c ./plan9.c
127 $archlib/Config.pm: miniperl config.sh
128 ./miniperl configpm $archlib/Config.pm
130 config.sh: miniperl config.h
131 ./miniperl ./plan9/genconfig.pl
134 for (objtype in 386 mips 68020 sparc) mk install
136 man:V: $perlpods pod/pod2man.PL perl
138 for (i in $podnames) pod/pod2man pod/$i.pod > $installman3dir/$i
139 for (i in $faqpodnames) pod/pod2man pod/$i.pod > $installman3dir/$i
140 for (i in $advpodnames) pod/pod2man pod/$i.pod > $installman3dir/$i
141 for (i in $archpodnames) pod/pod2man pod/$i.pod > $installman3dir/$i
144 rm -f *.$O $extensions^.pm config.sh $perllib config.h $perlshr perlmain.c perl miniperl $archlib/Config.pm $ext_c
148 rm -f $installman1dir/perl* $installman3dir/perl*