Sha256: d6c1e561bd87fe7c59a064cb5349e89052c066dcbb267ad2a4ec749aae0b1b04
Contents?: true
Size: 804 Bytes
Versions: 6
Compression:
Stored size: 804 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
6 entries across 6 versions & 1 rubygems