Initialize libbullet git in 2.0_beta.
[platform/upstream/libbullet.git] / Extras / vectormathlibrary / tests / Makefile
1 # Makefile for vector math library testsuite.
2 #
3 #   Copyright (C) 2006, 2007 Sony Computer Entertainment Inc.
4 #   All rights reserved.
5 #
6 #   Redistribution and use in source and binary forms,
7 #   with or without modification, are permitted provided that the
8 #   following conditions are met:
9 #    * Redistributions of source code must retain the above copyright
10 #      notice, this list of conditions and the following disclaimer.
11 #    * Redistributions in binary form must reproduce the above copyright
12 #      notice, this list of conditions and the following disclaimer in the
13 #      documentation and/or other materials provided with the distribution.
14 #    * Neither the name of the Sony Computer Entertainment Inc nor the names
15 #      of its contributors may be used to endorse or promote products derived
16 #      from this software without specific prior written permission.
17 #
18 #   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19 #   AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20 #   IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21 #   ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
22 #   LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23 #   CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24 #   SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25 #   INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26 #   CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27 #   ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28 #   POSSIBILITY OF SUCH DAMAGE.
29
30 topdir = ..
31
32 ARCH = scalar
33
34 TESTS_all = \
35         test1_aos_c.elf \
36         test1_soa_c.elf \
37         test2_aos_c.elf \
38         test2_soa_c.elf \
39         test3_aos_c.elf \
40         test3_soa_c.elf \
41         test4_aos_c.elf \
42         test4_soa_c.elf \
43         test1_aos_cpp.elf \
44         test1_soa_cpp.elf \
45         test2_aos_cpp.elf \
46         test2_soa_cpp.elf \
47         test3_aos_cpp.elf \
48         test3_soa_cpp.elf \
49         test4_aos_cpp.elf \
50         test4_soa_cpp.elf
51
52 TESTS_ppu = $(TESTS_all)
53 ARCH_CFLAGS_ppu = -maltivec -mabi=altivec -I$(SIMDMATH_DIR)/common
54 ARCH_LDFLAGS_ppu = -L$(SIMDMATH_DIR)/ppu -lsimdmath -static
55
56 CROSS_spu = spu-
57 TESTS_spu = $(TESTS_all)
58 ARCH_CFLAGS_spu = -I$(SIMDMATH_DIR)/common
59 ARCH_LDFLAGS_spu = -L$(SIMDMATH_DIR)/spu -lsimdmath
60
61 TESTS_SSE = \
62         test1_aos_cpp.elf \
63         test2_aos_cpp.elf \
64         test3_aos_cpp.elf \
65         test4_aos_cpp.elf
66 ARCH_CFLAGS_SSE = -msse
67
68 TESTS_scalar = \
69         test1_aos_c.elf \
70         test2_aos_c.elf \
71         test3_aos_c.elf \
72         test4_aos_c.elf \
73         test1_aos_cpp.elf \
74         test2_aos_cpp.elf \
75         test3_aos_cpp.elf \
76         test4_aos_cpp.elf
77
78 TESTS = $(TESTS_$(ARCH))
79 ARCH_CFLAGS = $(ARCH_CFLAGS_$(ARCH))
80 ARCH_LDFLAGS = $(ARCH_LDFLAGS_$(ARCH))
81
82 SIMDMATH_DIR = $(topdir)/../simdmathlibrary
83
84 RESULTS = $(TESTS:.elf=.$(ARCH).out)
85 DIFFS = $(RESULTS:.out=.cmp)
86
87 CROSS = $(CROSS_$(ARCH))
88 CC = $(CROSS)gcc
89 CXX = $(CROSS)g++
90 LD = $(CC)
91 LDXX = $(CXX)
92
93 CFLAGS = -O2 -W -Wall -D_VECTORMATH_DEBUG $(ARCH_CFLAGS)
94 LDFLAGS = -lm $(ARCH_LDFLAGS)
95
96 C_INCLUDES = -I$(topdir)/include/vectormath/c
97 CXX_INCLUDES = -I$(topdir)/include/vectormath/cpp
98
99 PERL = perl
100
101 all: $(TESTS)
102
103 check: $(DIFFS)
104
105 clean:
106         -rm -f *.elf
107
108 distclean: clean
109         -rm -f *.out *.cmp *~
110
111 %_c.elf: %_c.c
112         $(CC) $(CFLAGS) $(C_INCLUDES) -o $@ $< $(LDFLAGS)
113
114 %_cpp.elf: %_cpp.cpp
115         $(CXX) $(CFLAGS) $(CXX_INCLUDES) -o $@ $< $(LDFLAGS)
116
117 %.$(ARCH).out: %.elf
118         ./$< > $@
119
120 test1_%.cmp: test1_%.out
121         $(PERL) ./clean.pl < $< > $<.tmp
122         $(PERL) ./compare.pl $<.tmp test1_reference.txt | tee $@
123         rm $<.tmp
124
125 test2_%.cmp: test2_%.out
126         $(PERL) ./clean.pl < $< > $<.tmp
127         $(PERL) ./compare.pl $<.tmp test2_reference.txt | tee $@
128         rm $<.tmp
129
130 test3_%.cmp: test3_%.out
131         $(PERL) ./clean.pl < $< > $<.tmp
132         $(PERL) ./compare.pl $<.tmp test3_reference.txt | tee $@
133         rm $<.tmp
134
135 test4_%.cmp: test4_%.out
136         $(PERL) ./clean.pl < $< > $<.tmp
137         $(PERL) ./compare.pl $<.tmp test4_reference.txt | tee $@
138         rm $<.tmp