3ae81a5285
Sick of waiting for make to traverse all of those directories when you only modified one little file? Well, enough of that nonsense! Doing "make quicky=dir" (e.g. "make quicky=source/blender/src") goes to that directory, compiles the stuff in there (and the subdirectories), then instantly links blender afterwards. Also has support for more than one directory using quotes, e.g., 1 dir: make quicky=source/blender/src 2 dirs: make quicky="source/blender/src source/blender/blenkernel"
73 lines
2.1 KiB
Makefile
73 lines
2.1 KiB
Makefile
#
|
|
# $Id$
|
|
#
|
|
# ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
|
|
#
|
|
# This program is free software; you can redistribute it and/or
|
|
# modify it under the terms of the GNU General Public License
|
|
# as published by the Free Software Foundation; either version 2
|
|
# of the License, or (at your option) any later version. The Blender
|
|
# Foundation also sells licenses for use in proprietary software under
|
|
# the Blender License. See http://www.blender.org/BL/ for information
|
|
# about this.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program; if not, write to the Free Software Foundation,
|
|
# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
#
|
|
# The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
|
|
# All rights reserved.
|
|
#
|
|
# The Original Code is: all of this file.
|
|
#
|
|
# Contributor(s): none yet.
|
|
#
|
|
# ***** END GPL/BL DUAL LICENSE BLOCK *****
|
|
#
|
|
# Bounce make to subdirectories.
|
|
# Set DIRS, SOURCEDIR. Optionally also reacts on DIR, TESTDIRS.
|
|
#
|
|
|
|
default: all
|
|
|
|
# do not add install here. install target can only be used in intern/
|
|
# top level Makefiles
|
|
all debug clean::
|
|
ifdef quicky
|
|
@for i in $(quicky); do \
|
|
echo "====> $(MAKE) $@ in $$i";\
|
|
$(MAKE) -C $$i $@ quicky= || exit 1;\
|
|
done
|
|
$(MAKE) -C source link || exit 1
|
|
@echo "${quicky}"
|
|
else
|
|
ifdef DIR
|
|
@# Make sure object toplevels are there
|
|
@[ -d $(NAN_OBJDIR) ] || mkdir $(NAN_OBJDIR)
|
|
@[ -d $(LCGDIR) ] || mkdir $(LCGDIR)
|
|
@[ -d $(OCGDIR) ] || mkdir $(OCGDIR)
|
|
@[ -d $(OCGDIR)/intern ] || mkdir $(OCGDIR)/intern
|
|
@[ -d $(OCGDIR)/extern ] || mkdir $(OCGDIR)/extern
|
|
@# Create object directory
|
|
@[ -d $(DIR) ] || mkdir $(DIR)
|
|
endif
|
|
@for i in $(DIRS); do \
|
|
echo "====> $(MAKE) $@ in $(SOURCEDIR)/$$i" ;\
|
|
$(MAKE) -C $$i $@ || exit 1; \
|
|
done
|
|
endif
|
|
|
|
test::
|
|
ifdef TESTDIRS
|
|
@for i in $(TESTDIRS); do \
|
|
echo "====> $(MAKE) $@ in $(SOURCEDIR)/$$i" ;\
|
|
$(MAKE) -C $$i $@ || exit 1; \
|
|
done
|
|
endif
|
|
|