1 # Makefile for vector math library.
3 # Copyright (C) 2006, 2007 Sony Computer Entertainment Inc.
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.
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.
32 # Nothing to do (The all of the library is implemented as inline).
36 # To install the library:
38 # make ARCH=<ARCHITECTURE> install
40 # where <ARCHITECTURE> must be one of:
47 # e.g.) make ARCH=cell install
56 ARCH_INSTALL= $(ARCH_INSTALL_$(ARCH))
57 ARCH_CHECK= $(ARCH_CHECK_$(ARCH))
59 prefix = $(if $(prefix_$(ARCH)),$(prefix_$(ARCH)),/usr)
69 LIB_FULL_VERSION = $(LIB_MAJOR_VERSION).$(LIB_MINOR_VERSION).$(LIB_RELEASE)
73 TAR_NAME = $(LIB_BASE)-$(LIB_FULL_VERSION)
74 TAR_BALL = $(TAR_NAME).tar.gz
80 $(INSTALL) -m 755 -d $(DESTDIR)$(prefix)/include/vectormath/c
81 $(INSTALL) -m 755 -d $(DESTDIR)$(prefix)/include/vectormath/cpp
82 $(INSTALL) -m 644 include/vectormath/c/*.h $(DESTDIR)$(prefix)/include/vectormath/c/
83 $(INSTALL) -m 644 include/vectormath/cpp/*.h $(DESTDIR)$(prefix)/include/vectormath/cpp/
84 $(INSTALL) -m 755 -d $(DESTDIR)$(prefix)/include/vectormath/cpp
85 for _d in $(ARCH_DIRS) $(COMMON_DIRS); do \
86 if test -d include/vectormath/$$_d/c; then \
87 $(INSTALL) -m 755 -d $(DESTDIR)$(prefix)/include/vectormath/$$_d/c && \
88 $(INSTALL) -m 644 include/vectormath/$$_d/c/*.h \
89 $(DESTDIR)$(prefix)/include/vectormath/$$_d/c/ || exit 1; \
91 if test -d include/vectormath/$$_d/cpp; then \
92 $(INSTALL) -m 755 -d $(DESTDIR)$(prefix)/include/vectormath/$$_d/cpp && \
93 $(INSTALL) -m 644 include/vectormath/$$_d/cpp/*.h \
94 $(DESTDIR)$(prefix)/include/vectormath/$$_d/cpp/ || exit 1; \
99 $(MAKE) -C tests ARCH=$(ARCH) check
102 $(MAKE) -C tests clean
106 $(MAKE) -C tests distclean
110 mkdir -p .dist/$(TAR_NAME)
111 find . -name .dist -prune -o \
112 -name .CVS -prune -o -name .svn -prune -o \
113 -name .pc -prune -o -name patches -prune -o \
114 '(' -name README -o -name LICENSE -o \
115 -name Makefile -o -name '*.[ch]' -o -name '*.cpp' -o \
116 -name '*.pl' -o -name '*.txt' -o -name '*.pdf' -o -name '*.spec' ')' \
117 -print | tar -T - -cf - | tar xf - -C .dist/$(TAR_NAME)
118 tar zcf $(TAR_BALL) -C .dist $(TAR_NAME)