summaryrefslogtreecommitdiff
path: root/clone_build_tree.pl
diff options
context:
space:
mode:
authorjohnsonb <johnsonb@a3e5c962-4219-0410-a828-e124f845ac39>2012-03-07 21:32:25 +0000
committerjohnsonb <johnsonb@a3e5c962-4219-0410-a828-e124f845ac39>2012-03-07 21:32:25 +0000
commit65619c184dc54b362de13973373d5dc612e7af1e (patch)
tree53896d5ab6246740ce1dce84314801f7a217363b /clone_build_tree.pl
parent075717ba0cf8d9fe8d644c86cd7fa3a4da8da33d (diff)
downloadMPC-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-xclone_build_tree.pl53
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;
}