chiark / gitweb /
cable-splice-clamp: HalfClampPrint
[reprap-play.git] / toplevel-find
index 227bb73a7989d0714b55abd78fbf83b8b63213a0..58c35549f10930538f4ca180468609b11dd15ef1 100755 (executable)
@@ -3,10 +3,16 @@ use strict;
 @ARGV==1 or die;
 my $base = $ARGV[0];
 $base =~ m/^\-/ and die;
-open F, "$base.scad" or die $!;
+open F, "$base.scad" or die "$base.scad $!";
 while (<F>) {
-      next unless m#^\s*module\s+(\w+)\b.*////toplevel\b#;
-      print "$base,$1\n" or die $!;
+    if (m#^//// toplevels-from:#) {
+       defined($_ = <F>) or die $!;
+       m#^include\s+\<(\S+)>\s*$# or die;
+       open F, "$1" or die "$1 $!";
+       next;
+    }
+    next unless m#^\s*module\s+(\w+)\b.*////toplevel\b#;
+    print "$base,$1\n" or die $!;
 }
 close F or die $!;
 close STDOUT or die $!;