add test for n*n=2n bits multiplication
[libfirm] / ir / be / test / Makefile
index 864ac66..92323a4 100644 (file)
@@ -1,17 +1,5 @@
-# Configuration section
-EDG=edg
-GCC=gcc
-
-GCC_CFLAGS=-O3 -g
-EDG_CFLAGS=-b nomris -f win32 -b ra-chordal-spill=morgan --c -Ic:\\devstudio\\include
-
-EXCLUDE=bf_localinit.c bf_store.c calls.c compress95.c convtest.c \
-       fe_bug.c gnu_def.c harness.c if.c psi_test.c
-SOURCES=$(filter-out $(EXCLUDE), $(wildcard *.c))
-GCCEXES=$(addprefix gcc/, $(addsuffix .exe, $(basename $(SOURCES))))
-FIRMEXES=$(addprefix firm/, $(addsuffix .exe, $(basename $(SOURCES))))
-FIRMASSEMBLERS=$(addprefix firm/, $(addsuffix .s, $(basename $(SOURCES))))
-DONTCOMPARE = XXEndless.c
+include Makefile.config
+
 COMPARES = $(addprefix compare_, $(filter-out $(DONTCOMPARE), $(SOURCES)))
 
 .PHONY: all clean firm gcc compare
@@ -33,27 +21,49 @@ compare: $(COMPARES)
 
 gcc/%.result: gcc/%.exe
        @test -z gcc || mkdir -p gcc
-       gcc/$*.exe >& $@
+       gcc/$*.exe >& $@ || true
 
 firm/%.result: firm/%.exe
        @test -z firm || mkdir -p firm
-       firm/$*.exe >& $@ || echo "$*.c" >> doesntrun.txt
+       @test -z $(RESDIR) || mkdir -p $(RESDIR)
+       firm/$*.exe >& $@ || echo "$*.c" >> $(RESDIR)/run_failed.txt
 
 compare_%.c: gcc/%.exe firm/%.exe gcc/%.result firm/%.result
-       diff -u gcc/$*.result firm/$*.result || echo "$*.c" >> broken.txt
+       @test -z $(RESDIR) || mkdir -p $(RESDIR)
+       diff -u gcc/$*.result firm/$*.result || echo "$*.c" >> $(RESDIR)/compare_failed.txt
+
+gcc/%.s: %.c
+       @test -z gcc || mkdir -p gcc
+       @test -z $(RESDIR) || mkdir -p $(RESDIR)
+       $(GCC) -c -S $(GCC_CFLAGS) $*.c -o $@
 
 gcc/%.exe: %.c
        @test -z gcc || mkdir -p gcc
+       @test -z $(RESDIR) || mkdir -p $(RESDIR)
        $(GCC) $(GCC_CFLAGS) $*.c -o $@
 
 firm/%.s: %.c
-       @test -z firm || mkdir -p firm
-       cd firm ; $(EDG) $(EDG_CFLAGS) ../$*.c || echo "$*.c" >> ../compile_failed.txt
+       @mkdir -p firm
+       @test -z $(RESDIR) || mkdir -p $(RESDIR)
+       cd firm ; $(EDG) $(EDG_CFLAGS) ../$*.c || echo "$*.c" >> ../$(RESDIR)/compile_failed.txt
        mv $*.s firm
 
-firm/%.exe: firm/%.s
-       $(GCC) firm/$*.s -o $@ || echo "$*.c" >> link_failed.txt
+firm/%.exe: %.c
+       @mkdir -p firm
+       @mkdir -p $(RESDIR)
+       $(EDG) $(EDG_CFLAGS) $*.c -o $@ || echo "$*.c" >> $(RESDIR)/link_failed.txt
+
+icc/%.s: %.c
+       @test -z icc || mkdir -p icc
+       $(ICC) $(ICC_CFLAGS) -S $*.c -o $@
+
+.PRECIOUS: icc/%.s
+
+icc/%.exe: icc/%.s
+       @test -z icc || mkdir -p icc
+       $(ICC) $(ICC_CFLAGS) $*.c -o $@
 
 clean:
        rm -f gcc/*
        rm -f firm/*
+       rm -f $(RESDIR)/*