]>
Commit | Line | Data |
---|---|---|
12d7d32f UM |
1 | #!/usr/local/bin/perl |
2 | # | |
7d5d27b9 | 3 | # Mingw32.pl -- Mingw32 with GNU cp (Mingw32f.pl uses DOS tools) |
12d7d32f UM |
4 | # |
5 | ||
12d7d32f UM |
6 | $o='/'; |
7 | $cp='cp'; | |
4320afe3 | 8 | $rm='rem'; # use 'rm -f' if using GNU file utilities |
12d7d32f UM |
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'; | |
19 | if ($debug) | |
b8384651 | 20 | { $cflags="-DL_ENDIAN -g2 -ggdb"; } |
12d7d32f | 21 | else |
b8384651 | 22 | { $cflags="-DL_ENDIAN -fomit-frame-pointer -O3 -m486 -Wall"; } |
12d7d32f | 23 | |
2da0c119 UM |
24 | if ($gaswin and !$no_asm) |
25 | { | |
26 | $bn_asm_obj='$(OBJ_D)/bn-win32.o'; | |
27 | $bn_asm_src='crypto/bn/asm/bn-win32.s'; | |
28 | $des_enc_obj='$(OBJ_D)/d-win32.o $(OBJ_D)/y-win32.o'; | |
29 | $des_enc_src='crypto/des/asm/d-win32.s crypto/des/asm/y-win32.s'; | |
30 | $bf_enc_obj='$(OBJ_D)/b-win32.o'; | |
31 | $bf_enc_src='crypto/bf/asm/b-win32.s'; | |
32 | # $cast_enc_obj='$(OBJ_D)/c-win32.o'; | |
33 | # $cast_enc_src='crypto/cast/asm/c-win32.s'; | |
34 | $rc4_enc_obj='$(OBJ_D)/r4-win32.o'; | |
35 | $rc4_enc_src='crypto/rc4/asm/r4-win32.s'; | |
36 | $rc5_enc_obj='$(OBJ_D)/r5-win32.o'; | |
37 | $rc5_enc_src='crypto/rc5/asm/r5-win32.s'; | |
38 | $md5_asm_obj='$(OBJ_D)/m5-win32.o'; | |
39 | $md5_asm_src='crypto/md5/asm/m5-win32.s'; | |
40 | $rmd160_asm_obj='$(OBJ_D)/rm-win32.o'; | |
41 | $rmd160_asm_src='crypto/ripemd/asm/rm-win32.s'; | |
42 | $sha1_asm_obj='$(OBJ_D)/s1-win32.o'; | |
43 | $sha1_asm_src='crypto/sha/asm/s1-win32.s'; | |
44 | $cflags.=" -DBN_ASM -DMD5_ASM -DSHA1_ASM"; | |
45 | } | |
46 | ||
47 | ||
12d7d32f UM |
48 | $obj='.o'; |
49 | $ofile='-o '; | |
50 | ||
51 | # EXE linking stuff | |
52 | $link='${CC}'; | |
53 | $lflags='${CFLAGS}'; | |
54 | $efile='-o '; | |
55 | $exep=''; | |
56 | $ex_libs="-lwsock32 -lgdi32"; | |
57 | ||
58 | # static library stuff | |
59 | $mklib='ar r'; | |
60 | $mlflags=''; | |
61 | $ranlib='ranlib'; | |
62 | $plib='lib'; | |
63 | $libp=".a"; | |
64 | $shlibp=".a"; | |
65 | $lfile=''; | |
66 | ||
67 | $asm='as'; | |
68 | $afile='-o '; | |
69 | $bn_asm_obj=""; | |
70 | $bn_asm_src=""; | |
71 | $des_enc_obj=""; | |
72 | $des_enc_src=""; | |
73 | $bf_enc_obj=""; | |
74 | $bf_enc_src=""; | |
75 | ||
76 | sub do_lib_rule | |
77 | { | |
78 | local($obj,$target,$name,$shlib)=@_; | |
79 | local($ret,$_,$Name); | |
80 | ||
81 | $target =~ s/\//$o/g if $o ne '/'; | |
82 | $target="$target"; | |
83 | ($Name=$name) =~ tr/a-z/A-Z/; | |
84 | ||
85 | $ret.="$target: \$(${Name}OBJ)\n"; | |
86 | $ret.="\t\$(RM) $target\n"; | |
87 | $ret.="\t\$(MKLIB) $target \$(${Name}OBJ)\n"; | |
88 | $ret.="\t\$(RANLIB) $target\n\n"; | |
89 | } | |
90 | ||
91 | sub do_link_rule | |
92 | { | |
93 | local($target,$files,$dep_libs,$libs)=@_; | |
94 | local($ret,$_); | |
95 | ||
96 | $file =~ s/\//$o/g if $o ne '/'; | |
97 | $n=&bname($target); | |
98 | $ret.="$target: $files $dep_libs\n"; | |
99 | $ret.="\t\$(LINK) ${efile}$target \$(LFLAGS) $files $libs\n\n"; | |
100 | return($ret); | |
101 | } | |
102 | 1; |