xref: /openbsd/gnu/usr.bin/perl/utils/Makefile.PL (revision 264ca280)
1#!./miniperl -w
2use strict;
3use Config;
4
5if (@ARGV) {
6    my $dir = shift;
7    chdir $dir or die "Can't chdir '$dir': $!";
8}
9
10# Note, the generated utils/Makefile isn't used by VMS yet.
11# The next step on cleaning this is up is probably to work to reduce the size
12# of the "problem" in both this file and vms/descrip_mms.template by
13# attempting to move the work from them to the extension directories and
14# ExtUtils::MakeMaker.
15
16require 'regen/regen_lib.pl';
17
18my $target = 'utils/Makefile';
19print "Extracting $target (with variable substitutions)\n";
20my $fh = open_new($target, undef, {by => $0}, 1);
21
22# These use the Cwd extension.  For statically-built perls, we
23# need perl, not just miniperl.
24my $perl = defined $Config{usedl} ? '../miniperl' : '../perl';
25
26print $fh <<"EOT";
27PERL = $perl
28REALPERL = ../perl
29RUN =  # Used mainly cross-compilation setups.
30
31EOT
32
33print $fh <<'EOT';
34
35# Files to be built with variable substitution after miniperl is
36# available.  Dependencies handled manually below (for now).
37
38pl = c2ph.PL config_data.PL corelist.PL cpan.PL h2ph.PL h2xs.PL instmodsh.PL perlbug.PL perldoc.PL perlivp.PL pl2pm.PL prove.PL splain.PL libnetcfg.PL piconv.PL enc2xs.PL xsubpp.PL pod2html.PL
39plextract = c2ph config_data corelist cpan h2ph h2xs instmodsh perlbug perldoc perlivp pl2pm prove splain libnetcfg piconv enc2xs xsubpp pod2html
40plextractexe = ./c2ph ./config_data ./corelist ./cpan ./h2ph ./h2xs ./instmodsh ./perlbug ./perldoc ./perlivp ./pl2pm ./prove ./splain ./libnetcfg ./piconv ./enc2xs ./xsubpp ./pod2html
41
42all: $(plextract)
43
44$(plextract):
45	$(RUN) $(PERL) -I../lib $@.PL
46
47c2ph:		c2ph.PL ../config.sh
48
49cpan:		cpan.PL ../config.sh
50
51config_data:	config_data.PL ../config.sh
52
53corelist:	corelist.PL ../config.sh
54
55h2ph:		h2ph.PL ../config.sh
56
57h2xs:		h2xs.PL ../config.sh
58
59instmodsh:	instmodsh.PL ../config.sh
60
61perlbug:	perlbug.PL ../config.sh ../patchlevel.h
62
63perldoc:	perldoc.PL ../config.sh
64
65perlivp:	perlivp.PL ../config.sh
66
67prove:		prove.PL ../config.sh
68
69pl2pm:		pl2pm.PL ../config.sh
70
71splain:		splain.PL ../config.sh ../lib/diagnostics.pm
72
73libnetcfg:	libnetcfg.PL ../config.sh
74
75piconv:		piconv.PL ../config.sh
76
77enc2xs:		enc2xs.PL ../config.sh
78
79xsubpp:		xsubpp.PL ../config.sh
80
81pod2html:	pod2html.PL ../config.sh ../ext/Pod-Html/bin/pod2html
82
83clean:
84
85realclean:
86	rm -rf $(plextract) pstruct $(plextractexe)
87	rm -f ../t/_h2ph_pre.ph
88
89clobber:	realclean
90
91distclean:	clobber
92
93veryclean:	distclean
94	-rm -f *~ *.org
95EOT
96
97read_only_bottom_close_and_rename($fh);
98