# $Id: Master,v 2.3 2011/04/29 07:48:22 cal103 Exp $

args := --no-print-directory

ifdef PARALLEL
  args += -j $(PARALLEL)
endif

# Directories need to be built in a defined sequence.  Can't rely on shell
# expansion rules, because the stupid bastards have changed it.
dirs := karma karmaX11 karmaXt karmagraphics karmawidgets karmaxview

ifdef MAKE_MULTIBEAMVIS
  # Make shared-objects first because they're going into libkarma.a.
  dirs := shared-objects $(dirs)
else
  # Make shared-objects last because they need to link to libkarma.{so,dylib}.
  dirs := $(dirs) shared-objects
endif

all :
	 @ for i in $(dirs); do \
	     if [ -r $$i/GNUmakefile ]; then \
	       echo ''; \
	       echo "Making in $$i"; \
	       gmake -C $$i $(args); \
	     fi; \
	   done

depend :
	 @ for i in *; do \
	     if [ -r $$i/GNUmakefile ]; then \
	       echo ''; \
	       echo "Depending in $$i"; \
	       gmake -C $$i $(args) depend; \
	     fi; \
	   done

distclean :
	-@ $(RM) */*.o libkarma*.*
