diff options
author | johnsonb <johnsonb@a3e5c962-4219-0410-a828-e124f845ac39> | 2012-03-07 21:32:25 +0000 |
---|---|---|
committer | johnsonb <johnsonb@a3e5c962-4219-0410-a828-e124f845ac39> | 2012-03-07 21:32:25 +0000 |
commit | 65619c184dc54b362de13973373d5dc612e7af1e (patch) | |
tree | 53896d5ab6246740ce1dce84314801f7a217363b /clone_build_tree.pl | |
parent | 075717ba0cf8d9fe8d644c86cd7fa3a4da8da33d (diff) | |
download | MPC-65619c184dc54b362de13973373d5dc612e7af1e.tar.gz |
ChangeLogTag: Wed Mar 7 19:24:02 UTC 2012 Brian Johnson <johnsonb@ociweb.com>
Diffstat (limited to 'clone_build_tree.pl')
-rwxr-xr-x | clone_build_tree.pl | 53 |
1 files changed, 30 insertions, 23 deletions
diff --git a/clone_build_tree.pl b/clone_build_tree.pl index 88e1f2da..1929dd36 100755 --- a/clone_build_tree.pl +++ b/clone_build_tree.pl @@ -37,6 +37,7 @@ my $exclude; my @foundFiles; my $verbose = 0; my $lbuildf = 0; +my $lnonbuildf = 0; my $version = '1.16'; eval 'symlink("", "");'; @@ -61,28 +62,30 @@ sub findCallback { ); if ($matches) { - $matches &&= (! -l $_ && - ! ( -f $_ && /^core\z/s) && - ! /^.*\.rej\z/s && - ! /^.*\.state\z/s && - ! /^.*\.so\z/s && - ! /^.*\.[oa]\z/s && - ! /^.*\.dll\z/s && - ! /^.*\.lib\z/s && - ! /^.*\.obj\z/s && - ! /^.*~\z/s && - ! /^\.\z/s && - ! /^\.#.*\z/s && - ! /^.*\.ncb\z/s && - ! /^.*\.opt\z/s && - ! /^.*\.bak\z/s && - ! /^.*\.suo\z/s && - ! /^.*\.ilk\z/s && - ! /^.*\.pdb\z/s && - ! /^.*\.pch\z/s && - ! /^.*\.log\z/s && - ! ( -f $_ && /^.*\.d\z/s ) - ); + if(!$lnonbuildf) { + $matches &&= (! -l $_ && + ! ( -f $_ && /^core\z/s) && + ! /^.*\.rej\z/s && + ! /^.*\.state\z/s && + ! /^.*\.so\z/s && + ! /^.*\.[oa]\z/s && + ! /^.*\.dll\z/s && + ! /^.*\.lib\z/s && + ! /^.*\.obj\z/s && + ! /^.*~\z/s && + ! /^\.\z/s && + ! /^\.#.*\z/s && + ! /^.*\.ncb\z/s && + ! /^.*\.opt\z/s && + ! /^.*\.bak\z/s && + ! /^.*\.suo\z/s && + ! /^.*\.ilk\z/s && + ! /^.*\.pdb\z/s && + ! /^.*\.pch\z/s && + ! /^.*\.log\z/s && + ! ( -f $_ && /^.*\.d\z/s ) + ); + } if ($matches) { if (!$lbuildf) { @@ -424,7 +427,7 @@ sub usageAndExit { "Create a tree identical in layout to the current directory\n", "with the use of ", ($hasSymlink ? "symbolic links or " : ''), "hard links.\n\n", - "Usage: $base [-b <builddir>] [-d <dmode>] [-f] ", + "Usage: $base [-b <builddir>] [-d <dmode>] [-f] [-n]", ($hasSymlink ? "[-a] [-l] " : ''), "[-v]\n", $spc, "[build names...]\n\n", @@ -435,6 +438,7 @@ sub usageAndExit { "<current directory>/build.\n", "-d Set the directory permissions mode.\n", "-f Link build files (Makefile, .dsw, .sln, .etc).\n", + "-n Link non-build files normally avoided (.o,.so, etc.).\n", "-s Set the start directory. It defaults to the ", "<current directory>.\n", "-v Enable verbose mode.\n"; @@ -492,6 +496,9 @@ for(my $i = 0; $i <= $#ARGV; ++$i) { elsif ($ARGV[$i] eq '-l') { $hardlink = 1; } + elsif ($ARGV[$i] eq '-n') { + $lnonbuildf = 1; + } elsif ($ARGV[$i] eq '-v') { $verbose = 1; } |