perl 5.003_01: t/lib/filehand.t
[p5sagit/p5-mst-13.2.git] / plan9 / mkfile
1 Content-type: text/plain; charset="us-ascii"
2 Content-disposition: attachment; filename="mkfile"
3
4 APE=/sys/src/ape
5 < $APE/config
6 <plan9/buildinfo
7 sourcedir = /sys/src/cmd/perl/$p9pvers
8 archname = plan9_$objtype
9 privlib=/sys/lib/perl
10 archlib = /$objtype/lib/perl/$p9pvers
11 sitelib = $privlib/site_perl
12 sitearch = $archlib/site_perl
13
14 CFLAGS =  -B  -D_POSIX_SOURCE -D_BSD_EXTENSION -DNO_EMBED
15 LDFLAGS = -B 
16
17 CCCMD = $CC  -c $CFLAGS 
18
19 perllib = $archlib/CORE/libperl.a
20
21 perlshr = $archlib/CORE/libperlshr.a
22
23 installman1dir = /sys/man/1
24 installman3dir = /sys/man/2
25
26 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
27
28 libpods = ${podnames:%=pod/%.pod}
29
30 perlpods = $libpods
31
32 extensions = IO Socket Opcode DynaLoader Fcntl FileHandle POSIX
33 ext_xs = IO.xs Socket.xs Opcode.xs  dl_none.xs Fcntl.xs FileHandle.xs POSIX.xs
34 ext_c = ${ext_xs:%.xs=%.c}
35 ext_obj = ${ext_xs:%.xs=%.$O}
36
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
38
39 OBJS = perl.$O $obj
40
41 testlist = base/*.t comp/*.t cmd/*.t io/*.t op/*.t
42
43 install:V:      perl preplibrary 
44                 cp perl /$objtype/bin/perl
45                 cp plan9/aperl /rc/bin/aperl
46                 
47 perl:           config.h miniperlmain.$O miniperl $archlib/Config.pm perlmain.$O $perlshr 
48                 $LD $CFLAGS -o perl perlmain.$O $perllib $perlshr
49                 
50 miniperl:       config.h $perllib miniperlmain.$O 
51                 $LD  $CFLAGS -o miniperl miniperlmain.$O  $perllib 
52
53 preplibrary:V:  miniperl $archlib/Config.pm
54                         cd $privlib
55                         for (file in *.pm */*.pm $archlib/Config.pm) $sourcedir/miniperl  -e 'use AutoSplit; autosplit(@ARGV)' $file $privlib/auto
56         
57 $perllib(%):N:  %
58 $perllib: ${OBJS:%=$perllib(%)}
59                 ar rv $perllib $OBJS
60                 $RANLIB $perllib
61                         
62 miniperlmain.$O:        config.h 
63                                 $CCCMD miniperlmain.c
64
65 perlmain.$O:    config.h perlmain.c
66                         $CCCMD perlmain.c
67
68 perlmain.c:     miniperl vms/writemain.pl
69                         ./miniperl vms/writemain.pl $extensions
70
71 config.h:               config.plan9 plan9/fndvers
72                         plan9/fndvers config.h 
73                         cp config.h $archlib/CORE
74
75 $perlshr(%):N:  %
76 $perlshr:  ${ext_obj:%=$perlshr(%)}
77                 ar rv $perlshr $ext_obj
78                 $RANLIB $perlshr
79
80 IO.c:           miniperl ext/IO/IO.xs
81                         ./miniperl $privlib/ExtUtils/xsubpp -noprototypes -typemap $privlib/ExtUtils/typemap ext/IO/IO.xs > $target
82                         cp ext/IO/*.pm $privlib
83                         if (test !-d $privlib/IO) mkdir $privlib/IO
84                         cp ext/IO/lib/IO/*.pm $privlib/IO
85
86 Socket.$O:      config.h Socket.c
87                         $CCCMD -I plan9 Socket.c
88
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
92
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
96
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
100
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
104
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
108
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
112
113 test:V:         
114                         bind -b $privlib $sourcedir/lib
115                         bind -b $archlib $sourcedir/lib
116                         cd $sourcedir/t
117                         rm -f perl
118                         cp /$objtype/bin/perl $sourcedir/t
119                         perl TEST `{ ls */*.t | comm -23 - ../plan9/exclude }
120
121 plan9.$O:       config.h ./plan9/plan9.c
122                         cp ./plan9/plan9.c ./plan9.c
123                         $CCCMD plan9.c
124
125 %.$O:   config.h %.c
126                 $CCCMD $stem.c
127
128 $archlib/Config.pm:             miniperl config.sh
129                                 ./miniperl configpm $archlib/Config.pm
130
131 config.sh:      miniperl config.h
132                 ./miniperl ./plan9/genconfig.pl
133
134 installall:V:   
135                         for (objtype in 386 mips 68020 sparc) mk install
136
137 man:V:          $perlpods pod/pod2man.PL perl
138                         perl pod/pod2man.PL
139                         for (i in $podnames) pod/pod2man pod/$i.pod > $installman3dir/$i
140                         pod/pod2man plan9/perlplan9.pod > $installman3dir/perlplan9
141                         
142 nuke:V: 
143                 rm -f *.$O   $extensions^.pm config.sh $perllib config.h $perlshr perlmain.c perl miniperl $archlib/Config.pm $ext_c
144                 
145 clean:V:
146                 rm -f *.$O config.sh  miniperl  t/perl
147
148 deleteman:V:
149                         rm -f $installman1dir/perl* $installman3dir/perl*