fixed lots of warnings in testprograms
[libfirm] / ir / be / test / Makefile
1 include Makefile.config
2
3 COMPARES = $(addprefix compare_, $(filter-out $(DONTCOMPARE), $(SOURCES)))
4
5 .PHONY: all clean firm gcc compare
6
7 help:
8         @echo "Targets:"
9         @echo ""
10         @echo " gcc     Build files with gcc"
11         @echo " firm    Build files with firm/edg"
12         @echo " compare Compare results from firm with gcc executables"
13
14 all: compare
15
16 gcc: $(GCCEXES)
17
18 firm: $(FIRMEXES) $(FIRMASSEMBLERS)
19
20 compare: $(COMPARES)
21
22 gcc/%.result: gcc/%.exe
23         @test -z gcc || mkdir -p gcc
24         gcc/$*.exe >& $@ || true
25
26 firm/%.result: firm/%.exe
27         @test -z firm || mkdir -p firm
28         @test -z $(RESDIR) || mkdir -p $(RESDIR)
29         firm/$*.exe >& $@ || echo "$*.c" >> $(RESDIR)/run_failed.txt
30
31 compare_%.c: gcc/%.exe firm/%.exe gcc/%.result firm/%.result
32         @test -z $(RESDIR) || mkdir -p $(RESDIR)
33         diff -u gcc/$*.result firm/$*.result || echo "$*.c" >> $(RESDIR)/compare_failed.txt
34
35 gcc/%.s: %.c
36         @test -z gcc || mkdir -p gcc
37         @test -z $(RESDIR) || mkdir -p $(RESDIR)
38         $(GCC) -c -S $(GCC_CFLAGS) $*.c -o $@
39
40 gcc/%.exe: %.c
41         @test -z gcc || mkdir -p gcc
42         @test -z $(RESDIR) || mkdir -p $(RESDIR)
43         $(GCC) $(GCC_CFLAGS) $*.c -o $@
44
45 firm/%.s: %.c
46         @mkdir -p firm
47         @test -z $(RESDIR) || mkdir -p $(RESDIR)
48         cd firm ; $(EDG) $(EDG_CFLAGS) ../$*.c || echo "$*.c" >> ../$(RESDIR)/compile_failed.txt
49         mv $*.s firm
50
51 firm/%.exe: %.c
52         @mkdir -p firm
53         @mkdir -p $(RESDIR)
54         $(EDG) $(EDG_CFLAGS) $*.c -o $@ || echo "$*.c" >> $(RESDIR)/link_failed.txt
55
56 icc/%.s: %.c
57         @test -z icc || mkdir -p icc
58         $(ICC) $(ICC_CFLAGS) -S $*.c -o $@
59
60 .PRECIOUS: icc/%.s
61
62 icc/%.exe: icc/%.s
63         @test -z icc || mkdir -p icc
64         $(ICC) $(ICC_CFLAGS) $*.c -o $@
65
66 clean:
67         rm -f gcc/*
68         rm -f firm/*
69         rm -f $(RESDIR)/*