1 package ExtUtils::MM_Win95;
3 use vars qw($VERSION @ISA);
6 require ExtUtils::MM_Win32;
7 @ISA = qw(ExtUtils::MM_Win32);
10 my $DMAKE = 1 if $Config{'make'} =~ /^dmake/i;
11 my $NMAKE = 1 if $Config{'make'} =~ /^nmake/i;
16 ExtUtils::MM_Win95 - method to customize MakeMaker for Win9X
20 You should not be using this module directly.
24 This is a subclass of ExtUtils::MM_Win32 containing changes necessary
25 to get MakeMaker playing nice with command.com and other Win9Xisms.
27 =head2 Overriden methods
29 Most of these make up for limitations in the Win9x command shell.
30 Namely the lack of && and that a chdir is global, so you have to chdir
46 $(ABSPERLRUN) Makefile.PL
48 $(MAKE) test $(PASTHRU)
57 Also, dmake has an odd way of making a command series silent.
62 my($self, $subdir) = @_;
64 # Win-9x has nasty problem in command.com that can't cope with
65 # &&. Also, Dmake has an odd way of making a commandseries silent:
67 return sprintf <<'EOT', $subdir;
72 $(MAKE) all $(PASTHRU)
78 return sprintf <<'EOT', $subdir;
82 $(NOECHO)$(MAKE) all $(PASTHRU)
96 return '' unless $self->needs_linking();
99 $(PERLRUN) $(XSUBPP) $(XSPROTOARG) $(XSUBPPARGS) $*.xs > $*.c
112 return '' unless $self->needs_linking();
115 $(PERLRUN) $(XSUBPP) $(XSPROTOARG) $(XSUBPPARGS) $*.xs > $*.cpp
127 return '' unless $self->needs_linking();
130 $(PERLRUN) $(XSUBPP) $(XSPROTOARG) $(XSUBPPARGS) $*.xs > $*.c
131 $(CCCMD) $(CCCDLFLAGS) -I$(PERL_INC) $(DEFINE) $*.c
135 =item clean_subdirs_target
137 && and chdir problem.
141 sub clean_subdirs_target {
144 # No subdirectories, no cleaning.
145 return <<'NOOP_FRAG' unless @{$self->{DIR}};
151 my $clean = "clean_subdirs :\n";
153 for my $dir (@{$self->{DIR}}) {
154 $clean .= sprintf <<'MAKE_FRAG', $dir;
156 $(TEST_F) $(FIRST_MAKEFILE)
166 =item realclean_subdirs_target
168 && and chdir problem.
172 sub realclean_subdirs_target {
175 return <<'NOOP_FRAG' unless @{$self->{DIR}};
180 my $rclean = "realclean_subdirs :\n";
182 foreach my $dir (@{$self->{DIR}}){
183 $rclean .= sprintf <<'RCLEAN', $dir;
185 -$(PERLRUN) -e "exit unless -f shift; system q{$(MAKE) realclean}" $(FIRST_MAKEFILE)
197 Setting to 2500, a value obtained by experimentation.
204 return $self->{_MAX_EXEC_LEN} ||= 2500;
212 Code originally inside MM_Win32. Original author unknown.
214 Currently maintained by Michael G Schwern <schwern@pobox.com>.
216 Send patches and ideas to <F<makemaker@perl.org>>.
218 See http://www.makemaker.org.