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