# Generated automatically from Makefile.in by configure.
#
# Makefile for complete Yorick distribution
# (If this is Makefile.in, run configure first; read INSTALL and README.)
#
# $Id$
#

# ------------------------------------------------------------------------
# Variables

SHELL = /bin/sh
MAKE = make
RM = rm -f

# These should ALWAYS be absolute path names beginning with /
# NEVER relative path names beginning with . or ..
prefix = /usr/local
exec_prefix = $(prefix)

# I don't know whether these do what they're supposed to do (for autoconf).
srcdir = .
VPATH = .

# The Math package is provided as an example of how to write a Yorick
# package with Fortran source.  MathC is a C translation for portability.
# You should build either MathC or Math, not both.
# MATH = Math
MATH = MathC

ALLDIRS = Gist Browser Yorick MathC Drat Math
USEDIRS = Gist Browser Yorick $(MATH) Drat

# ------------------------------------------------------------------------
# Targets

all::
	cd Gist; $(MAKE) prefix='$(prefix)' exec_prefix='$(exec_prefix)'
	cd Browser; $(MAKE) prefix='$(prefix)' exec_prefix='$(exec_prefix)'
	cd Yorick; $(MAKE) prefix='$(prefix)' exec_prefix='$(exec_prefix)' \
	  GISTINCL=-I../Gist GISTLIB=-L../Gist Y_HOME=.
	cd $(MATH); $(MAKE) -f ../Yorick/Makefile Y_HOME=../Yorick Makefile
	cd $(MATH); $(MAKE) prefix='$(prefix)' exec_prefix='$(exec_prefix)' \
	  GISTINCL=-I../Gist GISTLIB=-L../Gist Y_HOME=../Yorick \
	  YORLIB=-L../Yorick
	cd Drat; $(MAKE) -f ../Yorick/Makefile Y_HOME=../Yorick Makefile
	cd Drat; $(MAKE) prefix='$(prefix)' exec_prefix='$(exec_prefix)' \
	  GISTINCL=-I../Gist GISTLIB=-L../Gist Y_HOME=../Yorick \
	  YORLIB="-L../$(MATH) -L../Yorick"

# ------------------------------------------------------------------------
# Installation (consider check first)

check:
	cd Gist; $(MAKE) check
	cd Drat; $(MAKE) prefix='$(prefix)' exec_prefix='$(exec_prefix)' \
	  GISTINCL=-I../Gist GISTLIB=-L../Gist Y_HOME=../Yorick \
	  YORLIB="-L../$(MATH) -L../Yorick" check

install: all installdirs
	$(RM) Yorick/yorick
	$(RM) $(MATH)/yorm
	for dir in $(USEDIRS); do \
	 ( cd $$dir; \
	 $(MAKE) prefix='$(prefix)' exec_prefix='$(exec_prefix)' install; ) \
	done

uninstall:
	for dir in $(USEDIRS); do \
	 ( cd $$dir; \
	 $(MAKE) prefix='$(prefix)' exec_prefix='$(exec_prefix)' uninstall; ) \
	done
	$(RM) -r Yorick/startup
	$(RM) -r Yorick/gist
	$(RM) -r bin
	$(RM) -r lib
	$(RM) -r yorhome
	$(RM) -r contrib

installdirs:
	if test ! -d $(prefix)/Yorick; then mkdir $(prefix)/Yorick; fi
	if test ! -d $(prefix)/Yorick/startup; then mkdir $(prefix)/Yorick/startup; fi
	if test ! -d $(prefix)/Yorick/include; then mkdir $(prefix)/Yorick/include; fi
	if test ! -d $(prefix)/Yorick/gist; then mkdir $(prefix)/Yorick/gist; fi
	if test ! -d $(prefix)/Yorick/doc; then mkdir $(prefix)/Yorick/doc; fi
	if test ! -d $(exec_prefix)/bin; then mkdir $(exec_prefix)/bin; fi
	if test ! -d $(exec_prefix)/lib; then mkdir $(exec_prefix)/lib; fi
	if test ! -d $(exec_prefix)/yorhome; then mkdir $(exec_prefix)/yorhome; fi

# The contrib directories allow "rank and file" users to make Yorick
# packages generally available without intervention by the proprietor.
contrib:
	if test ! -d $(prefix)/Yorick/contrib; then mkdir $(prefix)/Yorick/contrib; chmod 777 $(prefix)/Yorick/contrib; fi
	if test ! -d $(exec_prefix)/contrib; then mkdir $(exec_prefix)/contrib; chmod 777 $(exec_prefix)/contrib; fi

# ------------------------------------------------------------------------
# Cleanup

clean:
	for dir in $(USEDIRS); do ( cd $$dir; $(MAKE) clean; ) done
	$(RM) conftest* *~ *.bak core

tidy:
	for dir in $(USEDIRS); do ( cd $$dir; $(MAKE) tidy; ) done
	$(RM) conftest* *~ *.bak core

distclean:
	for dir in $(USEDIRS); do ( cd $$dir; $(MAKE) distclean; ) done
	$(RM) Makefile config.status conftest* *~ *.bak core
	$(RM) -r Yorick/startup
	$(RM) -r Yorick/gist
	$(RM) -r bin
	$(RM) -r lib
	$(RM) -r yorhome
	$(RM) -r contrib

# ------------------------------------------------------------------------
