# GDP Makefile
#
# Copyright (c) 2009 Department of Mathematics and Computer Science
# Gordon College, 255 Grapevine Road, Wenham, MA 01984
#
# This Makefile has been tested and works with GNU make.  

# ============================================================================
# ===================== BEGIN USER CONFIGURATION SECTION =====================
# ============================================================================

# The following three variables need only be defined if you choose to install
# the QNET Approximator programs for use by everyone on your system.
#
# If PREFIX is changed to /usr you may want to change MANDIR to
# $(PREFIX)/share/man; check your system to see where the man pages are stored

PREFIX = /usr/local
BINDIR	= $(PREFIX)/bin
MANDIR	= $(PREFIX)/man

# ============================================================================
# ====================== END USER CONFIGURATION SECTION ======================
# ============================================================================

# Compiler and linker flags

DBGFLAGS= -Wall

all:
	for d in libqnet src; do \
		cd $$d; \
		$(MAKE) MAKEFLAGS="$(MAKEFLAGS)" \
			DBGFLAGS="$(DBGFLAGS)"; \
		cd ..; \
	done

doc:
	for d in libqnet src; do \
		cd $$d; $(MAKE) doc; cd ..; \
	done
	for f in TaggedValues.3.pdf SPNetwork.5.pdf; do \
		/bin/cp -a libqnet/manual/$$f ./manual/$$f; \
	done

install:
	for d in src; do \
		cd $$d; \
		$(MAKE) MAKEFLAGS="$(MAKEFLAGS)" \
			DBGFLAGS="$(DBGFLAGS)" \
			PREFIX="$(PREFIX)" \
			BINDIR="$(BINDIR)" \
			MANDIR="$(MANDIR)" \
			$@; \
		cd ..; \
	done
	if [ ! -d $(MANDIR)/man3 ] ; then mkdir -p $(MANDIR)/man3 ; fi
	if [ ! -d $(MANDIR)/man5 ] ; then mkdir -p $(MANDIR)/man5 ; fi
	gzip -c libqnet/man3/TaggedValues.3 > $(MANDIR)/man3/TaggedValues.3.gz
	gzip -c libqnet/man5/SPNetwork.5 > $(MANDIR)/man5/SPNetwork.5.gz

uninstall:
	for d in src; do \
		cd $$d; \
		$(MAKE) MAKEFLAGS="$(MAKEFLAGS)" \
			DBGFLAGS="$(DBGFLAGS)" \
			PREFIX="$(PREFIX)" \
			BINDIR="$(BINDIR)" \
			MANDIR="$(MANDIR)" \
			$@; \
		cd ..; \
	done
	$(RM) $(MANDIR)/man3/TaggedValues.3.gz $(MANDIR)/man5/SPNetwork.5.gz

clean clobber:
	for d in libqnet src; do \
		cd $$d; $(MAKE) MAKEFLAGS="$(MAKEFLAGS)" $@; cd ..; \
	done
