head	2.3;
access;
symbols;
locks; strict;
comment	@# @;


2.3
date	2011.04.29.07.48.22;	author cal103;	state Exp;
branches;
next	2.2;

2.2
date	2011.04.28.02.42.07;	author cal103;	state Exp;
branches;
next	2.1;

2.1
date	2007.06.04.06.51.00;	author cal103;	state Exp;
branches;
next	2.0;

2.0
date	2002.12.23.23.03.00;	author cal103;	state Exp;
branches;
next	;


desc
@source/lib/makefiles/generic/Master
@


2.3
log
@Make shared-objects first when compiling for MltibeamVis/View because
they're going into libkarma.a.  Otherwise make them last because they
need to link to the karma libraries, at least in Darwin.
@
text
@# $Id: Master,v 2.2 2011/04/28 02:42:07 cal103 Exp cal103 $

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*.*
@


2.2
log
@Worked over to make both it, and the build log more readable.
@
text
@d1 1
a1 1
# $Id: Master,v 2.1 2007/06/04 06:51:00 cal103 Exp cal103 $
d11 9
a19 2
dirs = shared-objects karma karmaX11 karmaXt karmagraphics karmawidgets \
       karmaxview
@


2.1
log
@For linking MultibeamVis/View statically for Livedata, shared-objects
needs to be compiled first since they go directly into libkarma.a.
Also, don't automatically delete older versions of sharable libraries.
@
text
@d1 3
a3 1
# $Id$
d6 1
a6 1
POPT = -j $(PARALLEL)
d9 22
a30 18
args = --no-print-directory

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

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

depend:
	@@for i in * ;\
	do if [ -r $$i/GNUmakefile ]; then \
		(echo "Depending in $$i"; cd $$i; gmake $(args) depend); \
	fi; done
d32 2
a33 2
distclean:
	rm -f */*.o libkarma*.*
@


2.0
log
@Initial revision from Karma 1.7.20.
@
text
@d1 2
d11 2
a12 2
dirs =	karma karmaX11 karmaXt karmagraphics karmawidgets karmaxview \
	shared-objects
a17 3
		if [ -r "$(KARMALIBPATH)/lib$$i.so.$(KARMA_VERSION)" ]; then \
			remove_oldlibs $$i; \
		fi; \
a18 1
	-remove_oldlibs
@
