extend clean target for qhull and solid
[blender.git] / extern / Makefile
1 #
2 # $Id$
3 #
4 # ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
5 #
6 # This program is free software; you can redistribute it and/or
7 # modify it under the terms of the GNU General Public License
8 # as published by the Free Software Foundation; either version 2
9 # of the License, or (at your option) any later version. The Blender
10 # Foundation also sells licenses for use in proprietary software under
11 # the Blender License.  See http://www.blender.org/BL/ for information
12 # about this.
13 #
14 # This program is distributed in the hope that it will be useful,
15 # but WITHOUT ANY WARRANTY; without even the implied warranty of
16 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17 # GNU General Public License for more details.
18 #
19 # You should have received a copy of the GNU General Public License
20 # along with this program; if not, write to the Free Software Foundation,
21 # Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
22 #
23 # The Original Code is Copyright (C) 2002 by Hans Lambermont
24 # All rights reserved.
25 #
26 # The Original Code is: all of this file.
27 #
28 # Contributor(s): none yet.
29 #
30 # ***** END GPL/BL DUAL LICENSE BLOCK *****
31 # Bounces make to subdirectories. Also installs after succesful all target.
32
33 include nan_definitions.mk
34
35 SOURCEDIR = extern
36 DIR = $(OCGDIR)/extern
37 DIRS = ode
38
39 TARGET =
40 ifneq ($(OS),irix)
41   TARGET=solid
42 endif
43
44 include nan_subdirs.mk
45
46 .PHONY: qhull solid solid_with_qhull
47
48 # we're not quite ready with the 'all' target just yet:
49 install all:: $(TARGET)
50         @for i in $(DIRS); do \
51             echo "====> $(MAKE) install in $(SOURCEDIR)/$$i" ;\
52             $(MAKE) -C $$i install || exit 1; \
53         done
54
55 clean::
56         cd qhull/src && $(MAKE) -f Makefile.txt clean
57         cd solid && ( [ ! -f Makefile ] || $(MAKE) clean )
58
59 # challenge: fix the example linking problems with this (until then
60 # we must use solid without qhull, which is the next target).
61 solid_with_qhull:
62         cd solid \
63             && ./configure --with-pic --prefix=$(NAN_SOLID) --enable-doubles=yes \
64                 CPPFLAGS="-I$(NAN_QHULL)/include" \
65                 LDFLAGS="-Wl,--rpath -Wl,$(NAN_QHULL)/lib" \
66             && $(MAKE) all install
67
68 solid: qhull
69         cd solid \
70             && ./configure --with-pic --prefix=$(NAN_SOLID) --enable-doubles=yes --with-qhull=$(NAN_QHULL) --enable-shared=false \
71             && $(MAKE) all install
72 qhull:
73         cd qhull/src && $(MAKE) -f Makefile.txt all
74         @[ -d $(NAN_QHULL) ] || mkdir $(NAN_QHULL)
75         @[ -d $(NAN_QHULL)/include ] || mkdir $(NAN_QHULL)/include
76         @[ -d $(NAN_QHULL)/lib ] || mkdir $(NAN_QHULL)/lib
77         @[ -L $(NAN_QHULL)/include/qhull ] || ln -s . $(NAN_QHULL)/include/qhull
78         @../intern/tools/cpifdiff.sh qhull/src/*.h $(NAN_QHULL)/include/
79         @../intern/tools/cpifdiff.sh qhull/src/libqhull.a $(NAN_QHULL)/lib/
80