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