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