Class GNUMakefileParser::MkTarget
In: gnumakefileparser.rb
Parent: Object

下記のように記述される Makefile のターゲット.

   test.o: test.f90
           f90 $< -o $@

Methods

new   to_s  

Attributes

commands  [RW] 
prerequisites  [RW] 
target  [RW] 

Public Class methods

引数 target_rules に上記の書式の文字列を与えることで, それぞれ @tareget, @prerequisites, @command が設定される.

[Source]

     # File gnumakefileparser.rb, line 152
152:     def initialize(target_rules)
153:       rule = target_rules.split("\n")[0]
154:       if rule =~ /^([\w\s\-\.\,\$\(\)\%]+):\s*(.*)\s*$/
155:         target = $1
156:         prerequisites = $2
157:         @target = target.sub(/^\s*/, '').sub(/\s*$/, '')
158:         @prerequisites = []
159:         prerequisites.split(/\s+/).each{|i|
160:           @prerequisites << i
161:         }
162:       else
163:         raise "Syntax Error"
164:       end
165:       @commands = []
166:       target_rules.split("\n")[1..-1].each{|c|
167:         commands << c.sub(/^\s+/, '').gsub(/\t+/, ' ')
168:       }
169:     end

Public Instance methods

オブジェクトの内容を Makefile 用のテキストに変換.

[Source]

     # File gnumakefileparser.rb, line 174
174:     def to_s
175:       str = @target + ': ' + @prerequisites.join(' ')
176:       if @commands.size > 0
177:         str = str + "\n\t" + @commands.join("\n\t")
178:       end
179:       return str + "\n"
180:     end

[Validate]