xref: /openbsd/gnu/usr.bin/perl/plan9/mkfile (revision 48950c12)
1ba47ec9dSmillertAPE=/sys/src/ape
2ba47ec9dSmillert< $APE/config
3ba47ec9dSmillert<plan9/buildinfo
4ba47ec9dSmillertsourcedir = /sys/src/cmd/perl/$p9pvers
5ba47ec9dSmillertarchname = plan9_$objtype
6ba47ec9dSmillertprivlib=/sys/lib/perl
7ba47ec9dSmillertarchlib = /$objtype/lib/perl/$p9pvers
8ba47ec9dSmillertsitelib = $privlib/site_perl
9ba47ec9dSmillertsitearch = $archlib/site_perl
10ba47ec9dSmillert
11ba47ec9dSmillertCFLAGS =  -B  -D_POSIX_SOURCE -D_BSD_EXTENSION -DMY_UV_MAX=0x7fffffffUL
12ba47ec9dSmillertLDFLAGS = -B
13ba47ec9dSmillert
14ba47ec9dSmillertCCCMD = $CC  -c $CFLAGS
15ba47ec9dSmillert
16ba47ec9dSmillertperllib = $archlib/CORE/libperl.a
17ba47ec9dSmillert
18ba47ec9dSmillertperlshr = $archlib/CORE/libperlshr.a
19ba47ec9dSmillert
20ba47ec9dSmillertinstallman1dir = /sys/man/1
21ba47ec9dSmillertinstallman3dir = /sys/man/2
22ba47ec9dSmillert
23*48950c12Ssthenpodnames = perl perlbook perldata perldebtut perldiag perldsc perlform perlfunc perlipc perllexwarn perllol perlmod perlmodlib perlmodinstall perlnewmod perlop perlootut perlopentut perlpacktut perlpod perlport perlrequick perlretut perlref perlreftut perlrequick perlrun perlsec perlstyle perlsub perlsyn perltie perltrap perlutil perlunifaq perluniintro perlvar
2455745691Smillertfaqpodnames = perlfaq perlfaq1 perlfaq2 perlfaq3 perlfaq4 perlfaq5 perlfaq6 perlfaq7 perlfaq8 perlfaq9
250dc2eaceSmillertadvpodnames = perlapi perlapio perlcall perlclib perlcompile perldebguts perldbmfilter perldebug perldelta perldiag perlebcdic perlembed perlfilter perlfork perlguts perlhack perlintern perliol perllocale perlnumber perlobj perlpodspec perlre perlthrtut perltodo perlunicode perlxs perlxs perlxstut
26*48950c12Ssthenarchpodnames = perlaix perlamiga perlbeos perlbs2000 perlce perlcygwin perldgux perldos perlepoc perlfreebsd perlhpux perlhurd perlirix perlmacos perlmpeix perlnetware perlos2 perlos390 perlos400 perlplan9 perlqnx perlsolaris perltru64 perluts perlvmesa perlvms perlvos perlwin32
27f64b279aSmillerthistpods = perl5004delta perl5005delta perl561delta perl56delta perl570delta perl571delta perl572delta perl573delta perl58delta perlhist
28ba47ec9dSmillert
29ba47ec9dSmillertlibpods = ${podnames:%=pod/%.pod}
30ba47ec9dSmillert
31ba47ec9dSmillertperlpods = $libpods
32ba47ec9dSmillert
33ba47ec9dSmillertextensions = IO Socket Opcode DynaLoader Fcntl POSIX
34ba47ec9dSmillertext_xs = IO.xs Socket.xs Opcode.xs  dl_none.xs Fcntl.xs POSIX.xs
35ba47ec9dSmillertext_c = ${ext_xs:%.xs=%.c}
36ba47ec9dSmillertext_obj = ${ext_xs:%.xs=%.$O}
37ba47ec9dSmillert
380dc2eaceSmillertobj = 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
39ba47ec9dSmillert
40f64b279aSmillertOBJS = perl.$O plan9.$O $obj
41ba47ec9dSmillert
42ba47ec9dSmillerttestlist = base/*.t comp/*.t cmd/*.t io/*.t op/*.t
43ba47ec9dSmillert
44ba47ec9dSmillertinstall:V:	perl preplibrary
45ba47ec9dSmillert		cp perl /$objtype/bin/perl
46ba47ec9dSmillert		cp plan9/aperl /rc/bin/Perl
47ba47ec9dSmillert		mk man
48ba47ec9dSmillert
49ba47ec9dSmillertperl:		config.h miniperlmain.$O miniperl $archlib/Config.pm perlmain.$O $perlshr
50ba47ec9dSmillert		$LD $CFLAGS -o perl perlmain.$O $perllib $perlshr
51ba47ec9dSmillert
52ba47ec9dSmillertminiperl:	config.h $perllib miniperlmain.$O
53ba47ec9dSmillert		$LD  $CFLAGS -o miniperl miniperlmain.$O  $perllib
54ba47ec9dSmillert
55ba47ec9dSmillertpreplibrary:V:	miniperl $archlib/Config.pm
56ba47ec9dSmillert			cd $privlib
57ba47ec9dSmillert			for (file in *.pm */*.pm $archlib/Config.pm) $sourcedir/miniperl  -e 'use AutoSplit; autosplit(@ARGV)' $file $privlib/auto
58ba47ec9dSmillert
59ba47ec9dSmillert$perllib(%):N:	%
60ba47ec9dSmillert$perllib: ${OBJS:%=$perllib(%)}
61ba47ec9dSmillert		ar rv $perllib $OBJS
62ba47ec9dSmillert		$RANLIB $perllib
63ba47ec9dSmillert
64ba47ec9dSmillertminiperlmain.$O:	config.h
65ba47ec9dSmillert				$CCCMD miniperlmain.c
66ba47ec9dSmillert
67ba47ec9dSmillertperlmain.$O:	config.h perlmain.c
68ba47ec9dSmillert			$CCCMD perlmain.c
69ba47ec9dSmillert
70ba47ec9dSmillertperlmain.c:	miniperl vms/writemain.pl
71ba47ec9dSmillert			./miniperl vms/writemain.pl $extensions
72ba47ec9dSmillert
73ba47ec9dSmillertconfig.h:		plan9/fndvers
74ba47ec9dSmillert			plan9/fndvers
75ba47ec9dSmillert			cp config.h $archlib/CORE
76ba47ec9dSmillert
77ba47ec9dSmillert$perlshr(%):N:	%
78ba47ec9dSmillert$perlshr:  ${ext_obj:%=$perlshr(%)}
79ba47ec9dSmillert		ar rv $perlshr $ext_obj
80ba47ec9dSmillert		$RANLIB $perlshr
81ba47ec9dSmillert
82ba47ec9dSmillertIO.c:		miniperl ext/IO/IO.xs
83ba47ec9dSmillert			./miniperl $privlib/ExtUtils/xsubpp -noprototypes -typemap $privlib/ExtUtils/typemap ext/IO/IO.xs > $target
84ba47ec9dSmillert			cp ext/IO/*.pm $privlib
85ba47ec9dSmillert			if (test !-d $privlib/IO) {
86ba47ec9dSmillert			mkdir $privlib/IO
87ba47ec9dSmillert			cp ext/IO/lib/IO/*.pm $privlib/IO
88ba47ec9dSmillert			 }
89ba47ec9dSmillert
90ba47ec9dSmillertSocket.$O:	config.h Socket.c
91ba47ec9dSmillert			$CCCMD -I plan9 Socket.c
92ba47ec9dSmillert
93ba47ec9dSmillertSocket.c:		miniperl ext/Socket/Socket.xs
94ba47ec9dSmillert			./miniperl $privlib/ExtUtils/xsubpp -noprototypes -typemap $privlib/ExtUtils/typemap ext/Socket/Socket.xs > $target
95ba47ec9dSmillert			cp ext/Socket/Socket.pm $privlib
96ba47ec9dSmillert
97ba47ec9dSmillertOpcode.c:		miniperl ext/Opcode/Opcode.xs
98ba47ec9dSmillert			./miniperl $privlib/ExtUtils/xsubpp -noprototypes -typemap $privlib/ExtUtils/typemap ext/Opcode/Opcode.xs > $target
99ba47ec9dSmillert			cp ext/Opcode/*.pm $privlib
100ba47ec9dSmillert
101ba47ec9dSmillertFcntl.c:		miniperl ext/Fcntl/Fcntl.xs
102ba47ec9dSmillert			./miniperl $privlib/ExtUtils/xsubpp -noprototypes -typemap $privlib/ExtUtils/typemap ext/Fcntl/Fcntl.xs > $target
103ba47ec9dSmillert			cp ext/Fcntl/Fcntl.pm $privlib
104ba47ec9dSmillert
105ba47ec9dSmillertPOSIX.c:		miniperl ext/POSIX/POSIX.xs
106ba47ec9dSmillert			./miniperl $privlib/ExtUtils/xsubpp -noprototypes -typemap $privlib/ExtUtils/typemap ext/POSIX/POSIX.xs > $target
107ba47ec9dSmillert			cp ext/POSIX/POSIX.pm $privlib
108ba47ec9dSmillert
109ba47ec9dSmillertdl_none.c:	miniperl ext/DynaLoader/dl_none.xs
110ba47ec9dSmillert			./miniperl $privlib/ExtUtils/xsubpp -noprototypes -typemap $privlib/ExtUtils/typemap ext/DynaLoader/dl_none.xs > $target
111ba47ec9dSmillert			cp ext/DynaLoader/DynaLoader.pm $privlib
112ba47ec9dSmillert
113ba47ec9dSmillerttest:V:
114ba47ec9dSmillert			bind -b $privlib $sourcedir/lib
115ba47ec9dSmillert			bind -b $archlib $sourcedir/lib
116ba47ec9dSmillert			cd $sourcedir/t
117ba47ec9dSmillert			rm -f perl
118ba47ec9dSmillert			cp /$objtype/bin/perl $sourcedir/t
119ba47ec9dSmillert			perl TEST `{ ls */*.t | comm -23 - ../plan9/exclude }
120ba47ec9dSmillert
121ba47ec9dSmillertplan9.$O:	config.h ./plan9/plan9.c
122ba47ec9dSmillert			cp ./plan9/plan9.c ./plan9.c
123ba47ec9dSmillert			$CCCMD plan9.c
124ba47ec9dSmillert
125ba47ec9dSmillert%.$O:	config.h %.c
126ba47ec9dSmillert		$CCCMD $stem.c
127ba47ec9dSmillert
128ba47ec9dSmillert$archlib/Config.pm:		miniperl config.sh
129ba47ec9dSmillert				./miniperl configpm $archlib/Config.pm
130ba47ec9dSmillert
131ba47ec9dSmillertconfig.sh:	miniperl config.h
132ba47ec9dSmillert		./miniperl ./plan9/genconfig.pl
133ba47ec9dSmillert
134ba47ec9dSmillertinstallall:V:
135ba47ec9dSmillert			for (objtype in 386 mips 68020 sparc) mk install
136ba47ec9dSmillert
137ba47ec9dSmillertman:V:		$perlpods pod/pod2man.PL perl
138ba47ec9dSmillert			perl pod/pod2man.PL
139ba47ec9dSmillert			for (i in $podnames) pod/pod2man pod/$i.pod > $installman3dir/$i
14055745691Smillert			for (i in $faqpodnames) pod/pod2man pod/$i.pod > $installman3dir/$i
14155745691Smillert			for (i in $advpodnames) pod/pod2man pod/$i.pod > $installman3dir/$i
14255745691Smillert			for (i in $archpodnames) pod/pod2man pod/$i.pod > $installman3dir/$i
143f64b279aSmillert			for (i in $histpodnames) pod/pod2man pod/$i.pod > $installman3dir/$i
144ba47ec9dSmillert
145ba47ec9dSmillertnuke clean:V:
146ba47ec9dSmillert		rm -f *.$O   $extensions^.pm config.sh $perllib config.h $perlshr perlmain.c perl miniperl $archlib/Config.pm $ext_c
147ba47ec9dSmillert		rm -rf $privlib/IO
148ba47ec9dSmillert
149ba47ec9dSmillertdeleteman:V:
150ba47ec9dSmillert			rm -f $installman1dir/perl* $installman3dir/perl*
151