applied patch to improve build system

This commit is contained in:
ejcoumans
2007-08-16 05:30:23 +00:00
parent dae4a77589
commit b706ea5dfd
7 changed files with 73 additions and 433 deletions

View File

@@ -26,13 +26,13 @@
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
topdir = ..
ARCH = spu
include $(topdir)/Make.defs
# All that you do to add a file is edit OBJS, the rest will just work
prefix = /usr
prefix_spu = $(prefix)/spu
DESTDIR =
OBJS = fabsd2.o fabsf4.o truncf4.o divf4.o tanf4.o isnanf4.o isnand2.o isinff4.o isinfd2.o \
is0denormf4.o is0denormd2.o recipd2.o divd2.o tand2.o sqrtf4.o absi4.o sqrtd2.o \
sinf4.o isgreaterd2.o sind2.o sincosd2.o sincosf4.o rsqrtf4.o signbitf4.o signbitd2.o \
@@ -51,68 +51,10 @@ OBJS = fabsd2.o fabsf4.o truncf4.o divf4.o tanf4.o isnanf4.o isnand2.o isinff4.o
ceild2.o floord2.o ldexpd2.o scalbnf4.o scalbllnd2.o lldivi2.o remquof4.o remquod2.o\
fmodd2.o remainderd2.o
INCLUDES_SPU = -I. -I../common
CROSS_SPU = spu-
AR_SPU = $(CROSS_SPU)ar
CC_SPU = $(CROSS_SPU)gcc
CXX_SPU = $(CROSS_SPU)g++
RANLIB_SPU = $(CROSS_SPU)ranlib
TEST_CMD_SPU =
CFLAGS_SPU=$(INCLUDES_SPU) -O2 -W -Wall
INSTALL = install
MAKE_DEFS = \
prefix='$(prefix)' \
prefix_spu='$(prefix_spu)' \
DESTDIR='$(DESTDIR)' \
LIB_BASE='$(LIB_BASE)' \
LIB_NAME='$(LIB_NAME)' \
STATIC_LIB='$(STATIC_LIB)' \
CROSS_SPU='$(CROSS_SPU)' \
AR_SPU='$(AR_SPU)' \
CC_SPU='$(CC_SPU)' \
CXX_SPU='$(CXX_SPU)' \
RANLIB_SPU='$(RANLIB_SPU)' \
TEST_CMD_SPU='$(TEST_CMD_SPU)' \
INSTALL='$(INSTALL)'
LIB_BASE = simdmath
LIB_NAME = lib$(LIB_BASE)
STATIC_LIB = $(LIB_NAME).a
all: $(STATIC_LIB)
$(STATIC_LIB): $(OBJS)
$(AR_SPU) cr $@ $(OBJS)
$(RANLIB_SPU) $@
install: $(STATIC_LIB)
$(INSTALL) -m 755 -d $(DESTDIR)$(prefix_spu)/include
$(INSTALL) -m 755 -d $(DESTDIR)$(prefix_spu)/include/simdmath
$(INSTALL) -m 644 simdmath/*.h $(DESTDIR)$(prefix_spu)/include/simdmath/
$(INSTALL) -m 755 -d $(DESTDIR)$(prefix_spu)/lib
$(INSTALL) $(STATIC_LIB) $(DESTDIR)$(prefix_spu)/lib/$(STATIC_LIB)
clean:
cd tests; $(MAKE) $(MAKE_DEFS) clean
rm -f $(OBJS)
rm -f $(STATIC_LIB)
include $(topdir)/Make.rules
$(OBJS): ../common/simdmath.h
check: $(STATIC_LIB)
cd tests; $(MAKE) $(MAKE_DEFS); $(MAKE) $(MAKE_DEFS) check
# Some Objects have special header files.
sinf4.o sind2.o sincosf4.o cosd2.o: ../common/simdmath/_sincos.h
lldivu2.o lldivi2.o : simdmath/_lldiv.h
%.o: ../common/%.c simdmath/%.h
$(CC_SPU) $(CFLAGS_SPU) -c $<

View File

@@ -26,6 +26,11 @@
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
topdir = ../..
ARCH = spu
include $(topdir)/Make.defs
TESTS = fabsd2 fabsf4 truncf4 divf4 recipd2 divd2 sqrtf4 \
absi4 sqrtd2 rsqrtf4 rsqrtd2 copysignf4 remainderf4 \
recipf4 copysignd2 negatef4 negated2 modff4 ceilf4 \
@@ -41,66 +46,6 @@ TESTS = fabsd2 fabsf4 truncf4 divf4 recipd2 divd2 sqrtf4 \
lldivu2 ceild2 floord2 ldexpd2 ilogbd2 ilogbf4 logbf4 logbd2 scalbnf4 \
scalbllnd2 lldivi2 frexpf4 frexpd2 remquof4 remquod2 fmodd2 remainderd2
OBJS = testutils.o
ALL_TESTS = $(TESTS)
INCLUDES_SPU = -I../../common
CROSS_SPU = spu-
AR_SPU = $(CROSS_SPU)ar
CC_SPU = $(CROSS_SPU)gcc
CXX_SPU = $(CROSS_SPU)g++
TEST_CMD_SPU =
CFLAGS_SPU=$(INCLUDES_SPU) -O2 -W -Wall
LDFLAGS_SPU=-L../ -l$(LIB_BASE) -lm
MAKE_DEFS = \
LIB_BASE='$(LIB_BASE)' \
LIB_NAME='$(LIB_NAME)' \
STATIC_LIB='$(STATIC_LIB)' \
CROSS_SPU='$(CROSS_SPU)' \
AR_SPU='$(AR_SPU)' \
CC_SPU='$(CC_SPU)' \
CXX_SPU='$(CXX_SPU)' \
TEST_CMD_SPU='$(TEST_CMD_SPU)'
LIB_BASE = simdmath
LIB_NAME = lib$(LIB_BASE)
STATIC_LIB = $(LIB_NAME).a
TEST_CMD = $(TEST_CMD_SPU)
COMMON_OBJS = testutils.o
all: $(ALL_TESTS)
$(TESTS): %: %.o ../$(STATIC_LIB) $(COMMON_OBJS)
$(CC_SPU) $@.o $(COMMON_OBJS) $(LDFLAGS_SPU) -o $@
clean:
rm -f *.o
rm -f $(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_LIB):
cd ../;$(MAKE) $(MAKE_DEFS) $(STATIC_LIB)
%.o: %.c ../../common/common-test.h testutils.h
$(CC_SPU) $(CFLAGS_SPU) -c $<
%.o: %.cc
$(CXX_SPU) $(CFLAGS_SPU) -c $<
include $(topdir)/Make.test