97 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Perl
		
	
	
	
	
	
			
		
		
	
	
			97 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Perl
		
	
	
	
	
	
#!/usr/local/bin/perl
 | 
						|
#
 | 
						|
# unix.pl - the standard unix makefile stuff.
 | 
						|
#
 | 
						|
 | 
						|
$o='/';
 | 
						|
$cp='/bin/cp';
 | 
						|
$rm='/bin/rm -f';
 | 
						|
 | 
						|
# C compiler stuff
 | 
						|
 | 
						|
if ($gcc)
 | 
						|
	{
 | 
						|
	$cc='gcc';
 | 
						|
	if ($debug)
 | 
						|
		{ $cflags="-g2 -ggdb"; }
 | 
						|
	else
 | 
						|
		{ $cflags="-O3 -fomit-frame-pointer"; }
 | 
						|
	}
 | 
						|
else
 | 
						|
	{
 | 
						|
	$cc='cc';
 | 
						|
	if ($debug)
 | 
						|
		{ $cflags="-g"; }
 | 
						|
	else
 | 
						|
		{ $cflags="-O"; }
 | 
						|
	}
 | 
						|
$obj='.o';
 | 
						|
$ofile='-o ';
 | 
						|
 | 
						|
# EXE linking stuff
 | 
						|
$link='${CC}';
 | 
						|
$lflags='${CFLAGS}';
 | 
						|
$efile='-o ';
 | 
						|
$exep='';
 | 
						|
$ex_libs="";
 | 
						|
 | 
						|
# static library stuff
 | 
						|
$mklib='ar r';
 | 
						|
$mlflags='';
 | 
						|
$ranlib=&which("ranlib") or $ranlib="true";
 | 
						|
$plib='lib';
 | 
						|
$libp=".a";
 | 
						|
$shlibp=".a";
 | 
						|
$lfile='';
 | 
						|
 | 
						|
$asm='as';
 | 
						|
$afile='-o ';
 | 
						|
$bn_asm_obj="";
 | 
						|
$bn_asm_src="";
 | 
						|
$des_enc_obj="";
 | 
						|
$des_enc_src="";
 | 
						|
$bf_enc_obj="";
 | 
						|
$bf_enc_src="";
 | 
						|
 | 
						|
sub do_lib_rule
 | 
						|
	{
 | 
						|
	local($obj,$target,$name,$shlib)=@_;
 | 
						|
	local($ret,$_,$Name);
 | 
						|
 | 
						|
	$target =~ s/\//$o/g if $o ne '/';
 | 
						|
	$target="$target";
 | 
						|
	($Name=$name) =~ tr/a-z/A-Z/;
 | 
						|
 | 
						|
	$ret.="$target: \$(${Name}OBJ)\n";
 | 
						|
	$ret.="\t\$(RM) $target\n";
 | 
						|
	$ret.="\t\$(MKLIB) $target \$(${Name}OBJ)\n";
 | 
						|
	$ret.="\t\$(RANLIB) $target\n\n";
 | 
						|
	}
 | 
						|
 | 
						|
sub do_link_rule
 | 
						|
	{
 | 
						|
	local($target,$files,$dep_libs,$libs)=@_;
 | 
						|
	local($ret,$_);
 | 
						|
	
 | 
						|
	$file =~ s/\//$o/g if $o ne '/';
 | 
						|
	$n=&bname($target);
 | 
						|
	$ret.="$target: $files $dep_libs\n";
 | 
						|
	$ret.="\t\$(LINK) ${efile}$target \$(LFLAGS) $files $libs\n\n";
 | 
						|
	return($ret);
 | 
						|
	}
 | 
						|
 | 
						|
sub which
 | 
						|
	{
 | 
						|
	my ($name)=@_;
 | 
						|
	my $path;
 | 
						|
	foreach $path (split /:/, $ENV{PATH})
 | 
						|
		{
 | 
						|
		if (-x "$path/$name")
 | 
						|
			{
 | 
						|
			return "$path/$name";
 | 
						|
			}
 | 
						|
		}
 | 
						|
	}
 | 
						|
 | 
						|
1;
 |