1238582Smm#!/usr/local/bin/perl
2238582Smm#
3238582Smm# unix.pl - the standard unix makefile stuff.
4238582Smm#
5238582Smm
6238582Smm$o='/';
7238582Smm$cp='/bin/cp';
8238582Smm$rm='/bin/rm -f';
9238582Smm
10238582Smm# C compiler stuff
11238582Smm
12238582Smmif ($gcc)
13238582Smm	{
14238582Smm	$cc='gcc';
15238582Smm	if ($debug)
16238582Smm		{ $cflags="-g2 -ggdb"; }
17238582Smm	else
18238582Smm		{ $cflags="-O3 -fomit-frame-pointer"; }
19238582Smm	}
20238582Smmelse
21238582Smm	{
22238582Smm	$cc='cc';
23238582Smm	if ($debug)
24238582Smm		{ $cflags="-g"; }
25238582Smm	else
26238582Smm		{ $cflags="-O"; }
27238582Smm	}
28249563Spfg$obj='.o';
29249563Spfg$ofile='-o ';
30249563Spfg
31238582Smm# EXE linking stuff
32238582Smm$link='${CC}';
33238582Smm$lflags='${CFLAGS}';
34238582Smm$efile='-o ';
35238582Smm$exep='';
36238582Smm$ex_libs="";
37238582Smm
38238582Smm# static library stuff
39238582Smm$mklib='ar r';
40238582Smm$mlflags='';
41238582Smm$ranlib=&which("ranlib") or $ranlib="true";
42238582Smm$plib='lib';
43238582Smm$libp=".a";
44238582Smm$shlibp=".a";
45238582Smm$lfile='';
46238582Smm
47238582Smm$asm='as';
48238582Smm$afile='-o ';
49238582Smm$bn_asm_obj="";
50238582Smm$bn_asm_src="";
51238582Smm$des_enc_obj="";
52238582Smm$des_enc_src="";
53238582Smm$bf_enc_obj="";
54238582Smm$bf_enc_src="";
55238582Smm
56238582Smmsub do_lib_rule
57238582Smm	{
58238582Smm	local($obj,$target,$name,$shlib)=@_;
59238582Smm	local($ret,$_,$Name);
60238582Smm
61238582Smm	$target =~ s/\//$o/g if $o ne '/';
62238582Smm	$target="$target";
63238582Smm	($Name=$name) =~ tr/a-z/A-Z/;
64238582Smm
65238582Smm	$ret.="$target: \$(${Name}OBJ)\n";
66238582Smm	$ret.="\t\$(RM) $target\n";
67238582Smm	$ret.="\t\$(MKLIB) $target \$(${Name}OBJ)\n";
68238582Smm	$ret.="\t\$(RANLIB) $target\n\n";
69238582Smm	}
70238582Smm
71238582Smmsub do_link_rule
72238582Smm	{
73238582Smm	local($target,$files,$dep_libs,$libs)=@_;
74238582Smm	local($ret,$_);
75238582Smm
76238582Smm	$file =~ s/\//$o/g if $o ne '/';
77238582Smm	$n=&bname($target);
78238582Smm	$ret.="$target: $files $dep_libs\n";
79238582Smm	$ret.="\t\$(LINK) ${efile}$target \$(LFLAGS) $files $libs\n\n";
80238582Smm	return($ret);
81238582Smm	}
82238582Smm
83238582Smmsub which
84238582Smm	{
85238582Smm	my ($name)=@_;
86238582Smm	my $path;
87238582Smm	foreach $path (split /:/, $ENV{PATH})
88238582Smm		{
89238582Smm		if (-x "$path/$name")
90238582Smm			{
91238582Smm			return "$path/$name";
92238582Smm			}
93238582Smm		}
94238582Smm	}
95238582Smm
96238582Smm1;
97238582Smm