diff options
author | Nicholas Clark <nick@ccl4.org> | 2013-07-03 22:50:08 +0200 |
---|---|---|
committer | Nicholas Clark <nick@ccl4.org> | 2013-07-07 12:42:02 +0200 |
commit | 0827416ddd18f3894cff2e82930c4f441b56e4a8 (patch) | |
tree | 89276cff41763b241f151daf97dccb6bc47b723d /utils | |
parent | 145bbcacfa5da244463c1a32e9230278dd2eff31 (diff) | |
download | perl-0827416ddd18f3894cff2e82930c4f441b56e4a8.tar.gz |
Generate utils/Makefile from utils/Makefile.PL, and remove it at clean time.
Add rules to the Win32 Makefiles to call utils/Makefile.PL to generate
utils/Makefile, and rules to both them and the *nix Makefile to delete
the generated file as part of the cleanup targets.
VMS continues to do its own thing, rather than using utils/Makefile.
Diffstat (limited to 'utils')
-rw-r--r-- | utils/Makefile | 81 | ||||
-rw-r--r-- | utils/Makefile.PL | 14 |
2 files changed, 8 insertions, 87 deletions
diff --git a/utils/Makefile b/utils/Makefile deleted file mode 100644 index f8934e8623..0000000000 --- a/utils/Makefile +++ /dev/null @@ -1,81 +0,0 @@ -# Generated from utils/Makefile.SH. The generated file is -# shipped with the source kit for systems such as win32 -# which don't do .SH extraction. - -PERL = ../miniperl -REALPERL = ../perl -RUN = # Used mainly cross-compilation setups. - - -# Files to be built with variable substitution after miniperl is -# available. Dependencies handled manually below (for now). - -pl = c2ph.PL config_data.PL corelist.PL cpan.PL h2ph.PL h2xs.PL instmodsh.PL json_pp.PL perlbug.PL perldoc.PL perlivp.PL pl2pm.PL prove.PL ptar.PL ptardiff.PL ptargrep.PL shasum.PL splain.PL libnetcfg.PL piconv.PL enc2xs.PL xsubpp.PL pod2html.PL zipdetails.PL -plextract = c2ph config_data corelist cpan h2ph h2xs instmodsh json_pp perlbug perldoc perlivp pl2pm prove ptar ptardiff ptargrep shasum splain libnetcfg piconv enc2xs xsubpp pod2html zipdetails -plextractexe = ./c2ph ./config_data ./corelist ./cpan ./h2ph ./h2xs ./json_pp ./instmodsh ./perlbug ./perldoc ./perlivp ./pl2pm ./prove ./ptar ./ptardiff ./ptargrep ./shasum ./splain ./libnetcfg ./piconv ./enc2xs ./xsubpp ./pod2html ./zipdetails - -all: $(plextract) - -$(plextract): - $(RUN) $(PERL) -I../lib $@.PL - -c2ph: c2ph.PL ../config.sh - -cpan: cpan.PL ../config.sh - -config_data: config_data.PL ../config.sh - -corelist: corelist.PL ../config.sh - -h2ph: h2ph.PL ../config.sh - -h2xs: h2xs.PL ../config.sh - -instmodsh: instmodsh.PL ../config.sh - -json_pp: json_pp.PL ../config.sh - -perlbug: perlbug.PL ../config.sh ../patchlevel.h - -perldoc: perldoc.PL ../config.sh - -perlivp: perlivp.PL ../config.sh - -prove: prove.PL ../config.sh - -ptar: ptar.PL ../config.sh - -ptardiff: ptardiff.PL ../config.sh - -ptargrep: ptargrep.PL ../config.sh - -pl2pm: pl2pm.PL ../config.sh - -shasum: shasum.PL ../config.sh - -splain: splain.PL ../config.sh ../lib/diagnostics.pm - -libnetcfg: libnetcfg.PL ../config.sh - -piconv: piconv.PL ../config.sh - -enc2xs: enc2xs.PL ../config.sh - -xsubpp: xsubpp.PL ../config.sh - -zipdetails: zipdetails.PL ../config.sh - -pod2html: pod2html.PL ../config.sh ../ext/Pod-Html/bin/pod2html - -clean: - -realclean: - rm -rf $(plextract) pstruct $(plextractexe) - rm -f ../t/_h2ph_pre.ph - -clobber: realclean - -distclean: clobber - -veryclean: distclean - -rm -f *~ *.org diff --git a/utils/Makefile.PL b/utils/Makefile.PL index 7e33806034..c5e3694b8a 100644 --- a/utils/Makefile.PL +++ b/utils/Makefile.PL @@ -7,21 +7,23 @@ if (@ARGV) { chdir $dir or die "Can't chdir '$dir': $!"; } +# Note, the generated utils/Makefile isn't used by VMS yet. +# The next step on cleaning this is up is probably to work to reduce the size +# of the "problem" in both this file and vms/descrip_mms.template by +# attempting to move the work from them to the extension directories and +# ExtUtils::MakeMaker. + require 'regen/regen_lib.pl'; my $target = 'utils/Makefile'; print "Extracting $target (with variable substitutions)\n"; -my $fh = open_new($target, undef, undef, 1); +my $fh = open_new($target, undef, {by => $0}, 1); # These use the Cwd extension. For statically-built perls, we # need perl, not just miniperl. my $perl = defined $Config{usedl} ? '../miniperl' : '../perl'; print $fh <<"EOT"; -# Generated from utils/Makefile.SH. The generated file is -# shipped with the source kit for systems such as win32 -# which don't do .SH extraction. - PERL = $perl REALPERL = ../perl RUN = $Config{run} # Used mainly cross-compilation setups. @@ -104,4 +106,4 @@ veryclean: distclean -rm -f *~ *.org EOT -close_and_rename($fh); +read_only_bottom_close_and_rename($fh); |