added tests for Vector Math, modified Makefile, added helper include files
This commit is contained in:
135
Extras/vectormathlibrary/tests/Makefile
Normal file
135
Extras/vectormathlibrary/tests/Makefile
Normal file
@@ -0,0 +1,135 @@
|
||||
# Makefile for vector math library testsuite.
|
||||
#
|
||||
# Copyright (C) 2006, 2007 Sony Computer Entertainment Inc.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms,
|
||||
# with or without modification, are permitted provided that the
|
||||
# following conditions are met:
|
||||
# * Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# * Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# * Neither the name of the Sony Computer Entertainment Inc nor the names
|
||||
# of its contributors may be used to endorse or promote products derived
|
||||
# from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
topdir = ..
|
||||
|
||||
ARCH = scalar
|
||||
|
||||
TESTS_all = \
|
||||
test1_aos_c.elf \
|
||||
test1_soa_c.elf \
|
||||
test2_aos_c.elf \
|
||||
test2_soa_c.elf \
|
||||
test3_aos_c.elf \
|
||||
test3_soa_c.elf \
|
||||
test4_aos_c.elf \
|
||||
test4_soa_c.elf \
|
||||
test1_aos_cpp.elf \
|
||||
test1_soa_cpp.elf \
|
||||
test2_aos_cpp.elf \
|
||||
test2_soa_cpp.elf \
|
||||
test3_aos_cpp.elf \
|
||||
test3_soa_cpp.elf \
|
||||
test4_aos_cpp.elf \
|
||||
test4_soa_cpp.elf
|
||||
|
||||
TESTS_ppu = $(TESTS_all)
|
||||
ARCH_CFLAGS_ppu = -maltivec -mabi=altivec -I$(SIMDMATH_DIR)/common
|
||||
ARCH_LDFLAGS_ppu = -L$(SIMDMATH_DIR)/ppu -lsimdmath -static
|
||||
|
||||
TESTS_spu = $(TESTS_all)
|
||||
ARCH_CFLAGS_spu = -I$(SIMDMATH_DIR)/common
|
||||
ARCH_LDFLAGS_spu = -L$(SIMDMATH_DIR)/spu -lsimdmath
|
||||
|
||||
TESTS_SSE = \
|
||||
test1_aos_cpp.elf \
|
||||
test2_aos_cpp.elf \
|
||||
test3_aos_cpp.elf \
|
||||
test4_aos_cpp.elf
|
||||
ARCH_CFLAGS_SSE = -msse
|
||||
|
||||
TESTS_scalar = \
|
||||
test1_aos_c.elf \
|
||||
test2_aos_c.elf \
|
||||
test3_aos_c.elf \
|
||||
test4_aos_c.elf \
|
||||
test1_aos_cpp.elf \
|
||||
test2_aos_cpp.elf \
|
||||
test3_aos_cpp.elf \
|
||||
test4_aos_cpp.elf
|
||||
|
||||
TESTS = $(TESTS_$(ARCH))
|
||||
ARCH_CFLAGS = $(ARCH_CFLAGS_$(ARCH))
|
||||
ARCH_LDFLAGS = $(ARCH_LDFLAGS_$(ARCH))
|
||||
|
||||
SIMDMATH_DIR = $(topdir)/../simdmathlibrary
|
||||
|
||||
RESULTS = $(TESTS:.elf=.$(ARCH).out)
|
||||
DIFFS = $(RESULTS:.out=.cmp)
|
||||
|
||||
CROSS =
|
||||
CC = $(CROSS)gcc
|
||||
CXX = $(CROSS)g++
|
||||
LD = $(CC)
|
||||
LDXX = $(CXX)
|
||||
|
||||
CFLAGS = -O2 -W -Wall -D_VECTORMATH_DEBUG $(ARCH_CFLAGS)
|
||||
LDFLAGS = -lm $(ARCH_LDFLAGS)
|
||||
|
||||
C_INCLUDES = -I$(topdir)/include/vectormath/c
|
||||
CXX_INCLUDES = -I$(topdir)/include/vectormath/cpp
|
||||
|
||||
all: $(TESTS)
|
||||
|
||||
check: $(DIFFS)
|
||||
|
||||
clean:
|
||||
-rm -f *.elf
|
||||
|
||||
distclean: clean
|
||||
-rm -f *.out *.cmp *~
|
||||
|
||||
%_c.elf: %_c.c
|
||||
$(CC) $(CFLAGS) $(C_INCLUDES) -o $@ $< $(LDFLAGS)
|
||||
|
||||
%_cpp.elf: %_cpp.cpp
|
||||
$(CXX) $(CFLAGS) $(CXX_INCLUDES) -o $@ $< $(LDFLAGS)
|
||||
|
||||
%.$(ARCH).out: %.elf
|
||||
./$< > $@
|
||||
|
||||
test1_%.cmp: test1_%.out
|
||||
./clean.pl < $< > $<.tmp
|
||||
./compare.pl $<.tmp test1_reference.txt | tee $@
|
||||
rm $<.tmp
|
||||
|
||||
test2_%.cmp: test2_%.out
|
||||
./clean.pl < $< > $<.tmp
|
||||
./compare.pl $<.tmp test2_reference.txt | tee $@
|
||||
rm $<.tmp
|
||||
|
||||
test3_%.cmp: test3_%.out
|
||||
./clean.pl < $< > $<.tmp
|
||||
./compare.pl $<.tmp test3_reference.txt | tee $@
|
||||
rm $<.tmp
|
||||
|
||||
test4_%.cmp: test4_%.out
|
||||
./clean.pl < $< > $<.tmp
|
||||
./compare.pl $<.tmp test4_reference.txt | tee $@
|
||||
rm $<.tmp
|
||||
Reference in New Issue
Block a user