]> oss.titaniummirror.com Git - tinyos-2.x.git/blobdiff - tools/tinyos/ncc/ncc.in
Allow custom platform families
[tinyos-2.x.git] / tools / tinyos / ncc / ncc.in
index 4c8d908b3f35bc6723db2753451acf928b4a07a3..2f61d921400ce5f896b6b7aeb4f5d6b2b6e3db80 100644 (file)
@@ -26,6 +26,9 @@ else {
     $platform = "platforms";
 }
 
+my $exeflag=0;
+my $libs = "";
+
 # Have fun with the arguments
 
 for ($i = 0; $i <= $#ARGV; $i++) {
@@ -79,10 +82,22 @@ for ($i = 0; $i <= $#ARGV; $i++) {
            $strip = 1;
            push @includes, $file;
        }
+       elsif (/^-fnesc-cfile=(.*)/){
+           $appfilename=$1;
+       }
+       elsif (/^-o$/){
+           $exeflag=1;
+       }
+        elsif (/^-l/) {
+            $libs = $libs . " " . $_;
+        } 
        elsif (/^--version$/) {
            $print_version = 1;
        }
-    } 
+    } elsif ($exeflag) {
+       $exefilename =$_;
+       $exeflag=0;
+    }
 
     push @new_args, $_ if !$strip;
 }
@@ -133,6 +148,15 @@ if ($print_target) {
 foreach $dir (@includes) {
     if ($dir =~ m!/$target/?$! && -f "$dir/.platform") {
        $platform_def = "$dir/.platform";
+       # Check to see if the platform is a member of a family
+       if (-f "$dir/.family") {
+           $family_def = "$dir/.family";
+       }
+       else {
+           if (-f "$dir/../.family") {
+               $family_def = "$dir/../.family";
+           }
+       }
        last;
     }
 }
@@ -249,7 +273,6 @@ foreach $idir (@includes) {
 
 
 print STDERR join(' ', @new_args), "\n" if $verbose;
-
 exec @new_args;
 print STDERR "Couldn't execute nescc\n";
 exit 2;