1use ExtUtils::MakeMaker;
2use Config ;
3
4BEGIN {
5  eval { require File::Spec::Functions ; File::Spec::Functions->import( catfile rel2abs ) } ;
6  *catfile = sub { return join( '/', @_ ) } if $@;
7}
8
9require VMS::Filespec if $^O eq 'VMS';
10
11#$Verbose = 1;
12
13WriteMakefile(
14	      NAME => 'Compress::Bzip2::internal_bzlib',
15	      SKIP => [qw(all static_lib static dynamic dynamic_lib)],
16	      clean             => {
17		FILES=>
18		    join(' ', map { catfile( split( /\//, $_ ) ) }
19			 qw(libbz2$(LIB_EXT) bzip2$(EXE_EXT) t/??-tmp*)
20			 )
21		  },
22
23);
24
25#libbz2$(LIB_EXT): $(O_FILES)
26
27package MY;
28use File::Basename;
29
30sub top_targets {
31  my $make = $Config::Config{make};
32  $make = basename($make);
33  if ($^O =~ /win32/i) {
34    $make =~ s/.exe$//i;
35  }
36  my $cc = $Config::Config{cc};
37  my $objects = join( ' ', map { $_.'$(OBJ_EXT)' } qw(blocksort huffman crctable randtable compress decompress bzlib) );
38  my $ar_args = $cc eq 'cl' && $^O =~ /win32/i ? '-out:$@' : '$(AR_STATIC_ARGS) $@';
39
40 	'
41all ' . ( $^O =~ /win32/i && $make eq 'dmake' ? ':' : '::' ) . ' static
42
43pure_all ' . ( $^O =~ /win32/i && $make eq 'dmake' ? ':' : '::' ) . ' static
44
45static ' . ( $^O =~ /win32/i && $make eq 'dmake' ? ':' : '::' ) . ' libbz2$(LIB_EXT) bzip2$(EXE_EXT)
46
47libbz2$(LIB_EXT): ' . $objects . '
48	$(AR) ' . $ar_args . ' ' . ( $^O =~ /win32/i && $make eq 'nmake' ? $objects : '$^' ) . ' && $(RANLIB) $@
49
50' .
51#'bzip2$(EXE_EXT) ' . ( $^O =~ /win32/i && $make eq 'nmake' ? '::' : ':' ) . ' bzip2$(OBJ_EXT) libbz2$(LIB_EXT)' . '
52#';
53
54#   ( $^O =~ /win32/i && $make eq 'nmake' ?
55#       'bzip2$(EXE_EXT): bzip2.c libbz2$(LIB_EXT)
56# 	$(CCCMD) $(CCCDLFLAGS) "-I$(PERL_INC)" $(PASTHRU_DEFINE) $(DEFINE) -obzip2$(EXE_EXT) bzip2.c $(LDFLAGS) libbz2$(LIB_EXT)' :
57#       'bzip2$(EXE_EXT): bzip2$(OBJ_EXT) libbz2$(LIB_EXT)' )
58
59 ( $^O =~ /win32/i ?
60   ($make eq 'nmake' && $cc eq 'cl') ?
61      'bzip2$(EXE_EXT): bzip2.c libbz2$(LIB_EXT)
62	$(CC) /MD -o bzip2$(EXE_EXT) bzip2.c libbz2$(LIB_EXT)'
63    : 'bzip2$(EXE_EXT): bzip2.c libbz2$(LIB_EXT)
64	$(CC) -o bzip2$(EXE_EXT) bzip2.c libbz2$(LIB_EXT)'
65  : 'bzip2$(EXE_EXT): bzip2$(OBJ_EXT) libbz2$(LIB_EXT)' ) . '
66';
67
68}
69