155714Skris#!/usr/local/bin/perl 255714Skris# 355714Skris# unix.pl - the standard unix makefile stuff. 455714Skris# 555714Skris 655714Skris$o='/'; 755714Skris$cp='/bin/cp'; 855714Skris$rm='/bin/rm -f'; 955714Skris 1055714Skris# C compiler stuff 1155714Skris 1255714Skrisif ($gcc) 1355714Skris { 1455714Skris $cc='gcc'; 1555714Skris if ($debug) 1655714Skris { $cflags="-g2 -ggdb"; } 1755714Skris else 1855714Skris { $cflags="-O3 -fomit-frame-pointer"; } 1955714Skris } 2055714Skriselse 2155714Skris { 2255714Skris $cc='cc'; 2355714Skris if ($debug) 2455714Skris { $cflags="-g"; } 2555714Skris else 2655714Skris { $cflags="-O"; } 2755714Skris } 2855714Skris$obj='.o'; 2955714Skris$ofile='-o '; 3055714Skris 3155714Skris# EXE linking stuff 3255714Skris$link='${CC}'; 3355714Skris$lflags='${CFLAGS}'; 3455714Skris$efile='-o '; 3555714Skris$exep=''; 3655714Skris$ex_libs=""; 3755714Skris 3855714Skris# static library stuff 3955714Skris$mklib='ar r'; 4055714Skris$mlflags=''; 4155714Skris$ranlib=&which("ranlib") or $ranlib="true"; 4255714Skris$plib='lib'; 4355714Skris$libp=".a"; 4455714Skris$shlibp=".a"; 4555714Skris$lfile=''; 4655714Skris 4755714Skris$asm='as'; 4855714Skris$afile='-o '; 4955714Skris$bn_asm_obj=""; 5055714Skris$bn_asm_src=""; 5155714Skris$des_enc_obj=""; 5255714Skris$des_enc_src=""; 5355714Skris$bf_enc_obj=""; 5455714Skris$bf_enc_src=""; 5555714Skris 5655714Skrissub do_lib_rule 5755714Skris { 5855714Skris local($obj,$target,$name,$shlib)=@_; 5955714Skris local($ret,$_,$Name); 6055714Skris 6155714Skris $target =~ s/\//$o/g if $o ne '/'; 6255714Skris $target="$target"; 6355714Skris ($Name=$name) =~ tr/a-z/A-Z/; 6455714Skris 6555714Skris $ret.="$target: \$(${Name}OBJ)\n"; 6655714Skris $ret.="\t\$(RM) $target\n"; 6755714Skris $ret.="\t\$(MKLIB) $target \$(${Name}OBJ)\n"; 6855714Skris $ret.="\t\$(RANLIB) $target\n\n"; 6955714Skris } 7055714Skris 7155714Skrissub do_link_rule 7255714Skris { 73160814Ssimon local($target,$files,$dep_libs,$libs)=@_; 7455714Skris local($ret,$_); 7555714Skris 7655714Skris $file =~ s/\//$o/g if $o ne '/'; 7755714Skris $n=&bname($target); 7855714Skris $ret.="$target: $files $dep_libs\n"; 79296317Sdelphij $ret.="\t\$(LINK_CMD) ${efile}$target \$(LFLAGS) $files $libs\n\n"; 8055714Skris return($ret); 8155714Skris } 8255714Skris 8355714Skrissub which 8455714Skris { 8555714Skris my ($name)=@_; 8655714Skris my $path; 8755714Skris foreach $path (split /:/, $ENV{PATH}) 8855714Skris { 8955714Skris if (-x "$path/$name") 9055714Skris { 9155714Skris return "$path/$name"; 9255714Skris } 9355714Skris } 9455714Skris } 9555714Skris 9655714Skris1; 97