Makefile.am 17.2 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
lib_LTLIBRARIES = libfirm.la

INCLUDES = $(LIBCORE_CFLAGS) \
	-I$(top_srcdir)/include/libfirm \
	-I$(top_srcdir)/include/libfirm/adt \
	-I$(top_builddir)

INCLUDES += \
	-I$(top_srcdir)/ir/adt \
	-I$(top_srcdir)/ir/ana \
	-I$(top_srcdir)/ir/arch \
Matthias Braun's avatar
Matthias Braun committed
12
	-I$(top_srcdir)/ir/be \
13
14
15
16
	-I$(top_srcdir)/ir/common \
	-I$(top_srcdir)/ir/debug \
	-I$(top_srcdir)/ir/ident \
	-I$(top_srcdir)/ir/ir \
Matthias Braun's avatar
Matthias Braun committed
17
	-I$(top_srcdir)/ir/libcore \
18
19
20
21
22
23
	-I$(top_srcdir)/ir/lower \
	-I$(top_srcdir)/ir/net \
	-I$(top_srcdir)/ir/opt \
	-I$(top_srcdir)/ir/stat \
	-I$(top_srcdir)/ir/tr \
	-I$(top_srcdir)/ir/tv
Matthias Braun's avatar
Matthias Braun committed
24

25
libfirm_la_LDFLAGS = -no-undefined
26
27
28
29
30
31
libfirm_la_SOURCES = \
	adt/array.c \
	adt/bipartite.c \
	adt/cpset.c \
	adt/eset.c \
	adt/gaussjordan.c \
32
	adt/gaussseidel.c \
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
	adt/hashset.c \
	adt/hungarian.c \
	adt/iterator.c \
	adt/pdeq.c \
	adt/plist.c \
	adt/pmap.c \
	adt/pqueue.c \
	adt/pset.c \
	adt/pset_new.c \
	adt/set.c \
	adt/xmalloc.c \
	ana/absgraph.c \
	ana/analyze_irg_args.c \
	ana/callgraph.c \
	ana/cdep.c \
	ana/cgana.c \
	ana/dfs.c \
	ana/execfreq.c \
	ana/execution_frequency.c \
	ana/field_temperature.c \
	ana/height.c \
	ana/interval_analysis.c \
	ana/irbackedge.c \
	ana/ircfscc.c \
	ana/irconsconfirm.c \
	ana/irdom.c \
	ana/irextbb.c \
60
	ana/irextbb2.c \
61
	ana/irlivechk.c \
Matthias Braun's avatar
Matthias Braun committed
62
	ana/irloop.c \
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
	ana/irmemory.c \
	ana/irouts.c \
	ana/irscc.c \
	ana/irsimpletype.c \
	ana/irtypeinfo.c \
	ana/phiclass.c \
	ana/rta.c \
	ana/structure.c \
	ana/trouts.c \
	be/beabi.c \
	be/bearch.c \
	be/beblocksched.c \
	be/bechordal.c \
	be/bechordal_draw.c \
	be/bechordal_main.c \
78
	be/becopyheur.c \
79
80
	be/becopyheur2.c \
	be/becopyheur4.c \
81
	be/becopyilp.c \
82
83
84
85
	be/becopyilp1.c \
	be/becopyilp2.c \
	be/becopyopt.c \
	be/becopystat.c \
Matthias Braun's avatar
Matthias Braun committed
86
	be/bedbgout.c \
87
88
	be/bedomfront.c \
	be/beemitter.c \
89
	be/beflags.c \
90
91
92
93
94
95
96
	be/begnuas.c \
	be/beifg.c \
	be/beifg_clique.c \
	be/beifg_list.c \
	be/beifg_pointer.c \
	be/beifg_std.c \
	be/beilpsched.c \
Christoph Mallon's avatar
Christoph Mallon committed
97
	be/beinfo.c \
98
99
100
101
102
103
104
105
106
107
	be/beinsn.c \
	be/beirg.c \
	be/beirgmod.c \
	be/belistsched.c \
	be/belive.c \
	be/beloopana.c \
	be/belower.c \
	be/bemachine.c \
	be/bemain.c \
	be/bemodule.c \
Moritz Kroll's avatar
Moritz Kroll committed
108
	be/benewalloc.c \
109
	be/benode.c \
110
	be/bepeephole.c \
111
112
113
114
	be/bepressurestat.c \
	be/bera.c \
	be/besched.c \
	be/beschedmris.c \
Matthias Braun's avatar
Matthias Braun committed
115
	be/beschednormal.c \
116
117
118
119
120
	be/beschedrand.c \
	be/beschedregpress.c \
	be/beschedrss.c \
	be/beschedtrace.c \
	be/beschedtrivial.c \
121
122
	be/bespill.c \
	be/bespillbelady.c \
Matthias Braun's avatar
Matthias Braun committed
123
	be/bespillbelady2.c \
Matthias Braun's avatar
Matthias Braun committed
124
	be/bespillbelady3.c \
125
126
	be/bespilldaemel.c \
	be/bespillslots.c \
127
	be/bespillutil.c \
128
129
130
131
132
133
134
135
136
137
138
139
140
141
	be/bessaconstr.c \
	be/bessadestr.c \
	be/bestabs.c \
	be/bestat.c \
	be/bestate.c \
	be/betranshlp.c \
	be/beuses.c \
	be/beutil.c \
	be/beverify.c \
	common/debug.c \
	common/error.c \
	common/firm.c \
	common/firm_common.c \
	common/irtools.c \
Matthias Braun's avatar
Matthias Braun committed
142
	common/timing.c \
143
144
145
146
147
	debug/dbginfo.c \
	debug/debugger.c \
	debug/seqnumbers.c \
	ident/ident.c \
	ident/mangle.c \
Matthias Braun's avatar
Matthias Braun committed
148
	ir/instrument.c \
149
150
151
152
153
	ir/irarch.c \
	ir/irargs.c \
	ir/ircgcons.c \
	ir/ircons.c \
	ir/irdump.c \
Matthias Braun's avatar
Matthias Braun committed
154
	ir/irdump_grgen.c \
155
156
157
158
159
160
161
	ir/irdumptxt.c \
	ir/iredges.c \
	ir/irflag.c \
	ir/irgmod.c \
	ir/irgopt.c \
	ir/irgraph.c \
	ir/irgwalk.c \
162
	ir/irgwalk_blk.c \
163
	ir/irhooks.c \
164
	ir/irio.c \
Matthias Braun's avatar
Matthias Braun committed
165
166
	ir/irlinkednodemap.c \
	ir/irlinkednodeset.c \
167
168
169
170
171
172
	ir/irmode.c \
	ir/irnode.c \
	ir/irnodemap.c \
	ir/irnodeset.c \
	ir/irop.c \
	ir/iropt.c \
173
	ir/irpass.c \
174
175
	ir/irphase.c \
	ir/irprintf.c \
Matthias Braun's avatar
Matthias Braun committed
176
	ir/irprofile.c \
177
	ir/irprog.c \
Matthias Braun's avatar
Matthias Braun committed
178
	ir/irssacons.c \
179
180
	ir/irvrfy.c \
	ir/pseudo_irg.c \
Matthias Braun's avatar
Matthias Braun committed
181
	ir/valueset.c \
Matthias Braun's avatar
Matthias Braun committed
182
183
184
185
186
187
188
	libcore/lc_appendable.c \
	libcore/lc_config_lexer.c \
	libcore/lc_config_parser.c \
	libcore/lc_opts.c \
	libcore/lc_opts_enum.c \
	libcore/lc_printf.c \
	libcore/lc_type.c \
189
	lower/lower_calls.c \
Matthias Braun's avatar
Matthias Braun committed
190
	lower/lower_copyb.c \
191
192
193
194
	lower/lower_dw.c \
	lower/lower_hl.c \
	lower/lower_intrinsics.c \
	lower/lower_mode_b.c \
195
	lower/lower_mux.c \
196
	lower/lower_switch.c \
Matthias Braun's avatar
Matthias Braun committed
197
198
199
	obstack/obstack.c \
	obstack/obstack_printf.c \
	opt/boolopt.c \
200
	opt/cfopt.c \
Matthias Braun's avatar
Matthias Braun committed
201
202
	opt/code_placement.c \
	opt/combo.c \
203
	opt/convopt.c \
Matthias Braun's avatar
Matthias Braun committed
204
	opt/critical_edges.c \
205
206
207
208
	opt/escape_ana.c \
	opt/funccall.c \
	opt/gvn_pre.c \
	opt/ifconv.c \
Matthias Braun's avatar
Matthias Braun committed
209
	opt/ircgopt.c \
210
	opt/jumpthreading.c \
211
212
	opt/ldst2.c \
	opt/ldstopt.c \
Christoph Mallon's avatar
Christoph Mallon committed
213
	opt/opt_blocks.c \
214
215
	opt/opt_confirms.c \
	opt/opt_frame.c \
Matthias Braun's avatar
Matthias Braun committed
216
	opt/opt_inline.c \
Matthias Braun's avatar
Matthias Braun committed
217
	opt/opt_ldst.c \
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
	opt/opt_osr.c \
	opt/opt_polymorphy.c \
	opt/proc_cloning.c \
	opt/reassoc.c \
	opt/return.c \
	opt/scalar_replace.c \
	opt/tailrec.c \
	opt/tropt.c \
	stat/const_stat.c \
	stat/dags.c \
	stat/distrib.c \
	stat/firmstat.c \
	stat/pattern.c \
	stat/pattern_dmp.c \
	stat/stat_dmp.c \
Christoph Mallon's avatar
Christoph Mallon committed
233
	stat/stat_liveness.c \
Matthias Braun's avatar
Matthias Braun committed
234
	stat/stat_timing.c \
235
	stat/statev.c \
236
237
238
239
240
	tr/entity.c \
	tr/tpop.c \
	tr/tr_inheritance.c \
	tr/trvrfy.c \
	tr/type.c \
Matthias Braun's avatar
Matthias Braun committed
241
	tr/type_finalization.c \
242
	tr/type_identify.c \
243
	tr/typegmod.c \
244
245
246
247
248
	tr/typewalk.c \
	tv/fltcalc.c \
	tv/strcalc.c \
	tv/tv.c

Matthias Braun's avatar
Matthias Braun committed
249
EXTRA_DIST = \
Matthias Braun's avatar
Matthias Braun committed
250
	adt/array_t.h \
251
252
	adt/bitfiddle.h \
	adt/bitset.h \
Christoph Mallon's avatar
Christoph Mallon committed
253
	adt/bitset_ia32.h \
Matthias Braun's avatar
Matthias Braun committed
254
255
	adt/bitset_std.h \
	adt/compiler.h \
256
	ana/dfs_t.h \
Christoph Mallon's avatar
Christoph Mallon committed
257
	ana/irbackedge_t.h \
Matthias Braun's avatar
Matthias Braun committed
258
	ana/irdom_t.h \
259
	ana/irextbb_t.h \
Matthias Braun's avatar
Matthias Braun committed
260
	ana/irloop_t.h \
Christoph Mallon's avatar
Christoph Mallon committed
261
	ana/irmemory_t.h \
262
	be/be_dbgout.h \
Matthias Braun's avatar
Matthias Braun committed
263
	be/be_dbgout_t.h \
Matthias Braun's avatar
Matthias Braun committed
264
	be/be_t.h \
Matthias Braun's avatar
Matthias Braun committed
265
	be/beabi.h \
266
267
268
269
270
	be/beabi_t.h \
	be/bearch.h \
	be/bearch_t.h \
	be/beblocksched.h \
	be/bechordal.h \
Matthias Braun's avatar
Matthias Braun committed
271
	be/bechordal_draw.h \
272
273
274
275
276
277
278
	be/bechordal_t.h \
	be/becopyilp_t.h \
	be/becopyopt.h \
	be/becopyopt_t.h \
	be/becopystat.h \
	be/bedomfront.h \
	be/beemitter.h \
Matthias Braun's avatar
Matthias Braun committed
279
	be/beflags.h \
280
	be/begnuas.h \
Matthias Braun's avatar
Matthias Braun committed
281
	be/beifg.h \
282
283
	be/beifg_impl.h \
	be/beifg_t.h \
Matthias Braun's avatar
Matthias Braun committed
284
	be/beilpsched.h \
285
286
287
288
	be/beinfo.h \
	be/beinsn_t.h \
	be/beintlive_t.h \
	be/beirg.h \
Matthias Braun's avatar
Matthias Braun committed
289
290
	be/beirg_t.h \
	be/beirgmod.h \
291
	be/belistsched.h \
Matthias Braun's avatar
Matthias Braun committed
292
	be/belive.h \
293
294
	be/belive_t.h \
	be/beloopana.h \
Matthias Braun's avatar
Matthias Braun committed
295
	be/belower.h \
296
297
	be/bemachine.h \
	be/bemodule.h \
Matthias Braun's avatar
Matthias Braun committed
298
	be/bemodule_t.h \
Matthias Braun's avatar
Matthias Braun committed
299
	be/benode_t.h \
300
301
302
303
304
305
	be/bepeephole.h \
	be/bepressurestat.h \
	be/bera.h \
	be/besched.h \
	be/besched_t.h \
	be/beschedmris.h \
Matthias Braun's avatar
Matthias Braun committed
306
	be/beschedrss.h \
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
	be/bespill.h \
	be/bespillslots.h \
	be/bespillutil.h \
	be/bessaconstr.h \
	be/bessadestr.h \
	be/bestat.h \
	be/bestate.h \
	be/bestatevent.h \
	be/betranshlp.h \
	be/beuses.h \
	be/beutil.h \
	be/beverify.h \
	be/scripts/generate_emitter.pl \
	be/scripts/generate_emitter_new.pl \
	be/scripts/generate_machine.pl \
	be/scripts/generate_new_opcodes.pl \
	be/scripts/generate_regalloc_if.pl \
	common/debug.h \
Matthias Braun's avatar
Matthias Braun committed
325
	common/error.h \
Matthias Braun's avatar
Matthias Braun committed
326
	common/irtools.h \
Matthias Braun's avatar
Matthias Braun committed
327
328
329
	debug/dbginfo_t.h \
	debug/debugger.h \
	ident/ident_t.h \
330
331
332
333
334
335
336
337
	ir/gen_ir.h \
	ir/gen_ir_cons.c.inl \
	ir/gen_irio_export.inl \
	ir/gen_irio_import.inl \
	ir/gen_irio_lex.inl \
	ir/gen_irnode.c.inl \
	ir/gen_irnode.h \
	ir/gen_irop.c.inl \
Matthias Braun's avatar
Matthias Braun committed
338
	ir/instrument.h \
339
340
	ir/irargs_t.h \
	ir/irbitset.h \
Matthias Braun's avatar
Matthias Braun committed
341
	ir/ircons_t.h \
342
	ir/irdump_grgen.h \
Matthias Braun's avatar
Matthias Braun committed
343
	ir/irdump_t.h \
344
345
	ir/iredges_t.h \
	ir/iredgeset.h \
Matthias Braun's avatar
Matthias Braun committed
346
	ir/irflag_t.def \
347
348
	ir/irflag_t.h \
	ir/irgraph_t.h \
Matthias Braun's avatar
Matthias Braun committed
349
	ir/irlinkednodemap.h \
350
351
352
	ir/irlinkednodeset.h \
	ir/irmode_t.h \
	ir/irnode_t.h \
Matthias Braun's avatar
Matthias Braun committed
353
	ir/irnodemap.h \
354
355
	ir/irnodeset.h \
	ir/irop_t.h \
Christoph Mallon's avatar
Christoph Mallon committed
356
	ir/iropt_t.h \
357
	ir/irphase_t.h \
Matthias Braun's avatar
Matthias Braun committed
358
	ir/irphaselist.h \
359
360
361
362
363
364
	ir/irphases_t.h \
	ir/irprintf_t.h \
	ir/irprofile.h \
	ir/irprog_t.h \
	ir/irtypes.h \
	ir/irvrfy_t.h \
Matthias Braun's avatar
Matthias Braun committed
365
	ir/valueset.h \
Matthias Braun's avatar
Matthias Braun committed
366
	libcore/do_bisonflex.sh \
Christoph Mallon's avatar
Christoph Mallon committed
367
	libcore/lc_appendable.h \
368
369
	libcore/lc_common_t.h \
	libcore/lc_config.h \
Matthias Braun's avatar
Matthias Braun committed
370
	libcore/lc_config_parser.h \
371
372
	libcore/lc_defines.h \
	libcore/lc_opts.h \
Matthias Braun's avatar
Matthias Braun committed
373
	libcore/lc_opts_enum.h \
Christoph Mallon's avatar
Christoph Mallon committed
374
	libcore/lc_opts_t.h \
375
376
377
	libcore/lc_parser_t.h \
	libcore/lc_printf.h \
	libcore/lc_printf_arg_types.def \
Matthias Braun's avatar
Matthias Braun committed
378
	opt/funccall_t.h \
379
	opt/opt_confirms.h \
Christoph Mallon's avatar
Christoph Mallon committed
380
	opt/opt_inline_t.h \
381
382
383
384
385
	opt/opt_polymorphy.h \
	opt/reassoc_t.h \
	opt/scalar_replace.h \
	opt/tropt.h \
	stat/counter.h \
Matthias Braun's avatar
Matthias Braun committed
386
	stat/dags.h \
387
388
389
390
	stat/firmstat_t.h \
	stat/pattern.h \
	stat/pattern_dmp.h \
	stat/stat_dmp.h \
Matthias Braun's avatar
Matthias Braun committed
391
	stat/stat_timing.h \
392
	stat/statev.h \
Matthias Braun's avatar
Matthias Braun committed
393
	tr/entity_t.h \
Matthias Braun's avatar
Matthias Braun committed
394
	tr/tpop_t.h \
395
	tr/type_t.h \
Matthias Braun's avatar
Matthias Braun committed
396
	tv/fltcalc.h \
397
398
	tv/strcalc.h \
	tv/tv_t.h
Matthias Braun's avatar
Matthias Braun committed
399

400
401
402
403
EXTRA_DIST += \
	libcore/do_bisonflex.sh \
	libcore/lc_config_lexer.l \
	libcore/lc_config_parser.y
Matthias Braun's avatar
Matthias Braun committed
404

405
406
# ia32 backend

407
ia32_sources = \
408
	be/ia32/bearch_ia32.c \
409
	be/ia32/ia32_address_mode.c \
410
	be/ia32/ia32_architecture.c \
Christoph Mallon's avatar
Christoph Mallon committed
411
	be/ia32/ia32_common_transform.c \
412
413
414
415
416
417
418
419
420
421
422
	be/ia32/ia32_emitter.c \
	be/ia32/ia32_finish.c \
	be/ia32/ia32_fpu.c \
	be/ia32/ia32_intrinsics.c \
	be/ia32/ia32_map_regs.c \
	be/ia32/ia32_new_nodes.c \
	be/ia32/ia32_optimize.c \
	be/ia32/ia32_transform.c \
	be/ia32/ia32_util.c \
	be/ia32/ia32_x87.c

Matthias Braun's avatar
Matthias Braun committed
423
424
425
426
427
428
ia32_built_sources = \
	be/ia32/gen_ia32_emitter.c \
	be/ia32/gen_ia32_emitter.h \
	be/ia32/gen_ia32_machine.c \
	be/ia32/gen_ia32_machine.h \
	be/ia32/gen_ia32_new_nodes.c.inl \
429
430
431
	be/ia32/gen_ia32_new_nodes.h \
	be/ia32/gen_ia32_regalloc_if.c \
	be/ia32/gen_ia32_regalloc_if.h
Matthias Braun's avatar
Matthias Braun committed
432
433
434
MAINTAINERCLEANFILES = $(ia32_built_sources)
BUILT_SOURCES        = $(ia32_built_sources)
libfirm_la_SOURCES  += $(ia32_sources) $(ia32_built_sources)
435

Matthias Braun's avatar
Matthias Braun committed
436
437
EXTRA_DIST += \
	be/ia32/bearch_ia32_t.h \
438
	be/ia32/ia32_address_mode.h \
439
	be/ia32/ia32_architecture.h \
Christoph Mallon's avatar
Christoph Mallon committed
440
	be/ia32/ia32_common_transform.h \
Matthias Braun's avatar
Matthias Braun committed
441
442
443
444
445
446
447
448
	be/ia32/ia32_dbg_stat.h \
	be/ia32/ia32_emitter.h \
	be/ia32/ia32_finish.h \
	be/ia32/ia32_fpu.h \
	be/ia32/ia32_map_regs.h \
	be/ia32/ia32_new_nodes.h \
	be/ia32/ia32_nodes_attr.h \
	be/ia32/ia32_optimize.h \
449
450
	be/ia32/ia32_simd_spec.pl \
	be/ia32/ia32_spec.pl \
Matthias Braun's avatar
Matthias Braun committed
451
452
453
454
	be/ia32/ia32_transform.h \
	be/ia32/ia32_util.h \
	be/ia32/ia32_x87.h

455
456
457
458
459
460
461
462
463
464
465
466
467
$(srcdir)/be/ia32/gen_ia32_new_nodes.c.inl $(srcdir)/be/ia32/gen_ia32_new_nodes.h: \
		be/ia32/ia32_spec.pl be/scripts/generate_new_opcodes.pl
	$(PERL) $(srcdir)/be/scripts/generate_new_opcodes.pl $(srcdir)/be/ia32/ia32_spec.pl $(srcdir)/be/ia32

$(srcdir)/be/ia32/gen_ia32_emitter.c $(srcdir)/be/ia32/gen_ia32_emitter.h: \
		be/ia32/ia32_spec.pl be/scripts/generate_emitter.pl
	$(PERL) $(srcdir)/be/scripts/generate_emitter.pl $(srcdir)/be/ia32/ia32_spec.pl $(srcdir)/be/ia32

$(srcdir)/be/ia32/gen_ia32_machine.c $(srcdir)/be/ia32/gen_ia32_machine.h: \
		be/ia32/ia32_spec.pl be/scripts/generate_machine.pl
	$(PERL) $(srcdir)/be/scripts/generate_machine.pl $(srcdir)/be/ia32/ia32_spec.pl $(srcdir)/be/ia32

$(srcdir)/be/ia32/gen_ia32_regalloc_if.c $(srcdir)/be/ia32/gen_ia32_regalloc_if.h: \
468
		be/ia32/ia32_spec.pl be/scripts/generate_regalloc_if.pl
469
470
471
472
	$(PERL) $(srcdir)/be/scripts/generate_regalloc_if.pl $(srcdir)/be/ia32/ia32_spec.pl $(srcdir)/be/ia32

# arm backend

473
arm_sources = \
474
475
476
	be/arm/arm_emitter.c \
	be/arm/arm_map_regs.c \
	be/arm/arm_new_nodes.c \
Matthias Braun's avatar
Matthias Braun committed
477
	be/arm/arm_optimize.c \
478
479
	be/arm/arm_transform.c \
	be/arm/bearch_arm.c
Matthias Braun's avatar
Matthias Braun committed
480
481
482
483
484
485
arm_built_sources = \
	be/arm/gen_arm_emitter.c \
	be/arm/gen_arm_emitter.h \
	be/arm/gen_arm_machine.c \
	be/arm/gen_arm_machine.h \
	be/arm/gen_arm_new_nodes.c.inl \
486
487
488
	be/arm/gen_arm_new_nodes.h \
	be/arm/gen_arm_regalloc_if.c \
	be/arm/gen_arm_regalloc_if.h
Matthias Braun's avatar
Matthias Braun committed
489
490
491
MAINTAINERCLEANFILES += $(arm_built_sources)
BUILT_SOURCES += $(arm_built_sources)
libfirm_la_SOURCES += $(arm_sources) $(arm_built_sources)
492

Matthias Braun's avatar
Matthias Braun committed
493
494
495
496
497
498

EXTRA_DIST += \
	be/arm/arm_emitter.h \
	be/arm/arm_map_regs.h \
	be/arm/arm_new_nodes.h \
	be/arm/arm_nodes_attr.h \
Matthias Braun's avatar
Matthias Braun committed
499
	be/arm/arm_optimize.h \
500
	be/arm/arm_spec.pl \
Matthias Braun's avatar
Matthias Braun committed
501
502
	be/arm/arm_transform.h \
	be/arm/bearch_arm.h \
503
	be/arm/bearch_arm_t.h
Matthias Braun's avatar
Matthias Braun committed
504

505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
$(srcdir)/be/arm/gen_arm_new_nodes.c.inl $(srcdir)/be/arm/gen_arm_new_nodes.h: \
		be/arm/arm_spec.pl be/scripts/generate_new_opcodes.pl
	$(PERL) $(srcdir)/be/scripts/generate_new_opcodes.pl $(srcdir)/be/arm/arm_spec.pl $(srcdir)/be/arm

$(srcdir)/be/arm/gen_arm_emitter.c $(srcdir)/be/arm/gen_arm_emitter.h: \
		be/arm/arm_spec.pl be/scripts/generate_emitter.pl
	$(PERL) $(srcdir)/be/scripts/generate_emitter.pl $(srcdir)/be/arm/arm_spec.pl $(srcdir)/be/arm

$(srcdir)/be/arm/gen_arm_machine.c $(srcdir)/be/arm/gen_arm_machine.h: \
		be/arm/arm_spec.pl be/scripts/generate_machine.pl
	$(PERL) $(srcdir)/be/scripts/generate_machine.pl $(srcdir)/be/arm/arm_spec.pl $(srcdir)/be/arm

$(srcdir)/be/arm/gen_arm_regalloc_if.c $(srcdir)/be/arm/gen_arm_regalloc_if.h: \
		be/arm/arm_spec.pl be/scripts/generate_machine.pl
	$(PERL) $(srcdir)/be/scripts/generate_regalloc_if.pl $(srcdir)/be/arm/arm_spec.pl $(srcdir)/be/arm

# mips backend

523
mips_sources = \
524
525
526
527
528
529
	be/mips/bearch_mips.c \
	be/mips/mips_emitter.c \
	be/mips/mips_map_regs.c \
	be/mips/mips_new_nodes.c \
	be/mips/mips_scheduler.c \
	be/mips/mips_transform.c
Matthias Braun's avatar
Matthias Braun committed
530
531
532
533
534
535
mips_built_sources = \
	be/mips/gen_mips_emitter.c \
	be/mips/gen_mips_emitter.h \
	be/mips/gen_mips_machine.c \
	be/mips/gen_mips_machine.h \
	be/mips/gen_mips_new_nodes.c.inl \
536
537
538
	be/mips/gen_mips_new_nodes.h \
	be/mips/gen_mips_regalloc_if.c \
	be/mips/gen_mips_regalloc_if.h
Matthias Braun's avatar
Matthias Braun committed
539
540
541
MAINTAINERCLEANFILES += $(mips_built_sources)
BUILT_SOURCES += $(mips_built_sources)
libfirm_la_SOURCES += $(mips_sources) $(mips_built_sources)
542

Matthias Braun's avatar
Matthias Braun committed
543
544
545
546
547
548
549
550
EXTRA_DIST += \
	be/mips/bearch_mips.h \
	be/mips/bearch_mips_t.h \
	be/mips/mips_emitter.h \
	be/mips/mips_map_regs.h \
	be/mips/mips_new_nodes.h \
	be/mips/mips_nodes_attr.h \
	be/mips/mips_scheduler.h \
551
	be/mips/mips_spec.pl \
Matthias Braun's avatar
Matthias Braun committed
552
553
554
	be/mips/mips_transform.h \
	be/mips/mips_util.h

555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
$(srcdir)/be/mips/gen_mips_new_nodes.c.inl $(srcdir)/be/mips/gen_mips_new_nodes.h: \
		be/mips/mips_spec.pl be/scripts/generate_new_opcodes.pl
	$(PERL) $(srcdir)/be/scripts/generate_new_opcodes.pl $(srcdir)/be/mips/mips_spec.pl $(srcdir)/be/mips

$(srcdir)/be/mips/gen_mips_emitter.c $(srcdir)/be/mips/gen_mips_emitter.h: \
		be/mips/mips_spec.pl be/scripts/generate_emitter.pl
	$(PERL) $(srcdir)/be/scripts/generate_emitter.pl $(srcdir)/be/mips/mips_spec.pl $(srcdir)/be/mips

$(srcdir)/be/mips/gen_mips_machine.c $(srcdir)/be/mips/gen_mips_machine.h: \
		be/mips/mips_spec.pl be/scripts/generate_machine.pl
	$(PERL) $(srcdir)/be/scripts/generate_machine.pl $(srcdir)/be/mips/mips_spec.pl $(srcdir)/be/mips

$(srcdir)/be/mips/gen_mips_regalloc_if.c $(srcdir)/be/mips/gen_mips_regalloc_if.h: \
		be/mips/mips_spec.pl be/scripts/generate_machine.pl
	$(PERL) $(srcdir)/be/scripts/generate_regalloc_if.pl $(srcdir)/be/mips/mips_spec.pl $(srcdir)/be/mips

# ppc32 backend

573
ppc32_sources = \
574
575
576
577
578
579
	be/ppc32/bearch_ppc32.c \
	be/ppc32/ppc32_emitter.c \
	be/ppc32/ppc32_map_regs.c \
	be/ppc32/ppc32_new_nodes.c \
	be/ppc32/ppc32_transform.c \
	be/ppc32/ppc32_transform_conv.c
Matthias Braun's avatar
Matthias Braun committed
580
581
582
583
584
585
ppc32_built_sources = \
	be/ppc32/gen_ppc32_emitter.c \
	be/ppc32/gen_ppc32_emitter.h \
	be/ppc32/gen_ppc32_machine.c \
	be/ppc32/gen_ppc32_machine.h \
	be/ppc32/gen_ppc32_new_nodes.c.inl \
586
587
588
	be/ppc32/gen_ppc32_new_nodes.h \
	be/ppc32/gen_ppc32_regalloc_if.c \
	be/ppc32/gen_ppc32_regalloc_if.h
Matthias Braun's avatar
Matthias Braun committed
589
590
591
MAINTAINERCLEANFILES += $(ppc32_built_sources)
BUILT_SOURCES += $(ppc32_built_sources)
libfirm_la_SOURCES += $(ppc32_sources) $(ppc32_built_sources)
592

Matthias Braun's avatar
Matthias Braun committed
593
594
595
596
597
598
599
EXTRA_DIST += \
	be/ppc32/bearch_ppc32.h \
	be/ppc32/bearch_ppc32_t.h \
	be/ppc32/ppc32_emitter.h \
	be/ppc32/ppc32_map_regs.h \
	be/ppc32/ppc32_new_nodes.h \
	be/ppc32/ppc32_nodes_attr.h \
600
601
602
	be/ppc32/ppc32_spec.pl \
	be/ppc32/ppc32_transform.h \
	be/ppc32/ppc32_transform_conv.h
Matthias Braun's avatar
Matthias Braun committed
603

604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
$(srcdir)/be/ppc32/gen_ppc32_new_nodes.c.inl $(srcdir)/be/ppc32/gen_ppc32_new_nodes.h: \
		be/ppc32/ppc32_spec.pl be/scripts/generate_new_opcodes.pl
	$(PERL) $(srcdir)/be/scripts/generate_new_opcodes.pl $(srcdir)/be/ppc32/ppc32_spec.pl $(srcdir)/be/ppc32

$(srcdir)/be/ppc32/gen_ppc32_emitter.c $(srcdir)/be/ppc32/gen_ppc32_emitter.h: \
		be/ppc32/ppc32_spec.pl be/scripts/generate_emitter.pl
	$(PERL) $(srcdir)/be/scripts/generate_emitter.pl $(srcdir)/be/ppc32/ppc32_spec.pl $(srcdir)/be/ppc32

$(srcdir)/be/ppc32/gen_ppc32_machine.c $(srcdir)/be/ppc32/gen_ppc32_machine.h: \
		be/ppc32/ppc32_spec.pl be/scripts/generate_machine.pl
	$(PERL) $(srcdir)/be/scripts/generate_machine.pl $(srcdir)/be/ppc32/ppc32_spec.pl $(srcdir)/be/ppc32

$(srcdir)/be/ppc32/gen_ppc32_regalloc_if.c $(srcdir)/be/ppc32/gen_ppc32_regalloc_if.h: \
		be/ppc32/ppc32_spec.pl be/scripts/generate_machine.pl
	$(PERL) $(srcdir)/be/scripts/generate_regalloc_if.pl $(srcdir)/be/ppc32/ppc32_spec.pl $(srcdir)/be/ppc32
619
620
621
622
623
624
625
626

# TEMPLATE backend

TEMPLATE_sources = \
	be/TEMPLATE/TEMPLATE_emitter.c \
	be/TEMPLATE/TEMPLATE_map_regs.c \
	be/TEMPLATE/TEMPLATE_new_nodes.c \
	be/TEMPLATE/TEMPLATE_transform.c
627
	be/TEMPLATE/bearch_TEMPLATE.c \
628
629
630
631
632
633
TEMPLATE_built_sources = \
	be/TEMPLATE/gen_TEMPLATE_emitter.c \
	be/TEMPLATE/gen_TEMPLATE_emitter.h \
	be/TEMPLATE/gen_TEMPLATE_machine.c \
	be/TEMPLATE/gen_TEMPLATE_machine.h \
	be/TEMPLATE/gen_TEMPLATE_new_nodes.c.inl \
634
635
636
	be/TEMPLATE/gen_TEMPLATE_new_nodes.h \
	be/TEMPLATE/gen_TEMPLATE_regalloc_if.c \
	be/TEMPLATE/gen_TEMPLATE_regalloc_if.h
637
638
639
640
641
642
643
644
645
MAINTAINERCLEANFILES += $(TEMPLATE_built_sources)
BUILT_SOURCES += $(TEMPLATE_built_sources)
libfirm_la_SOURCES += $(TEMPLATE_sources) $(TEMPLATE_built_sources)

EXTRA_DIST += \
	be/TEMPLATE/TEMPLATE_emitter.h \
	be/TEMPLATE/TEMPLATE_map_regs.h \
	be/TEMPLATE/TEMPLATE_new_nodes.h \
	be/TEMPLATE/TEMPLATE_nodes_attr.h \
646
647
648
649
	be/TEMPLATE/TEMPLATE_spec.pl \
	be/TEMPLATE/TEMPLATE_transform.h \
	be/TEMPLATE/bearch_TEMPLATE.h \
	be/TEMPLATE/bearch_TEMPLATE_t.h
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665

$(srcdir)/be/TEMPLATE/gen_TEMPLATE_new_nodes.c.inl $(srcdir)/be/TEMPLATE/gen_TEMPLATE_new_nodes.h: \
		be/TEMPLATE/TEMPLATE_spec.pl be/scripts/generate_new_opcodes.pl
	$(PERL) $(srcdir)/be/scripts/generate_new_opcodes.pl $(srcdir)/be/TEMPLATE/TEMPLATE_spec.pl $(srcdir)/be/TEMPLATE

$(srcdir)/be/TEMPLATE/gen_TEMPLATE_emitter.c $(srcdir)/be/TEMPLATE/gen_TEMPLATE_emitter.h: \
		be/TEMPLATE/TEMPLATE_spec.pl be/scripts/generate_emitter.pl
	$(PERL) $(srcdir)/be/scripts/generate_emitter.pl $(srcdir)/be/TEMPLATE/TEMPLATE_spec.pl $(srcdir)/be/TEMPLATE

$(srcdir)/be/TEMPLATE/gen_TEMPLATE_machine.c $(srcdir)/be/TEMPLATE/gen_TEMPLATE_machine.h: \
		be/TEMPLATE/TEMPLATE_spec.pl be/scripts/generate_machine.pl
	$(PERL) $(srcdir)/be/scripts/generate_machine.pl $(srcdir)/be/TEMPLATE/TEMPLATE_spec.pl $(srcdir)/be/TEMPLATE

$(srcdir)/be/TEMPLATE/gen_TEMPLATE_regalloc_if.c $(srcdir)/be/TEMPLATE/gen_TEMPLATE_regalloc_if.h: \
		be/TEMPLATE/TEMPLATE_spec.pl be/scripts/generate_machine.pl
	$(PERL) $(srcdir)/be/scripts/generate_regalloc_if.pl $(srcdir)/be/TEMPLATE/TEMPLATE_spec.pl $(srcdir)/be/TEMPLATE