svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r22205:22290
[blender.git] / source / nan_subdirs.mk
1 # -*- mode: gnumakefile; tab-width: 8; indent-tabs-mode: t; -*-
2 # vim: tabstop=8
3 #
4 # $Id$
5 #
6 # ***** BEGIN GPL LICENSE BLOCK *****
7 #
8 # This program is free software; you can redistribute it and/or
9 # modify it under the terms of the GNU General Public License
10 # as published by the Free Software Foundation; either version 2
11 # of the License, or (at your option) any later version.
12 #
13 # This program is distributed in the hope that it will be useful,
14 # but WITHOUT ANY WARRANTY; without even the implied warranty of
15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16 # GNU General Public License for more details.
17 #
18 # You should have received a copy of the GNU General Public License
19 # along with this program; if not, write to the Free Software Foundation,
20 # Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
21 #
22 # The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
23 # All rights reserved.
24 #
25 # The Original Code is: all of this file.
26 #
27 # Contributor(s): GSR
28 #
29 # ***** END GPL LICENSE BLOCK *****
30 #
31 # Bounce make to subdirectories.
32 # Set DIRS, SOURCEDIR. Optionally also reacts on DIR, TESTDIRS.
33 #
34
35 default: all
36
37 # do not add install here. install target can only be used in intern/
38 # top level Makefiles
39 all debug clean::
40 ifdef quicky
41         @for i in $(quicky); do \
42            echo "====> $(MAKE) $@ in $$i";\
43            $(MAKE) -C $$i $@ quicky= || exit 1;\
44         done
45         $(MAKE) -C source link || exit 1
46         @echo "${quicky}"
47 else
48     ifdef DIR
49         @# Make sure object toplevels are there
50         @[ -d $(NAN_OBJDIR) ] || mkdir -p $(NAN_OBJDIR)
51         @[ -d $(LCGDIR) ] || mkdir -p $(LCGDIR)
52         @[ -d $(OCGDIR) ] || mkdir -p $(OCGDIR)
53         @[ -d $(OCGDIR)/intern ] || mkdir -p $(OCGDIR)/intern
54         @[ -d $(OCGDIR)/extern ] || mkdir -p $(OCGDIR)/extern
55         @# Create object directory
56         @[ -d $(DIR) ] || mkdir -p $(DIR)
57     endif
58     ifdef SOURCEDIR
59         @for i in $(DIRS); do \
60             echo "====> $(MAKE) $@ in $(SOURCEDIR)/$$i" ;\
61             $(MAKE) -C $$i $@ || exit 1; \
62         done
63     else
64         @for i in $(DIRS); do \
65             echo "====> $(MAKE) $@ in $$i" ;\
66             $(MAKE) -C $$i $@ || exit 1; \
67         done
68     endif
69 endif
70
71 test::
72     ifdef TESTDIRS
73         @for i in $(TESTDIRS); do \
74             echo "====> $(MAKE) $@ in $(SOURCEDIR)/$$i" ;\
75             $(MAKE) -C $$i $@ || exit 1; \
76         done
77     endif
78