class Rake::MakefileLoader
Makefile loader to be used with the import file loader.
Constants
- SPACE_MARK
Public Instance Methods
load(fn)
click to toggle source
Load the makefile dependencies in fn
.
# File lib/rake/loaders/makefile.rb, line 10 def load(fn) lines = File.read fn lines.gsub!(/\\ /, SPACE_MARK) lines.gsub!(/#[^\n]*\n/m, "") lines.gsub!(/\\\n/, ' ') lines.each_line do |line| process_line(line) end end
Private Instance Methods
process_line(line)
click to toggle source
Process one logical line of makefile data.
# File lib/rake/loaders/makefile.rb, line 23 def process_line(line) file_tasks, args = line.split(':', 2) return if args.nil? dependents = args.split.map { |d| respace(d) } file_tasks.scan(/\S+/) do |file_task| file_task = respace(file_task) file file_task => dependents end end
respace(str)
click to toggle source
# File lib/rake/loaders/makefile.rb, line 33 def respace(str) str.tr SPACE_MARK, ' ' end