## Copyright (C) 1996 DIMACS Center, Rutgers, The State University of New Jersey
## Author(s): Jonathan Berry

## This software is copyrighted by the DIMACS Center at Rutgers, The State
## University of New Jersey.  IT IS PROVIDED AS IS, AND THE AUTHORS, DIMACS, AND
## RUTGERS, THE STATE UNIVERSITY OF NEW JERSEY  DISCLAIM
## ALL LIABILITY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL
## DAMAGES ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY
## DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE
## POSSIBILITY OF SUCH DAMAGE.

## THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES,
## INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY,
## FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT.  THIS SOFTWARE
## IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE
## NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR
## MODIFICATIONS.

## The authors hereby grant permission to use, copy, modify, distribute,
## and license this software and its documentation for any purpose, provided
## that existing copyright notices are retained in all copies and that this
## notice is included verbatim in any distributions. No written agreement,
## license, or royalty fee is required for any of the authorized uses.
## Modifications to this software may be copyrighted by their authors
## and need not follow the licensing terms described here, provided that
## the new terms are clearly indicated on the first page of each file where
## they apply.

## Last File Update: 31-Jul-1996
## 
DIR = algorithm
.cc.o:
	(cd ..; $(LINK_COMPILE.cc) $(GNUFLAGS) $(DIR)/$<; mv $@ $(DIR))
SOURCES.cc = \
	Animation.cc \
	AnimationData.cc \
	BiconnectedComponents.cc \
	BreadthFirstSearch.cc \
	DepthFirstSearch.cc \
	FloydWarshall.cc \
	GoldbergTarjan.cc \
	HamiltonianCycles.cc \
	Kruskal.cc \
	MaximalClique.cc \
	ResetAttributes.cc \
	StronglyConnectedComponents.cc \
	TopologicalSort.cc\
	Triangles.cc 
OBJECTS = \
	$(SOURCES.cc:%.cc=%.o)
STK_OBJECTS = manualSTkWrappers/manualSTkWrappers.o
all:	objects
objects: $(SOURCES.cc) $(OBJECTS)
make_extra_stk:
	cd manualSTkWrappers;  $(MAKE) -f Make.algorithmWrappers \
			LINK_COMPILE.cc="$(LINK_COMPILE.cc)"\
			GNUFLAGS="$(GNUFLAGS)" all
# libs target must deal with special case of animateVertex, animateEdge 
# in Animation.o.  These functions must be given simplified definitions
# if no graphics are linked in.
libs: $(OBJECTS)
	@-rm ../libalg.a
	ar cr ../libalg.a $(OBJECTS) $(EXTRA_OBJECTS)
	ranlib ../libalg.a; touch libalg.a
libalg.a: $(OBJECTS) 
	@-rm ../libalg.a
	ar cr ../libalg.a $(OBJECTS) $(EXTRA_OBJECTS)
	ranlib ../libalg.a; touch libalg.a
libalgstk.a: make_extra_stk
	@-rm ../libalgstk.a
	ar cr ../libalgstk.a $(STK_OBJECTS)
	ranlib ../libalgstk.a; touch libalgstk.a
clean:
	$(RM) $(OBJECTS) $(STK_OBJECTS) libalgstk.a libalg.a
	cd manualSTkWrappers; make -f Make.algorithmWrappers clean
print:
	hsp -p $(SOURCES.cc)
wc:
	wc $(SOURCES.cc)
depend:
	makedepend -fMake.algorithm $(DEPENDFLAGS) $(SOURCES.cc)
# DO NOT DELETE THIS LINE -- make depend depends on it.
