applied patch to improve build system
This commit is contained in:
@@ -26,125 +26,28 @@
|
|||||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
# POSSIBILITY OF SUCH DAMAGE.
|
# POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
# How to build:
|
topdir = .
|
||||||
#
|
ARCH = unknown
|
||||||
# To build 32 bit libraries:
|
|
||||||
#
|
|
||||||
# make ARCH_PPU=32
|
|
||||||
#
|
|
||||||
# To build 64 bit libraries:
|
|
||||||
#
|
|
||||||
# make ARCH_PPU=64
|
|
||||||
#
|
|
||||||
# To use "ppu-gcc" instead of "gcc".
|
|
||||||
#
|
|
||||||
# make CROSS_PPU=ppu-
|
|
||||||
|
|
||||||
prefix = /usr
|
include $(topdir)/Make.defs
|
||||||
prefix_ppu = $(prefix)
|
|
||||||
prefix_spu = $(prefix)/spu
|
|
||||||
DESTDIR =
|
|
||||||
|
|
||||||
ARCH_PPU = 32
|
SUBDIRS = common $(ARCH_DIR)
|
||||||
CROSS_PPU =
|
|
||||||
AR_PPU = $(CROSS_PPU)ar
|
|
||||||
CC_PPU = $(CROSS_PPU)gcc
|
|
||||||
CXX_PPU = $(CROSS_PPU)g++
|
|
||||||
RANLIB_PPU = $(CROSS_PPU)ranlib
|
|
||||||
TEST_CMD_PPU =
|
|
||||||
|
|
||||||
ARCH_CFLAGS_PPU = -m$(ARCH_PPU) -maltivec -mabi=altivec
|
all install check:
|
||||||
|
@for _d in $(SUBDIRS); do $(MAKE) -C $$_d $@ || exit 1; done
|
||||||
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 =
|
|
||||||
|
|
||||||
INSTALL = install
|
|
||||||
|
|
||||||
MAKE_DEFS = \
|
|
||||||
prefix='$(prefix)' \
|
|
||||||
prefix_ppu='$(prefix_ppu)' \
|
|
||||||
prefix_spu='$(prefix_spu)' \
|
|
||||||
DESTDIR='$(DESTDIR)' \
|
|
||||||
LIB_MAJOR_VERSION='$(LIB_MAJOR_VERSION)' \
|
|
||||||
LIB_MINOR_VERSION='$(LIB_MINOR_VERSION)' \
|
|
||||||
LIB_RELEASE='$(LIB_RELEASE)' \
|
|
||||||
LIB_BASE='$(LIB_BASE)' \
|
|
||||||
LIB_NAME='$(LIB_NAME)' \
|
|
||||||
STATIC_LIB='$(STATIC_LIB)' \
|
|
||||||
SHARED_LIB='$(SHARED_LIB)' \
|
|
||||||
ARCH_PPU='$(ARCH_PPU)' \
|
|
||||||
ARCH_CFLAGS_PPU='$(ARCH_CFLAGS_PPU)' \
|
|
||||||
CROSS_PPU='$(CROSS_PPU)' \
|
|
||||||
AR_PPU='$(AR_PPU)' \
|
|
||||||
CC_PPU='$(CC_PPU)' \
|
|
||||||
CXX_PPU='$(CXX_PPU)' \
|
|
||||||
RANLIB_PPU='$(RANLIB_PPU)' \
|
|
||||||
TEST_CMD_PPU='$(TEST_CMD_PPU)' \
|
|
||||||
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_MAJOR_VERSION = 1
|
|
||||||
LIB_MINOR_VERSION = 0
|
|
||||||
LIB_RELEASE = 1
|
|
||||||
LIB_FULL_VERSION = $(LIB_MAJOR_VERSION).$(LIB_MINOR_VERSION).$(LIB_RELEASE)
|
|
||||||
|
|
||||||
LIB_BASE = simdmath
|
|
||||||
LIB_NAME = lib$(LIB_BASE)
|
|
||||||
STATIC_LIB = $(LIB_NAME).a
|
|
||||||
SHARED_LIB = $(LIB_NAME).so
|
|
||||||
|
|
||||||
TAR_NAME = $(LIB_BASE)-$(LIB_FULL_VERSION)
|
|
||||||
TAR_BALL = $(TAR_NAME).tar.gz
|
|
||||||
|
|
||||||
all: spu_library ppu_library
|
|
||||||
|
|
||||||
spu_library:
|
|
||||||
cd spu; $(MAKE) $(MAKE_DEFS)
|
|
||||||
|
|
||||||
ppu_library:
|
|
||||||
cd ppu; $(MAKE) $(MAKE_DEFS)
|
|
||||||
|
|
||||||
install: common_install spu_install ppu_install
|
|
||||||
|
|
||||||
common_install:
|
|
||||||
cd common; $(MAKE) $(MAKE_DEFS) install
|
|
||||||
|
|
||||||
spu_install:
|
|
||||||
cd spu; $(MAKE) $(MAKE_DEFS) install
|
|
||||||
|
|
||||||
ppu_install:
|
|
||||||
cd ppu; $(MAKE) $(MAKE_DEFS) install
|
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
cd common; $(MAKE) $(MAKE_DEFS) clean
|
-@for _d in $(SUBDIRS); do $(MAKE) -C $$_d $@; done
|
||||||
cd spu; $(MAKE) $(MAKE_DEFS) clean
|
|
||||||
cd ppu; $(MAKE) $(MAKE_DEFS) clean
|
|
||||||
-rm -rf $(TAR_BALL) .dist
|
-rm -rf $(TAR_BALL) .dist
|
||||||
|
|
||||||
check: check_ppu check_spu
|
|
||||||
|
|
||||||
check_ppu:
|
|
||||||
cd ppu; $(MAKE) $(MAKE_DEFS) check
|
|
||||||
|
|
||||||
check_spu:
|
|
||||||
cd spu; $(MAKE) $(MAKE_DEFS) check
|
|
||||||
|
|
||||||
dist:
|
dist:
|
||||||
-rm -rf .dist
|
-rm -rf .dist
|
||||||
mkdir -p .dist/$(TAR_NAME)
|
mkdir -p .dist/$(TAR_NAME)
|
||||||
find . -name .dist -prune -o \
|
find . -name .dist -prune -o -name '*~' -prune -o \
|
||||||
-name .CVS -prune -o -name .svn -prune -o \
|
-name .CVS -prune -o -name .svn -prune -o \
|
||||||
-name .pc -prune -o -name patches -prune -o \
|
-name .pc -prune -o -name patches -prune -o \
|
||||||
'(' -name Makefile -o -name '*.[ch]' -o -name '*.spec' ')' \
|
'(' -name README -o -name LICENSE -o \
|
||||||
|
-name 'Make*' -o -name '*.[ch]' -o -name '*.spec' ')' \
|
||||||
-print | tar -T - -cf - | tar xf - -C .dist/$(TAR_NAME)
|
-print | tar -T - -cf - | tar xf - -C .dist/$(TAR_NAME)
|
||||||
tar zcf $(TAR_BALL) -C .dist $(TAR_NAME)
|
tar zcf $(TAR_BALL) -C .dist $(TAR_NAME)
|
||||||
-rm -rf .dist
|
-rm -rf .dist
|
||||||
|
|||||||
@@ -26,34 +26,22 @@
|
|||||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
# POSSIBILITY OF SUCH DAMAGE.
|
# POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
prefix = /usr
|
topdir = ..
|
||||||
prefix_ppu = $(prefix)
|
ARCH = unknown
|
||||||
prefix_spu = $(prefix)/spu
|
|
||||||
DESTDIR =
|
|
||||||
|
|
||||||
INSTALL = install
|
include $(topdir)/Make.defs
|
||||||
|
|
||||||
MAKE_DEFS = \
|
|
||||||
prefix='$(prefix)' \
|
|
||||||
prefix_ppu='$(prefix_ppu)' \
|
|
||||||
prefix_spu='$(prefix_spu)' \
|
|
||||||
DESTDIR='$(DESTDIR)' \
|
|
||||||
INSTALL='$(INSTALL)'
|
|
||||||
|
|
||||||
TARGET_PREFIX = $(prefix)
|
|
||||||
|
|
||||||
all:
|
all:
|
||||||
@true
|
@true
|
||||||
|
|
||||||
install:
|
install:
|
||||||
$(MAKE) $(MAKE_DEFS) TARGET_PREFIX=$(prefix_ppu) do_install
|
$(INSTALL) -m 755 -d $(DESTDIR)$(prefix)/include
|
||||||
$(MAKE) $(MAKE_DEFS) TARGET_PREFIX=$(prefix_spu) do_install
|
$(INSTALL) -m 755 -d $(DESTDIR)$(prefix)/include/simdmath
|
||||||
|
$(INSTALL) -m 644 simdmath.h $(DESTDIR)$(prefix)/include/
|
||||||
|
$(INSTALL) -m 644 simdmath/*.h $(DESTDIR)$(prefix)/include/simdmath/
|
||||||
|
|
||||||
do_install:
|
check:
|
||||||
$(INSTALL) -m 755 -d $(DESTDIR)$(TARGET_PREFIX)/include
|
@true
|
||||||
$(INSTALL) -m 755 -d $(DESTDIR)$(TARGET_PREFIX)/include/simdmath
|
|
||||||
$(INSTALL) -m 644 simdmath.h $(DESTDIR)$(TARGET_PREFIX)/include/
|
|
||||||
$(INSTALL) -m 644 simdmath/*.h $(DESTDIR)$(TARGET_PREFIX)/include/simdmath/
|
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
@true
|
@true
|
||||||
|
|||||||
@@ -26,14 +26,13 @@
|
|||||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
# POSSIBILITY OF SUCH DAMAGE.
|
# POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
topdir = ..
|
||||||
|
ARCH = ppu
|
||||||
|
|
||||||
|
include $(topdir)/Make.defs
|
||||||
|
|
||||||
# All that you do to add a file is edit OBJS, the rest will just work
|
# All that you do to add a file is edit OBJS, the rest will just work
|
||||||
|
|
||||||
prefix = /usr
|
|
||||||
prefix_ppu = $(prefix)
|
|
||||||
DESTDIR =
|
|
||||||
|
|
||||||
OBJS = fabsf4.o absi4.o truncf4.o sqrtf4.o tanf4.o \
|
OBJS = fabsf4.o absi4.o truncf4.o sqrtf4.o tanf4.o \
|
||||||
negatef4.o fmaf4.o copysignf4.o modff4.o \
|
negatef4.o fmaf4.o copysignf4.o modff4.o \
|
||||||
fmaxf4.o fminf4.o fdimf4.o sinf4.o asinf4.o \
|
fmaxf4.o fminf4.o fdimf4.o sinf4.o asinf4.o \
|
||||||
@@ -44,94 +43,10 @@ OBJS = fabsf4.o absi4.o truncf4.o sqrtf4.o tanf4.o \
|
|||||||
fmodf4.o negatei4.o exp2f4.o powf4.o atanf4.o \
|
fmodf4.o negatei4.o exp2f4.o powf4.o atanf4.o \
|
||||||
atan2f4.o acosf4.o
|
atan2f4.o acosf4.o
|
||||||
|
|
||||||
INCLUDES_PPU = -I. -I../common
|
include $(topdir)/Make.rules
|
||||||
|
|
||||||
ARCH_PPU = 32
|
|
||||||
CROSS_PPU =
|
|
||||||
AR_PPU = $(CROSS_PPU)ar
|
|
||||||
CC_PPU = $(CROSS_PPU)gcc
|
|
||||||
CXX_PPU = $(CROSS_PPU)g++
|
|
||||||
RANLIB_PPU = $(CROSS_PPU)ranlib
|
|
||||||
TEST_CMD_PPU =
|
|
||||||
|
|
||||||
ARCH_CFLAGS_PPU = -m$(ARCH_PPU) -maltivec -mabi=altivec
|
|
||||||
CFLAGS_PPU=$(INCLUDES_PPU) -O2 -W -Wall -std=gnu99 $(ARCH_CFLAGS_PPU) -fPIC
|
|
||||||
LDFLAGS_PPU = $(ARCH_CFLAGS_PPU)
|
|
||||||
|
|
||||||
INSTALL = install
|
|
||||||
|
|
||||||
MAKE_DEFS = \
|
|
||||||
prefix='$(prefix)' \
|
|
||||||
prefix_ppu='$(prefix_ppu)' \
|
|
||||||
DESTDIR='$(DESTDIR)' \
|
|
||||||
LIB_BASE='$(LIB_BASE)' \
|
|
||||||
LIB_NAME='$(LIB_NAME)' \
|
|
||||||
STATIC_LIB='$(STATIC_LIB)' \
|
|
||||||
SHARED_LIB='$(SHARED_LIB)' \
|
|
||||||
ARCH_PPU='$(ARCH_PPU)' \
|
|
||||||
ARCH_CFLAGS_PPU='$(ARCH_CFLAGS_PPU)' \
|
|
||||||
CROSS_PPU='$(CROSS_PPU)' \
|
|
||||||
AR_PPU='$(AR_PPU)' \
|
|
||||||
CC_PPU='$(CC_PPU)' \
|
|
||||||
CXX_PPU='$(CXX_PPU)' \
|
|
||||||
RANLIB_PPU='$(RANLIB_PPU)' \
|
|
||||||
TEST_CMD_PPU='$(TEST_CMD_PPU)' \
|
|
||||||
INSTALL='$(INSTALL)'
|
|
||||||
|
|
||||||
LIB_MAJOR_VERSION = 1
|
|
||||||
LIB_MINOR_VERSION = 0
|
|
||||||
LIB_RELEASE = 1
|
|
||||||
LIB_FULL_VERSION = $(LIB_MAJOR_VERSION).$(LIB_MINOR_VERSION).$(LIB_RELEASE)
|
|
||||||
|
|
||||||
LIB_BASE = simdmath
|
|
||||||
LIB_NAME = lib$(LIB_BASE)
|
|
||||||
STATIC_LIB = $(LIB_NAME).a
|
|
||||||
SHARED_LIB = $(LIB_NAME).so
|
|
||||||
SHARED_LIB_SONAME = $(SHARED_LIB).$(LIB_MAJOR_VERSION)
|
|
||||||
SHARED_LIB_FULL = $(SHARED_LIB).$(LIB_FULL_VERSION)
|
|
||||||
|
|
||||||
ALL_LIBS = $(STATIC_LIB) $(SHARED_LIB) $(SHARED_LIB_FULL) $(SHARED_LIB_SONAME)
|
|
||||||
|
|
||||||
all: $(ALL_LIBS)
|
|
||||||
|
|
||||||
static: $(STATIC_LIB)
|
|
||||||
|
|
||||||
shared: $(SHARED_LIB)
|
|
||||||
|
|
||||||
$(STATIC_LIB): $(OBJS)
|
|
||||||
$(AR_PPU) cr $@ $(OBJS)
|
|
||||||
$(RANLIB_PPU) $@
|
|
||||||
|
|
||||||
$(SHARED_LIB_FULL): $(OBJS)
|
|
||||||
$(CC_PPU) -shared $(OBJS) -o $@ $(LDFLAGS_PPU) -Wl,-h,$(SHARED_LIB_SONAME)
|
|
||||||
|
|
||||||
$(SHARED_LIB) $(SHARED_LIB_SONAME): $(SHARED_LIB_FULL)
|
|
||||||
ln -fs $(SHARED_LIB_FULL) $@
|
|
||||||
|
|
||||||
install: $(ALL_LIBS)
|
|
||||||
$(INSTALL) -m 755 -d $(DESTDIR)$(prefix_ppu)/include
|
|
||||||
$(INSTALL) -m 755 -d $(DESTDIR)$(prefix_ppu)/include/simdmath
|
|
||||||
$(INSTALL) -m 644 simdmath/*.h $(DESTDIR)$(prefix_ppu)/include/simdmath/
|
|
||||||
$(INSTALL) -m 755 -d $(DESTDIR)$(prefix_ppu)/lib
|
|
||||||
$(INSTALL) -m 644 $(STATIC_LIB) $(DESTDIR)$(prefix_ppu)/lib/$(STATIC_LIB)
|
|
||||||
$(INSTALL) -m 755 $(SHARED_LIB_FULL) $(DESTDIR)$(prefix_ppu)/lib/$(SHARED_LIB_FULL)
|
|
||||||
ln -fs $(SHARED_LIB_FULL) $(DESTDIR)$(prefix_ppu)/lib/$(SHARED_LIB_SONAME)
|
|
||||||
ln -fs $(SHARED_LIB_SONAME) $(DESTDIR)$(prefix_ppu)/lib/$(SHARED_LIB)
|
|
||||||
|
|
||||||
clean:
|
|
||||||
cd tests; $(MAKE) $(MAKE_DEFS) clean
|
|
||||||
rm -f $(OBJS)
|
|
||||||
rm -f $(STATIC_LIB) $(SHARED_LIB) $(SHARED_LIB_SONAME) $(SHARED_LIB_FULL)
|
|
||||||
|
|
||||||
$(OBJS): ../common/simdmath.h simdmath/_vec_utils.h
|
$(OBJS): ../common/simdmath.h simdmath/_vec_utils.h
|
||||||
|
|
||||||
check: $(ALL_LIBS)
|
|
||||||
cd tests; $(MAKE) $(MAKE_DEFS) all; $(MAKE) $(MAKE_DEFS) check
|
|
||||||
|
|
||||||
|
|
||||||
# Some Objects have special header files.
|
# Some Objects have special header files.
|
||||||
sinf4.o cosf4.o sincosf4.o tanf4.o: ../common/simdmath/_sincos.h
|
sinf4.o cosf4.o sincosf4.o tanf4.o: ../common/simdmath/_sincos.h
|
||||||
|
|
||||||
|
|
||||||
%.o: ../common/%.c simdmath/%.h
|
|
||||||
$(CC_PPU) $(CFLAGS_PPU) -c $<
|
|
||||||
|
|||||||
@@ -26,93 +26,16 @@
|
|||||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
# POSSIBILITY OF SUCH DAMAGE.
|
# POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
topdir = ../..
|
||||||
|
ARCH = ppu
|
||||||
|
|
||||||
|
include $(topdir)/Make.defs
|
||||||
|
|
||||||
TESTS = fabsf4 absi4 truncf4 sqrtf4 negatef4 \
|
TESTS = fabsf4 absi4 truncf4 sqrtf4 negatef4 \
|
||||||
copysignf4 modff4 fminf4_fmaxf4 \
|
copysignf4 modff4 fminf4_fmaxf4 \
|
||||||
floorf4 recipf4 ceilf4 divf4 divi4 \
|
floorf4 recipf4 ceilf4 divf4 divi4 \
|
||||||
rsqrtf4 fmodf4 negatei4
|
rsqrtf4 fmodf4 negatei4
|
||||||
|
|
||||||
STATIC_TESTS = $(TESTS)
|
OBJS = testutils.o
|
||||||
SHARED_TESTS = $(TESTS:=.shared)
|
|
||||||
ALL_TESTS = $(STATIC_TESTS) $(SHARED_TESTS)
|
|
||||||
|
|
||||||
INCLUDES_PPU = -I../../common
|
include $(topdir)/Make.test
|
||||||
|
|
||||||
ARCH_PPU = 32
|
|
||||||
CROSS_PPU =
|
|
||||||
AR_PPU = $(CROSS_PPU)ar
|
|
||||||
CC_PPU = $(CROSS_PPU)gcc
|
|
||||||
CXX_PPU = $(CROSS_PPU)g++
|
|
||||||
TEST_CMD_PPU =
|
|
||||||
|
|
||||||
ARCH_CFLAGS_PPU = -m$(ARCH_PPU) -maltivec -mabi=altivec
|
|
||||||
CFLAGS_PPU = $(INCLUDES_PPU) -O2 -W -Wall $(ARCH_CFLAGS_PPU)
|
|
||||||
STATIC_LDFLAGS_PPU = -static
|
|
||||||
SHARED_LDFLAGS_PPU = -Wl,-rpath=..
|
|
||||||
LDFLAGS_PPU = $(ARCH_CFLAGS_PPU) -L../ -l$(LIB_BASE) -lm
|
|
||||||
|
|
||||||
MAKE_DEFS = \
|
|
||||||
LIB_BASE='$(LIB_BASE)' \
|
|
||||||
LIB_NAME='$(LIB_NAME)' \
|
|
||||||
STATIC_LIB='$(STATIC_LIB)' \
|
|
||||||
SHARED_LIB='$(SHARED_LIB)' \
|
|
||||||
ARCH_PPU='$(ARCH_PPU)' \
|
|
||||||
ARCH_CFLAGS_PPU='$(ARCH_CFLAGS_PPU)' \
|
|
||||||
CROSS_PPU='$(CROSS_PPU)' \
|
|
||||||
AR_PPU='$(AR_PPU)' \
|
|
||||||
CC_PPU='$(CC_PPU)' \
|
|
||||||
CXX_PPU='$(CXX_PPU)' \
|
|
||||||
TEST_CMD_PPU='$(TEST_CMD_PPU)'
|
|
||||||
|
|
||||||
LIB_BASE = simdmath
|
|
||||||
LIB_NAME = lib$(LIB_BASE)
|
|
||||||
STATIC_LIB = $(LIB_NAME).a
|
|
||||||
SHARED_LIB = $(LIB_NAME).so
|
|
||||||
|
|
||||||
TEST_CMD = $(TEST_CMD_PPU)
|
|
||||||
|
|
||||||
COMMON_OBJS = testutils.o
|
|
||||||
|
|
||||||
|
|
||||||
all: $(ALL_TESTS)
|
|
||||||
|
|
||||||
|
|
||||||
$(STATIC_TESTS): %: %.o ../$(STATIC_LIB) $(COMMON_OBJS)
|
|
||||||
$(CC_PPU) $*.o $(COMMON_OBJS) $(LDFLAGS_PPU) $(STATIC_LDFLAGS_PPU) -o $@
|
|
||||||
|
|
||||||
$(SHARED_TESTS): %.shared: %.o ../$(SHARED_LIB) $(COMMON_OBJS)
|
|
||||||
$(CC_PPU) $*.o $(COMMON_OBJS) $(LDFLAGS_PPU) $(SHARED_LDFLAGS_PPU) -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) $(MAKE_DEFS) ALL_TESTS="$(STATIC_TESTS)" check
|
|
||||||
|
|
||||||
shared_check:
|
|
||||||
$(MAKE) $(MAKE_DEFS) ALL_TESTS="$(SHARED_TESTS)" check
|
|
||||||
|
|
||||||
../$(STATIC_LIB):
|
|
||||||
cd ../;$(MAKE) $(MAKE_DEFS) $(STATIC_LIB)
|
|
||||||
|
|
||||||
../$(SHARED_LIB):
|
|
||||||
cd ../;$(MAKE) $(MAKE_DEFS) $(SHARED_LIB)
|
|
||||||
|
|
||||||
%.o: %.c ../../common/common-test.h testutils.h
|
|
||||||
$(CC_PPU) $(CFLAGS_PPU) -c $<
|
|
||||||
|
|
||||||
%.o: %.cc
|
|
||||||
$(CXX_PPU) $(CFLAGS_PPU) -c $<
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
%define lib_version 1.0.1
|
%define lib_version 1.0.2
|
||||||
|
|
||||||
Summary: SIMD math library.
|
Summary: SIMD math library.
|
||||||
Name: simdmath
|
Name: simdmath
|
||||||
@@ -9,14 +9,18 @@ Group: System Environment/Libraries
|
|||||||
Source0: %{name}-%{version}.tar.gz
|
Source0: %{name}-%{version}.tar.gz
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
|
||||||
|
|
||||||
|
%define _enable_spu 0
|
||||||
|
|
||||||
%ifarch ppc
|
%ifarch ppc
|
||||||
%define _arch 32
|
%define _arch ppu
|
||||||
%define _libdir %{_exec_prefix}/lib
|
%define _libdir %{_exec_prefix}/lib
|
||||||
|
%define _enable_spu 1
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%ifarch ppc64
|
%ifarch ppc64
|
||||||
%define _arch 64
|
%define _arch ppu64
|
||||||
%define _libdir %{_exec_prefix}/lib64
|
%define _libdir %{_exec_prefix}/lib64
|
||||||
|
%define _enable_spu 1
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%define _spe_prefix %{_prefix}/spu
|
%define _spe_prefix %{_prefix}/spu
|
||||||
@@ -31,9 +35,11 @@ Summary: SIMD math library.
|
|||||||
Group: Development/Libraries
|
Group: Development/Libraries
|
||||||
Requires: %{name} = %{version}
|
Requires: %{name} = %{version}
|
||||||
|
|
||||||
|
%if %{_enable_spu}
|
||||||
%package -n spu-%{name}-devel
|
%package -n spu-%{name}-devel
|
||||||
Summary: SIMD math library.
|
Summary: SIMD math library.
|
||||||
Group: Development/Libraries
|
Group: Development/Libraries
|
||||||
|
%endif
|
||||||
|
|
||||||
%description
|
%description
|
||||||
SIMD math library.
|
SIMD math library.
|
||||||
@@ -41,31 +47,45 @@ SIMD math library.
|
|||||||
%description -n %{name}-devel
|
%description -n %{name}-devel
|
||||||
SIMD math library.
|
SIMD math library.
|
||||||
|
|
||||||
|
%if %{_enable_spu}
|
||||||
%description -n spu-%{name}-devel
|
%description -n spu-%{name}-devel
|
||||||
SIMD math library.
|
SIMD math library.
|
||||||
|
%endif
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
|
|
||||||
%build
|
%build
|
||||||
|
|
||||||
make CROSS_PPU= ARCH_PPU=%{_arch}
|
make ARCH=%{_arch}
|
||||||
|
|
||||||
|
%if %{_enable_spu}
|
||||||
|
make ARCH=spu
|
||||||
|
%endif
|
||||||
|
|
||||||
%install
|
%install
|
||||||
rm -rf %{buildroot}
|
rm -rf %{buildroot}
|
||||||
|
|
||||||
make CROSS_PPU= ARCH_PPU=%{_arch} DESTDIR=%{buildroot} install
|
make ARCH=%{_arch} DESTDIR=%{buildroot} install
|
||||||
|
|
||||||
|
%if %{_enable_spu}
|
||||||
|
make ARCH=spu DESTDIR=%{buildroot} install
|
||||||
|
%endif
|
||||||
|
|
||||||
if [ "%{_libdir}" != /usr/lib ]; then
|
if [ "%{_libdir}" != /usr/lib ]; then
|
||||||
mv %{buildroot}/usr/lib %{buildroot}%{_libdir}
|
mv %{buildroot}/usr/lib %{buildroot}%{_libdir}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
mkdir -p %{buildroot}/%{_docdir}/%{name}-%{version}
|
||||||
|
cp README LICENSE %{buildroot}/%{_docdir}/%{name}-%{version}/
|
||||||
|
|
||||||
%clean
|
%clean
|
||||||
rm -rf %{buildroot}
|
rm -rf %{buildroot}
|
||||||
|
|
||||||
%files
|
%files
|
||||||
%defattr(-,root,root,-)
|
%defattr(-,root,root,-)
|
||||||
%{_libdir}/*.so.*
|
%{_libdir}/*.so.*
|
||||||
|
%{_docdir}/*
|
||||||
|
|
||||||
%files -n %{name}-devel
|
%files -n %{name}-devel
|
||||||
%defattr(-,root,root,-)
|
%defattr(-,root,root,-)
|
||||||
@@ -73,12 +93,16 @@ rm -rf %{buildroot}
|
|||||||
%{_libdir}/*.a
|
%{_libdir}/*.a
|
||||||
%{_libdir}/*.so
|
%{_libdir}/*.so
|
||||||
|
|
||||||
|
%if %{_enable_spu}
|
||||||
%files -n spu-%{name}-devel
|
%files -n spu-%{name}-devel
|
||||||
%defattr(-,root,root,-)
|
%defattr(-,root,root,-)
|
||||||
%{_spe_includedir}/*
|
%{_spe_includedir}/*
|
||||||
%{_spe_libdir}/*
|
%{_spe_libdir}/*
|
||||||
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
* Fri Aug 25 2006 Kazunori Asayama <asayama@sm.sony.co.jp> -
|
* Thu Aug 9 2007 Kazunori Asayama <asayama@sm.sony.co.jp> - 1.0.1-2
|
||||||
- Initial build.
|
- Add documents.
|
||||||
|
|
||||||
|
* Fri Aug 25 2006 Kazunori Asayama <asayama@sm.sony.co.jp> - 1.0.1-1
|
||||||
|
- Initial build.
|
||||||
|
|||||||
@@ -26,13 +26,13 @@
|
|||||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
# POSSIBILITY OF SUCH DAMAGE.
|
# 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
|
# 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 \
|
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 \
|
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 \
|
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\
|
ceild2.o floord2.o ldexpd2.o scalbnf4.o scalbllnd2.o lldivi2.o remquof4.o remquod2.o\
|
||||||
fmodd2.o remainderd2.o
|
fmodd2.o remainderd2.o
|
||||||
|
|
||||||
|
include $(topdir)/Make.rules
|
||||||
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)
|
|
||||||
|
|
||||||
$(OBJS): ../common/simdmath.h
|
$(OBJS): ../common/simdmath.h
|
||||||
|
|
||||||
check: $(STATIC_LIB)
|
|
||||||
cd tests; $(MAKE) $(MAKE_DEFS); $(MAKE) $(MAKE_DEFS) check
|
|
||||||
|
|
||||||
|
|
||||||
# Some Objects have special header files.
|
# Some Objects have special header files.
|
||||||
sinf4.o sind2.o sincosf4.o cosd2.o: ../common/simdmath/_sincos.h
|
sinf4.o sind2.o sincosf4.o cosd2.o: ../common/simdmath/_sincos.h
|
||||||
lldivu2.o lldivi2.o : simdmath/_lldiv.h
|
lldivu2.o lldivi2.o : simdmath/_lldiv.h
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
%.o: ../common/%.c simdmath/%.h
|
|
||||||
$(CC_SPU) $(CFLAGS_SPU) -c $<
|
|
||||||
|
|||||||
@@ -26,6 +26,11 @@
|
|||||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
# POSSIBILITY OF SUCH DAMAGE.
|
# POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
topdir = ../..
|
||||||
|
ARCH = spu
|
||||||
|
|
||||||
|
include $(topdir)/Make.defs
|
||||||
|
|
||||||
TESTS = fabsd2 fabsf4 truncf4 divf4 recipd2 divd2 sqrtf4 \
|
TESTS = fabsd2 fabsf4 truncf4 divf4 recipd2 divd2 sqrtf4 \
|
||||||
absi4 sqrtd2 rsqrtf4 rsqrtd2 copysignf4 remainderf4 \
|
absi4 sqrtd2 rsqrtf4 rsqrtd2 copysignf4 remainderf4 \
|
||||||
recipf4 copysignd2 negatef4 negated2 modff4 ceilf4 \
|
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 \
|
lldivu2 ceild2 floord2 ldexpd2 ilogbd2 ilogbf4 logbf4 logbd2 scalbnf4 \
|
||||||
scalbllnd2 lldivi2 frexpf4 frexpd2 remquof4 remquod2 fmodd2 remainderd2
|
scalbllnd2 lldivi2 frexpf4 frexpd2 remquof4 remquod2 fmodd2 remainderd2
|
||||||
|
|
||||||
|
OBJS = testutils.o
|
||||||
|
|
||||||
ALL_TESTS = $(TESTS)
|
include $(topdir)/Make.test
|
||||||
|
|
||||||
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 $<
|
|
||||||
|
|||||||
Reference in New Issue
Block a user