Changes to have OpenSSL compile on OS/2.
[openssl.git] / util / pl / OS2-EMX.pl
1 #!/usr/local/bin/perl
2 #
3 # OS2-EMX.pl - for EMX GCC on OS/2
4 #
5
6 $o='\\';
7 $cp='copy';
8 $rm='rm -f';
9
10 # C compiler stuff
11
12 $cc='gcc';
13 $cflags="-DL_ENDIAN -O3 -fomit-frame-pointer -m486 -Zmt -Wall ";
14
15 if ($debug) { 
16         $cflags.="-g "; 
17 }
18
19 $obj='.o';
20 $ofile='-o ';
21
22 # EXE linking stuff
23 $link='${CC}';
24 $lflags='${CFLAGS} -Zbsd-signals';
25 $efile='-o ';
26 $exep='.exe';
27 $ex_libs="-lsocket";
28
29 # static library stuff
30 $mklib='ar r';
31 $mlflags='';
32 $ranlib="ar s";
33 $plib='lib';
34 $libp=".a";
35 $shlibp=".a";
36 $lfile='';
37
38 $asm='as';
39 $afile='-o ';
40 $bn_asm_obj="";
41 $bn_asm_src="";
42 $des_enc_obj="";
43 $des_enc_src="";
44 $bf_enc_obj="";
45 $bf_enc_src="";
46
47 if (!$no_asm)
48         {
49         $bn_asm_obj='crypto\bn\asm\bn-os2.o crypto\bn\asm\co-os2.o';
50         $bn_asm_src='crypto\bn\asm\bn-os2.asm crypto\bn\asm\co-os2.asm';
51         $des_enc_obj='crypto\des\asm\d-os2.o crypto\des\asm\y-os2.o';
52         $des_enc_src='crypto\des\asm\d-os2.asm crypto\des\asm\y-os2.asm';
53         $bf_enc_obj='crypto\bf\asm\b-os2.o';
54         $bf_enc_src='crypto\bf\asm\b-os2.asm';
55         $cast_enc_obj='crypto\cast\asm\c-os2.o';
56         $cast_enc_src='crypto\cast\asm\c-os2.asm';
57         $rc4_enc_obj='crypto\rc4\asm\r4-os2.o';
58         $rc4_enc_src='crypto\rc4\asm\r4-os2.asm';
59         $rc5_enc_obj='crypto\rc5\asm\r5-os2.o';
60         $rc5_enc_src='crypto\rc5\asm\r5-os2.asm';
61         $md5_asm_obj='crypto\md5\asm\m5-os2.o';
62         $md5_asm_src='crypto\md5\asm\m5-os2.asm';
63         $sha1_asm_obj='crypto\sha\asm\s1-os2.o';
64         $sha1_asm_src='crypto\sha\asm\s1-os2.asm';
65         $rmd160_asm_obj='crypto\ripemd\asm\rm-os2.o';
66         $rmd160_asm_src='crypto\ripemd\asm\rm-os2.asm';
67         }
68
69 sub do_lib_rule
70         {
71         local($obj,$target,$name,$shlib)=@_;
72         local($ret,$_,$Name);
73
74         $target =~ s/\//$o/g if $o ne '/';
75         $target="$target";
76         ($Name=$name) =~ tr/a-z/A-Z/;
77
78         $ret.="$target: \$(${Name}OBJ)\n";
79         $ret.="\t\$(RM) $target\n";
80         $ret.="\t\$(MKLIB) $target \$(${Name}OBJ)\n";
81         $ret.="\t\$(RANLIB) $target\n\n";
82         }
83
84 sub do_link_rule
85         {
86         local($target,$files,$dep_libs,$libs)=@_;
87         local($ret,$_);
88         
89         $file =~ s/\//$o/g if $o ne '/';
90         $n=&bname($target);
91         $ret.="$target: $files $dep_libs\n";
92         $ret.="\t\$(LINK) ${efile}$target \$(LFLAGS) $files $libs\n\n";
93         return($ret);
94         }
95
96 1;