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