# -*- Makefile -*- # Common make rules for tests in the libsimdmath library. # 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. STATIC_TESTS = $(TESTS) SHARED_TESTS = $(TESTS:=.shared) ifeq ($(ENABLE_STATIC),1) ALL_TESTS += $(STATIC_TESTS) endif ifeq ($(ENABLE_SHARED),1) ALL_TESTS += $(SHARED_TESTS) endif STATIC_LDFLAGS = -static SHARED_LDFLAGS = -Wl,-rpath=.. LDFLAGS += -L../ -l$(LIB_BASE) -lm all: $(ALL_TESTS) $(STATIC_TESTS): %: %.o ../$(STATIC_LIB) $(OBJS) $(CC) $*.o $(OBJS) $(LDFLAGS) $(STATIC_LDFLAGS) -o $@ $(SHARED_TESTS): %.shared: %.o ../$(SHARED_LIB) $(OBJS) $(CC) $*.o $(OBJS) $(LDFLAGS) $(SHARED_LDFLAGS) -o $@ clean: rm -f *.o rm -f $(STATIC_TESTS) $(SHARED_TESTS) rm -f core* check: $(ALL_TESTS) for test in $(ALL_TESTS); do \ echo "TEST $${test}"; \ if $(TEST_CMD) ./$${test}; then \ pass="$$pass $$test"; \ else \ fail="$$fail $$test"; \ fi \ done; \ echo; echo "PASS:$$pass"; echo "FAIL:$$fail"; \ test -z "$$fail" static_check: $(MAKE) ALL_TESTS="$(STATIC_TESTS)" check shared_check: $(MAKE) ALL_TESTS="$(SHARED_TESTS)" check ../$(STATIC_LIB): $(MAKE) -C .. $(STATIC_LIB) ../$(SHARED_LIB): $(MAKE) -C .. $(SHARED_LIB) %.o: %.c $(CC) $(CFLAGS) -c -o $@ $< %.o: %.cc $(CXX) $(CFLAGS) -c -o $@ $<