# Variables substituted by the autoconf configure script:

SHELL = @SHELL@

CC = @CC@
CFLAGS = @CFLAGS@
CPPFLAGS = @CPPFLAGS@
DEFS = @DEFS@
LDFLAGS = @LDFLAGS@
LIBS = @LIBS@
RANLIB = @RANLIB@
@SET_MAKE@

package = mpb
distdir = $(package)-@MPB_VERSION@

# Subdirectories to make in:

LIBSUBDIRS = src/util src/matrices src/maxwell src/matrixio
INSTALLSUBDIRS = mpb-ctl utils
CHECKSUBDIRS = tests mpb-ctl
SUBDIRS = $(LIBSUBDIRS) tests $(INSTALLSUBDIRS)

all: all-recursive

libs: libs-recursive

check: check-recursive
	@echo "**********************************************************"
	@echo "                   MPB PASSED all tests."
	@echo "**********************************************************"

install: install-recursive

dist:
	cvs export -D now -d $(distdir) $(package)
	cp config.guess config.sub $(distdir)
	cp install-sh $(distdir)
	pushd $(distdir) && autoheader && autoconf && popd
	rm -f $(distdir).tar.gz
	GZIP="--best" tar chozf $(distdir).tar.gz $(distdir)
	rm -rf $(distdir)

snapshot:
	ss_vers=`date +"%Y%m%d"` && \
	ss_dir=$(package)-$$ss_vers && \
	cvs export -D now -d $$ss_dir $(package) && \
	cp config.guess config.sub $$ss_dir && \
	cp install-sh $$ss_dir && \
	(sed "s/VERSION=@MPB_VERSION@/VERSION=$$ss_vers/" $$ss_dir/configure.ac > $$ss_dir/configure.ac.ss) && \
	mv -f $$ss_dir/configure.ac.ss $$ss_dir/configure.ac && \
	pushd $$ss_dir && autoheader && autoconf && popd && \
	rm -f $$ss_dir".tar.gz" && \
	GZIP="--best" tar chozf $$ss_dir".tar.gz" $$ss_dir && \
	rm -rf $$ss_dir

clean: clean-recursive
	rm -f core

distclean: clean
	@list='$(SUBDIRS)'; for subdir in $$list; do \
	  echo "rm -f $$subdir/Makefile"; rm -f $$subdir/Makefile; done
	rm -f config.cache Makefile src/config.h config.log config.status \
              mpb-ctl/mpb.scm

maintainer-clean: distclean
	rm -f configure

# Recursive makes in subdirectories:
# (borrowed from automake)

all-recursive clean-recursive:
	@set fnord $(MAKEFLAGS); amf=$$2; \
	list='$(SUBDIRS)'; for subdir in $$list; do \
          target=`echo $@ | sed s/-recursive//`; \
          echo "Making $$target in $$subdir"; \
          (cd $$subdir && $(MAKE) $$target) \
           || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
        done && test -z "$$fail"

libs-recursive:
	@set fnord $(MAKEFLAGS); amf=$$2; \
	list='$(LIBSUBDIRS)'; for subdir in $$list; do \
          target=`echo $@ | sed s/-recursive//`; \
          echo "Making $$target in $$subdir"; \
          (cd $$subdir && $(MAKE) $$target) \
           || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
        done && test -z "$$fail"

check-recursive:
	@set fnord $(MAKEFLAGS); amf=$$2; \
	list='$(CHECKSUBDIRS)'; for subdir in $$list; do \
          target=`echo $@ | sed s/-recursive//`; \
          echo "Making $$target in $$subdir"; \
          (cd $$subdir && $(MAKE) $$target) \
           || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
        done && test -z "$$fail"

install-recursive:
	@set fnord $(MAKEFLAGS); amf=$$2; \
	list='$(INSTALLSUBDIRS)'; for subdir in $$list; do \
          target=`echo $@ | sed s/-recursive//`; \
          echo "Making $$target in $$subdir"; \
          (cd $$subdir && $(MAKE) $$target) \
           || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
        done && test -z "$$fail"


syntax highlighted by Code2HTML, v. 0.9.1