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 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 POSIX
30 ext_xs = IO.xs Socket.xs Opcode.xs dl_none.xs Fcntl.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 POSIX.c: miniperl ext/POSIX/POSIX.xs
102 ./miniperl $privlib/ExtUtils/xsubpp -noprototypes -typemap $privlib/ExtUtils/typemap ext/POSIX/POSIX.xs > $target
103 cp ext/POSIX/POSIX.pm $privlib
105 dl_none.c: miniperl ext/DynaLoader/dl_none.xs
106 ./miniperl $privlib/ExtUtils/xsubpp -noprototypes -typemap $privlib/ExtUtils/typemap ext/DynaLoader/dl_none.xs > $target
107 cp ext/DynaLoader/DynaLoader.pm $privlib
110 bind -b $privlib $sourcedir/lib
111 bind -b $archlib $sourcedir/lib
114 cp /$objtype/bin/perl $sourcedir/t
115 perl TEST `{ ls */*.t | comm -23 - ../plan9/exclude }
117 plan9.$O: config.h ./plan9/plan9.c
118 cp ./plan9/plan9.c ./plan9.c
124 $archlib/Config.pm: miniperl config.sh
125 ./miniperl configpm $archlib/Config.pm
127 config.sh: miniperl config.h
128 ./miniperl ./plan9/genconfig.pl
131 for (objtype in 386 mips 68020 sparc) mk install
133 man:V: $perlpods pod/pod2man.PL perl
135 for (i in $podnames) pod/pod2man pod/$i.pod > $installman3dir/$i
136 pod/pod2man plan9/perlplan9.pod > $installman3dir/perlplan9
139 rm -f *.$O $extensions^.pm config.sh $perllib config.h $perlshr perlmain.c perl miniperl $archlib/Config.pm $ext_c
143 rm -f $installman1dir/perl* $installman3dir/perl*