class Daedalus::DependencyGrapher
Constants
- DEV_NULL
Attributes
defines[RW]
directories[RW]
file_names[RW]
sources[R]
system_defines[RW]
Public Class Methods
new(cc, files, directories=[], defines=nil)
click to toggle source
# File lib/daedalus/dependency_grapher.rb 466 def initialize(cc, files, directories=[], defines=nil) 467 @cc = cc 468 @file_names = files 469 @directories = directories 470 @defines = defines 471 472 @system_defines = {} 473 @sources = [] 474 end
Public Instance Methods
get_system_defines()
click to toggle source
# File lib/daedalus/dependency_grapher.rb 476 def get_system_defines 477 lines = `#{@cc} -dM -E #{@defines} - < #{DEV_NULL}`.split("\n") 478 479 source = SourceFile.new "sytem_defines", self 480 parser = FileParser.new source, @directories 481 parser.parse lines 482 483 source.execute @system_defines 484 end
print_dependencies(out, max=72)
click to toggle source
# File lib/daedalus/dependency_grapher.rb 501 def print_dependencies(out, max=72) 502 @sources.each do |source| 503 source.print_dependencies out, max 504 end 505 end
process()
click to toggle source
# File lib/daedalus/dependency_grapher.rb 486 def process 487 get_system_defines 488 489 @file_names.each do |name| 490 source = SourceFile.new name, self 491 parser = FileParser.new source, @directories 492 493 parser.parse_file name 494 source.execute @system_defines.dup 495 source.collect_dependencies 496 497 @sources << source 498 end 499 end