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 -DNO_EMBED
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
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/aperl
44 perl: config.h miniperlmain.$O miniperl $archlib/Config.pm perlmain.$O $perlshr
45 $LD $CFLAGS -o perl perlmain.$O $perllib $perlshr
47 miniperl: config.h $perllib miniperlmain.$O
48 $LD $CFLAGS -o miniperl miniperlmain.$O $perllib
50 preplibrary:V: miniperl $archlib/Config.pm
52 for (file in *.pm */*.pm $archlib/Config.pm) $sourcedir/miniperl -e 'use AutoSplit; autosplit(@ARGV)' $file $privlib/auto
55 $perllib: ${OBJS:%=$perllib(%)}
59 miniperlmain.$O: config.h
62 perlmain.$O: config.h perlmain.c
65 perlmain.c: miniperl vms/writemain.pl
66 ./miniperl vms/writemain.pl $extensions
68 config.h: config.plan9 plan9/fndvers
70 cp config.h $archlib/CORE
73 $perlshr: ${ext_obj:%=$perlshr(%)}
74 ar rv $perlshr $ext_obj
77 IO.c: miniperl ext/IO/IO.xs
78 ./miniperl $privlib/ExtUtils/xsubpp -noprototypes -typemap $privlib/ExtUtils/typemap ext/IO/IO.xs > $target
79 cp ext/IO/*.pm $privlib
80 if (test !-d $privlib/IO) {
82 cp ext/IO/lib/IO/*.pm $privlib/IO
85 Socket.$O: config.h Socket.c
86 $CCCMD -I plan9 Socket.c
88 Socket.c: miniperl ext/Socket/Socket.xs
89 ./miniperl $privlib/ExtUtils/xsubpp -noprototypes -typemap $privlib/ExtUtils/typemap ext/Socket/Socket.xs > $target
90 cp ext/Socket/Socket.pm $privlib
92 Opcode.c: miniperl ext/Opcode/Opcode.xs
93 ./miniperl $privlib/ExtUtils/xsubpp -noprototypes -typemap $privlib/ExtUtils/typemap ext/Opcode/Opcode.xs > $target
94 cp ext/Opcode/*.pm $privlib
96 Fcntl.c: miniperl ext/Fcntl/Fcntl.xs
97 ./miniperl $privlib/ExtUtils/xsubpp -noprototypes -typemap $privlib/ExtUtils/typemap ext/Fcntl/Fcntl.xs > $target
98 cp ext/Fcntl/Fcntl.pm $privlib
100 FileHandle.c: miniperl ext/FileHandle/FileHandle.xs
101 ./miniperl $privlib/ExtUtils/xsubpp -noprototypes -typemap $privlib/ExtUtils/typemap ext/FileHandle/FileHandle.xs > $target
102 cp ext/FileHandle/FileHandle.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 pod/pod2man plan9/perlplan9.pod > $installman3dir/perlplan9
142 rm -f *.$O $extensions^.pm config.sh $perllib config.h $perlshr perlmain.c perl miniperl $archlib/Config.pm $ext_c
146 rm -f $installman1dir/perl* $installman3dir/perl*