X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=reprap-play.git;a=blobdiff_plain;f=toplevel-find;h=3e3c28b90cb1f6cf8ad97fa0a88d9cff9aa29973;hp=72d54a0180253e563997e0ebaca60da059b04207;hb=a3f6f949f8143e7bfe03748cffae9f404ad58eee;hpb=b2c7ad45e20526716b928883126331b4708f1eb3 diff --git a/toplevel-find b/toplevel-find index 72d54a0..3e3c28b 100755 --- a/toplevel-find +++ b/toplevel-find @@ -5,8 +5,14 @@ my $base = $ARGV[0]; $base =~ m/^\-/ and die; open F, "$base.scad" or die "$base.scad $!"; while () { - next unless m#^\s*module\s+(\w+)\b.*////toplevel\b#; - print "$base,$1\n" or die $!; + if (m#^//// toplevels-from:#) { + defined($_ = ) or die $!; + m#^include\s+\<(\S+)>\s*$# or die; + open F, "$1" or die "$1 $!"; + next; + } + next unless m#^\s*(?:////\s?)?module\s+(\w+)\b.*////toplevel\b#; + print "$base,$1\n" or die $!; } close F or die $!; close STDOUT or die $!;