perl/plan9/mkfile
<<
>>
Prefs
   1APE=/sys/src/ape
   2< $APE/config
   3<plan9/buildinfo
   4sourcedir = /sys/src/cmd/perl/$p9pvers
   5archname = plan9_$objtype
   6privlib=/sys/lib/perl
   7archlib = /$objtype/lib/perl/$p9pvers
   8sitelib = $privlib/site_perl
   9sitearch = $archlib/site_perl
  10
  11CFLAGS =  -B  -D_POSIX_SOURCE -D_BSD_EXTENSION -DMY_UV_MAX=0x7fffffffUL
  12LDFLAGS = -B 
  13
  14CCCMD = $CC  -c $CFLAGS 
  15
  16perllib = $archlib/CORE/libperl.a
  17
  18perlshr = $archlib/CORE/libperlshr.a
  19
  20installman1dir = /sys/man/1
  21installman3dir = /sys/man/2
  22
  23podnames = perl perlbook perlboot perlbot perldata perldebtut perldiag perldsc perlform perlfunc perlipc perllexwarn perllol perlmod perlmodlib perlmodinstall perlnewmod perlop perlopentut perlpacktut perlpod perlport perlrequick perlretut perlref perlreftut perlrequick perlrun perlsec perlstyle perlsub perlsyn perltie perltoc perltooc perltoot perltrap perlutil perlunifaq perluniintro perlvar
  24faqpodnames = perlfaq perlfaq1 perlfaq2 perlfaq3 perlfaq4 perlfaq5 perlfaq6 perlfaq7 perlfaq8 perlfaq9
  25advpodnames = perlapi perlapio perlcall perlclib perlcompile perldebguts perldbmfilter perldebug perldelta perldiag perlebcdic perlembed perlfilter perlfork perlguts perlhack perlintern perliol perllocale perlnumber perlobj perlothrtut perlpodspec perlre perlthrtut perltodo perlunicode perlxs perlxs perlxstut
  26archpodnames = perlaix perlamiga perlapollo perlbeos perlbs2000 perlce perlcygwin perldgux perldos perlepoc perlfreebsd perlhpux perlhurd perlirix perlmachten perlmacos perlmint perlmpeix perlnetware perlos2 perlos390 perlos400 perlplan9 perlqnx perlsolaris perltru64 perluts perlvmesa perlvms perlvos perlwin32
  27histpods = perl5004delta perl5005delta perl561delta perl56delta perl570delta perl571delta perl572delta perl573delta perl58delta perlhist
  28
  29libpods = ${podnames:%=pod/%.pod}
  30
  31perlpods = $libpods
  32
  33extensions = IO Socket Opcode DynaLoader Fcntl POSIX
  34ext_xs = IO.xs Socket.xs Opcode.xs  dl_none.xs Fcntl.xs POSIX.xs
  35ext_c = ${ext_xs:%.xs=%.c}
  36ext_obj = ${ext_xs:%.xs=%.$O}
  37
  38obj = av.$O deb.$O doio.$O doop.$O dump.$O globals.$O gv.$O hv.$O locale.$O malloc.$O mathoms.$O mg.$O numeric.$O op.$O pad.$O perlapi.$O perlio.$O perly.$O pp.$O pp_ctl.$O pp_hot.$O pp_pack.$O pp_sort.$O pp_sys.$O reentr.$O regcomp.$O regexec.$O run.$O scope.$O sv.$O taint.$O toke.$O universal.$O utf8.$O util.$O xsutils.$O
  39
  40OBJS = perl.$O plan9.$O $obj
  41
  42testlist = base/*.t comp/*.t cmd/*.t io/*.t op/*.t
  43
  44install:V:      perl preplibrary 
  45                cp perl /$objtype/bin/perl
  46                cp plan9/aperl /rc/bin/Perl
  47                mk man
  48                
  49perl:           config.h miniperlmain.$O miniperl $archlib/Config.pm perlmain.$O $perlshr 
  50                $LD $CFLAGS -o perl perlmain.$O $perllib $perlshr
  51                
  52miniperl:       config.h $perllib miniperlmain.$O 
  53                $LD  $CFLAGS -o miniperl miniperlmain.$O  $perllib 
  54
  55preplibrary:V:  miniperl $archlib/Config.pm
  56                        cd $privlib
  57                        for (file in *.pm */*.pm $archlib/Config.pm) $sourcedir/miniperl  -e 'use AutoSplit; autosplit(@ARGV)' $file $privlib/auto
  58        
  59$perllib(%):N:  %
  60$perllib: ${OBJS:%=$perllib(%)}
  61                ar rv $perllib $OBJS
  62                $RANLIB $perllib
  63                        
  64miniperlmain.$O:        config.h 
  65                                $CCCMD miniperlmain.c
  66
  67perlmain.$O:    config.h perlmain.c
  68                        $CCCMD perlmain.c
  69
  70perlmain.c:     miniperl vms/writemain.pl
  71                        ./miniperl vms/writemain.pl $extensions
  72
  73config.h:               plan9/fndvers
  74                        plan9/fndvers 
  75                        cp config.h $archlib/CORE
  76
  77$perlshr(%):N:  %
  78$perlshr:  ${ext_obj:%=$perlshr(%)}
  79                ar rv $perlshr $ext_obj
  80                $RANLIB $perlshr
  81
  82IO.c:           miniperl ext/IO/IO.xs
  83                        ./miniperl $privlib/ExtUtils/xsubpp -noprototypes -typemap $privlib/ExtUtils/typemap ext/IO/IO.xs > $target
  84                        cp ext/IO/*.pm $privlib
  85                        if (test !-d $privlib/IO) { 
  86                        mkdir $privlib/IO
  87                        cp ext/IO/lib/IO/*.pm $privlib/IO
  88                         }
  89
  90Socket.$O:      config.h Socket.c
  91                        $CCCMD -I plan9 Socket.c
  92
  93Socket.c:               miniperl ext/Socket/Socket.xs
  94                        ./miniperl $privlib/ExtUtils/xsubpp -noprototypes -typemap $privlib/ExtUtils/typemap ext/Socket/Socket.xs > $target
  95                        cp ext/Socket/Socket.pm $privlib
  96
  97Opcode.c:               miniperl ext/Opcode/Opcode.xs
  98                        ./miniperl $privlib/ExtUtils/xsubpp -noprototypes -typemap $privlib/ExtUtils/typemap ext/Opcode/Opcode.xs > $target
  99                        cp ext/Opcode/*.pm $privlib
 100
 101Fcntl.c:                miniperl ext/Fcntl/Fcntl.xs
 102                        ./miniperl $privlib/ExtUtils/xsubpp -noprototypes -typemap $privlib/ExtUtils/typemap ext/Fcntl/Fcntl.xs > $target
 103                        cp ext/Fcntl/Fcntl.pm $privlib
 104
 105POSIX.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
 109dl_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
 113test: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
 121plan9.$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
 131config.sh:      miniperl config.h
 132                ./miniperl ./plan9/genconfig.pl
 133
 134installall:V:   
 135                        for (objtype in 386 mips 68020 sparc) mk install
 136
 137man:V:          $perlpods pod/pod2man.PL perl
 138                        perl pod/pod2man.PL
 139                        for (i in $podnames) pod/pod2man pod/$i.pod > $installman3dir/$i
 140                        for (i in $faqpodnames) pod/pod2man pod/$i.pod > $installman3dir/$i
 141                        for (i in $advpodnames) pod/pod2man pod/$i.pod > $installman3dir/$i
 142                        for (i in $archpodnames) pod/pod2man pod/$i.pod > $installman3dir/$i
 143                        for (i in $histpodnames) pod/pod2man pod/$i.pod > $installman3dir/$i
 144                        
 145nuke clean:V:   
 146                rm -f *.$O   $extensions^.pm config.sh $perllib config.h $perlshr perlmain.c perl miniperl $archlib/Config.pm $ext_c
 147                rm -rf $privlib/IO
 148
 149deleteman:V:
 150                        rm -f $installman1dir/perl* $installman3dir/perl*
 151
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.