~ilya-yanok/ubuntu/precise/grub2/fix-for-948716

« back to all changes in this revision

Viewing changes to genmk.rb

  • Committer: Bazaar Package Importer
  • Author(s): Robert Millan
  • Date: 2009-07-25 19:00:53 UTC
  • mfrom: (1.6.3 upstream)
  • mto: (17.4.13 sid)
  • mto: This revision was merged to the branch mainline in revision 53.
  • Revision ID: james.westby@ubuntu.com-20090725190053-uv3lm6ya3zxs77ep
ImportĀ upstreamĀ versionĀ 1.96+20090725

Show diffs side-by-side

added added

removed removed

Lines of Context:
39
39
  def initialize(dir, name)
40
40
    @dir = dir
41
41
    @name = name
42
 
    @rule_count = 0
43
42
  end
44
43
  attr_reader :dir, :name
45
44
 
46
45
  def rule(sources)
47
46
    prefix = @name.to_var
48
 
    @rule_count += 1
49
47
    exe = @name.suffix('exec')
50
48
    objs = sources.collect do |src|
51
49
      raise "unknown source file `#{src}'" if /\.[cS]$/ !~ src
55
53
    deps = objs.collect {|obj| obj.suffix('d')}
56
54
    deps_str = deps.join(' ')
57
55
 
58
 
"
59
 
clean-image-#{@name}.#{@rule_count}:
60
 
        rm -f #{@name} #{exe} #{objs_str}
61
 
 
62
 
CLEAN_IMAGE_TARGETS += clean-image-#{@name}.#{@rule_count}
63
 
 
64
 
mostlyclean-image-#{@name}.#{@rule_count}:
65
 
        rm -f #{deps_str}
66
 
 
67
 
MOSTLYCLEAN_IMAGE_TARGETS += mostlyclean-image-#{@name}.#{@rule_count}
 
56
    "CLEANFILES += #{@name} #{exe} #{objs_str}
 
57
MOSTLYCLEANFILES += #{deps_str}
68
58
 
69
59
ifneq ($(TARGET_APPLE_CC),1)
70
60
#{@name}: #{exe}
104
94
  def initialize(dir, name)
105
95
    @dir = dir
106
96
    @name = name
107
 
    @rule_count = 0
108
97
  end
109
98
  attr_reader :dir, :name
110
99
 
111
100
  def rule(sources)
112
101
    prefix = @name.to_var
113
 
    @rule_count += 1
114
102
    objs = sources.collect do |src|
115
103
      raise "unknown source file `#{src}'" if /\.[cS]$/ !~ src
116
104
      prefix + '-' + src.to_obj
126
114
    mod_name = File.basename(@name, '.mod')
127
115
    symbolic_name = mod_name.sub(/\.[^\.]*$/, '')
128
116
 
129
 
"
130
 
clean-module-#{@name}.#{@rule_count}:
131
 
        rm -f #{@name} #{mod_obj} #{mod_src} #{pre_obj} #{objs_str} #{undsym}
132
 
 
133
 
CLEAN_MODULE_TARGETS += clean-module-#{@name}.#{@rule_count}
134
 
 
 
117
    "CLEANFILES += #{@name} #{mod_obj} #{mod_src} #{pre_obj} #{objs_str} #{undsym}
135
118
ifneq ($(#{prefix}_EXPORTS),no)
136
 
clean-module-#{@name}-symbol.#{@rule_count}:
137
 
        rm -f #{defsym}
138
 
 
139
 
CLEAN_MODULE_TARGETS += clean-module-#{@name}-symbol.#{@rule_count}
 
119
CLEANFILES += #{defsym}
140
120
DEFSYMFILES += #{defsym}
141
121
endif
142
 
mostlyclean-module-#{@name}.#{@rule_count}:
143
 
        rm -f #{deps_str}
144
 
 
145
 
MOSTLYCLEAN_MODULE_TARGETS += mostlyclean-module-#{@name}.#{@rule_count}
 
122
MOSTLYCLEANFILES += #{deps_str}
146
123
UNDSYMFILES += #{undsym}
147
124
 
148
125
ifneq ($(TARGET_APPLE_CC),1)
149
126
#{@name}: #{pre_obj} #{mod_obj} $(TARGET_OBJ2ELF)
150
127
        -rm -f $@
151
128
        $(TARGET_CC) $(#{prefix}_LDFLAGS) $(TARGET_LDFLAGS) -Wl,-r,-d -o $@ #{pre_obj} #{mod_obj}
152
 
        if test ! -z \"$(TARGET_OBJ2ELF)\"; then ./$(TARGET_OBJ2ELF) $@ || (rm -f $@; exit 1); fi
 
129
        if test ! -z $(TARGET_OBJ2ELF); then ./$(TARGET_OBJ2ELF) $@ || (rm -f $@; exit 1); fi
153
130
        $(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -K _grub_mod_init -K _grub_mod_fini -R .note -R .comment $@
154
131
else
155
132
#{@name}: #{pre_obj} #{mod_obj} $(TARGET_OBJ2ELF)
187
164
" + objs.collect_with_index do |obj, i|
188
165
      src = sources[i]
189
166
      fake_obj = File.basename(src).suffix('o')
190
 
      extra_target = obj.sub(/\.[^\.]*$/, '') + '-extra'
191
167
      command = 'cmd-' + obj.suffix('lst')
192
168
      fs = 'fs-' + obj.suffix('lst')
193
169
      partmap = 'partmap-' + obj.suffix('lst')
202
178
        $(TARGET_CC) -I#{dir} -I$(srcdir)/#{dir} $(TARGET_CPPFLAGS) #{extra_flags} $(TARGET_#{flag}) $(#{prefix}_#{flag}) -MD -c -o $@ $<
203
179
-include #{dep}
204
180
 
205
 
clean-module-#{extra_target}.#{@rule_count}:
206
 
        rm -f #{command} #{fs} #{partmap} #{handler} #{parttool}
207
 
 
208
 
CLEAN_MODULE_TARGETS += clean-module-#{extra_target}.#{@rule_count}
209
 
 
 
181
CLEANFILES += #{command} #{fs} #{partmap} #{handler} #{parttool}
210
182
COMMANDFILES += #{command}
211
183
FSFILES += #{fs}
212
184
PARTTOOLFILES += #{parttool}
247
219
  def initialize(dir, name)
248
220
    @dir = dir
249
221
    @name = name
250
 
    @rule_count = 0
251
222
  end
252
223
  def print_tail()
253
224
    prefix = @name.to_var
260
231
 
261
232
  def rule(sources)
262
233
    prefix = @name.to_var
263
 
    @rule_count += 1
264
234
    objs = sources.collect do |src|
265
235
      raise "unknown source file `#{src}'" if /\.[cS]$/ !~ src
266
236
      prefix + '-' + src.to_obj
269
239
    deps = objs.collect {|obj| obj.suffix('d')}
270
240
    deps_str = deps.join(' ');
271
241
 
272
 
    "
273
 
clean-utility-#{@name}.#{@rule_count}:
274
 
        rm -f #{@name}$(EXEEXT) #{objs_str}
275
 
 
276
 
CLEAN_UTILITY_TARGETS += clean-utility-#{@name}.#{@rule_count}
277
 
 
278
 
mostlyclean-utility-#{@name}.#{@rule_count}:
279
 
        rm -f #{deps_str}
280
 
 
281
 
MOSTLYCLEAN_UTILITY_TARGETS += mostlyclean-utility-#{@name}.#{@rule_count}
282
 
 
 
242
    "CLEANFILES += #{@name}$(EXEEXT) #{objs_str}
 
243
MOSTLYCLEANFILES += #{deps_str}
283
244
#{prefix}_OBJECTS += #{objs_str}
284
245
 
285
246
" + objs.collect_with_index do |obj, i|