Sha256: 95f4b215ca40089309158a40d39d8229484a774c6403c12dd4ec55b4aa79ddd6
Contents?: true
Size: 880 Bytes
Versions: 5
Compression:
Stored size: 880 Bytes
Contents
#!/usr/bin/env ruby module Rake # Makefile loader to be used with the import file loader. class MakefileLoader # Load the makefile dependencies in +fn+. def load(fn) buffer = '' open(fn) do |mf| mf.each do |line| next if line =~ /^\s*#/ buffer << line if buffer =~ /\\$/ buffer.sub!(/\\\n/, ' ') state = :append else process_line(buffer) buffer = '' end end end process_line(buffer) if buffer != '' end private # Process one logical line of makefile data. def process_line(line) file_task, args = line.split(':') return if args.nil? dependents = args.split file file_task => dependents end end # Install the handler Rake.application.add_loader('mf', MakefileLoader.new) end
Version data entries
5 entries across 5 versions & 2 rubygems