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 perlbot perlcall perldata perldebug perldiag perldsc perlembed perlform perlfunc perlguts perlipc perllol perlmod perlobj perlop perlovl perlpod perlre perlref perlrun perlsec perlstyle perlsub perlsyn perltie perltoc perltrap perlvar perlxs perlxstut
25 libpods = ${podnames:%=pod/%.pod}
29 extensions = IO Socket Opcode DynaLoader Fcntl FileHandle POSIX
30 ext_xs = IO.xs Socket.xs Opcode.xs dl_none.xs Fcntl.xs FileHandle.xs POSIX.xs
31 ext_c = ${ext_xs:%.xs=%.c}
32 ext_obj = ${ext_xs:%.xs=%.$O}
34 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
38 testlist = base/*.t comp/*.t cmd/*.t io/*.t op/*.t
40 install:V: perl preplibrary
41 cp perl /$objtype/bin/perl
42 cp plan9/aperl /rc/bin/Perl
45 perl: config.h miniperlmain.$O miniperl $archlib/Config.pm perlmain.$O $perlshr
46 $LD $CFLAGS -o perl perlmain.$O $perllib $perlshr
48 miniperl: config.h $perllib miniperlmain.$O
49 $LD $CFLAGS -o miniperl miniperlmain.$O $perllib
51 preplibrary:V: miniperl $archlib/Config.pm
53 for (file in *.pm */*.pm $archlib/Config.pm) $sourcedir/miniperl -e 'use AutoSplit; autosplit(@ARGV)' $file $privlib/auto
56 $perllib: ${OBJS:%=$perllib(%)}
60 miniperlmain.$O: config.h
63 perlmain.$O: config.h perlmain.c
66 perlmain.c: miniperl vms/writemain.pl
67 ./miniperl vms/writemain.pl $extensions
69 config.h: plan9/fndvers
71 cp config.h $archlib/CORE
74 $perlshr: ${ext_obj:%=$perlshr(%)}
75 ar rv $perlshr $ext_obj
78 IO.c: miniperl ext/IO/IO.xs
79 ./miniperl $privlib/ExtUtils/xsubpp -noprototypes -typemap $privlib/ExtUtils/typemap ext/IO/IO.xs > $target
80 cp ext/IO/*.pm $privlib
81 if (test !-d $privlib/IO) {
83 cp ext/IO/lib/IO/*.pm $privlib/IO
86 Socket.$O: config.h Socket.c
87 $CCCMD -I plan9 Socket.c
89 Socket.c: miniperl ext/Socket/Socket.xs
90 ./miniperl $privlib/ExtUtils/xsubpp -noprototypes -typemap $privlib/ExtUtils/typemap ext/Socket/Socket.xs > $target
91 cp ext/Socket/Socket.pm $privlib
93 Opcode.c: miniperl ext/Opcode/Opcode.xs
94 ./miniperl $privlib/ExtUtils/xsubpp -noprototypes -typemap $privlib/ExtUtils/typemap ext/Opcode/Opcode.xs > $target
95 cp ext/Opcode/*.pm $privlib
97 Fcntl.c: miniperl ext/Fcntl/Fcntl.xs
98 ./miniperl $privlib/ExtUtils/xsubpp -noprototypes -typemap $privlib/ExtUtils/typemap ext/Fcntl/Fcntl.xs > $target
99 cp ext/Fcntl/Fcntl.pm $privlib
101 FileHandle.c: miniperl ext/FileHandle/FileHandle.xs
102 ./miniperl $privlib/ExtUtils/xsubpp -noprototypes -typemap $privlib/ExtUtils/typemap ext/FileHandle/FileHandle.xs > $target
103 cp ext/FileHandle/FileHandle.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 pod/pod2man plan9/perlplan9.pod > $installman3dir/perlplan9
143 rm -f *.$O $extensions^.pm config.sh $perllib config.h $perlshr perlmain.c perl miniperl $archlib/Config.pm $ext_c
147 rm -f $installman1dir/perl* $installman3dir/perl*