Mingw32.pl revision 55715
1#!/usr/local/bin/perl 2# 3# Mingw32.pl -- Mingw32 with GNU cp (Mingw32f.pl uses DOS tools) 4# 5 6$o='/'; 7$cp='cp'; 8$rm='rem'; # use 'rm -f' if using GNU file utilities 9$mkdir='gmkdir'; 10 11# gcc wouldn't accept backslashes in paths 12#$o='\\'; 13#$cp='copy'; 14#$rm='del'; 15 16# C compiler stuff 17 18$cc='gcc'; 19if ($debug) 20 { $cflags="-g2 -ggdb"; } 21else 22 { $cflags="-DL_ENDIAN -fomit-frame-pointer -O3 -m486 -Wall"; } 23 24$obj='.o'; 25$ofile='-o '; 26 27# EXE linking stuff 28$link='${CC}'; 29$lflags='${CFLAGS}'; 30$efile='-o '; 31$exep=''; 32$ex_libs="-lwsock32 -lgdi32"; 33 34# static library stuff 35$mklib='ar r'; 36$mlflags=''; 37$ranlib='ranlib'; 38$plib='lib'; 39$libp=".a"; 40$shlibp=".a"; 41$lfile=''; 42 43$asm='as'; 44$afile='-o '; 45$bn_asm_obj=""; 46$bn_asm_src=""; 47$des_enc_obj=""; 48$des_enc_src=""; 49$bf_enc_obj=""; 50$bf_enc_src=""; 51 52sub do_lib_rule 53 { 54 local($obj,$target,$name,$shlib)=@_; 55 local($ret,$_,$Name); 56 57 $target =~ s/\//$o/g if $o ne '/'; 58 $target="$target"; 59 ($Name=$name) =~ tr/a-z/A-Z/; 60 61 $ret.="$target: \$(${Name}OBJ)\n"; 62 $ret.="\t\$(RM) $target\n"; 63 $ret.="\t\$(MKLIB) $target \$(${Name}OBJ)\n"; 64 $ret.="\t\$(RANLIB) $target\n\n"; 65 } 66 67sub do_link_rule 68 { 69 local($target,$files,$dep_libs,$libs)=@_; 70 local($ret,$_); 71 72 $file =~ s/\//$o/g if $o ne '/'; 73 $n=&bname($target); 74 $ret.="$target: $files $dep_libs\n"; 75 $ret.="\t\$(LINK) ${efile}$target \$(LFLAGS) $files $libs\n\n"; 76 return($ret); 77 } 781; 79 80