⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fixwin32mak.pl

📁 linux subdivision ying gai ke yi le ba
💻 PL
字号:
## fixwin32mak.pl ::: Apache/Win32 maintanace program## This program, launched from the build/ directory, replaces all nasty absoulute paths# in the win32 .mak files with the appropriate relative root.## Run this program prior to committing or packaging any newly exported make files.use Cwd;use IO::File;use File::Find;$root = cwd;# ignore our own direcory (allowing us to move into any parallel tree)$root =~ s|^.:(.*)?$|cd "$1|;$root =~ s|/|\\\\|g;print "Testing " . $root . "\n";find(\&fixcwd, '.');sub fixcwd {     if (m|.mak$|) {        $thisroot = $File::Find::dir;	$thisroot =~ s|^./(.*)$|$1|;	$thisroot =~ s|/|\\\\|g;        $thisroot = $root . "\\\\" . $thisroot;        $oname = $_;	$tname = '.#' . $_;	$verchg = 0;#print "Processing " . $thisroot . " of " . $_ . "\n";	$srcfl = new IO::File $_, "r" || die;	$dstfl = new IO::File $tname, "w" || die;	while ($src = <$srcfl>) {	    if ($src =~ m|^\s*($root[^\"]*)\".*$|) {#print "Found " . $1 . "\"\n";		$orig = $thisroot;                $repl = "cd \".";                while (!($src =~ s|$orig|$repl|)) {#print "Tried replacing " . $orig . " with " . $repl . "\n";		   if (!($orig =~ s|^(.*)\\\\[^\\]+$|$1|)) {                       break;                   }		   $repl .= "\\..";		}#print "Replaced " . $orig . " with " . $repl . "\n";		$verchg = -1;	    }            print $dstfl $src; 	}	undef $srcfl;	undef $dstfl;	if ($verchg) {	    unlink $oname || die;	    rename $tname, $oname || die;	    print "Corrected absolute paths within " . $oname . " in " . $File::Find::dir . "\n"; 	}	else {	    unlink $tname;	}        $dname = $oname;        $dname =~ s/.mak$/.dsp/;	@dstat = stat($dname);        @ostat = stat($oname);            if ($ostat[9] && $dstat[9] && ($ostat[9] != $dstat[9])) {            @onames = ($oname);            utime $dstat[9], $dstat[9], @onames;	    print "Touched datestamp for " . $oname . " in " . $File::Find::dir . "\n";         }        $oname =~ s/.mak$/.dep/;        @ostat = stat($oname);            if ($ostat[9] && $dstat[9] && ($ostat[9] != $dstat[9])) {            @onames = ($oname);            utime $dstat[9], $dstat[9], @onames;	    print "Touched datestamp for " . $oname . " in " . $File::Find::dir . "\n";         }    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -