# makefile
# For testing Stack classes.
#
# Written by Ben Stanley 20000816 bstanley@uow.edu.au
# Written for gnu make and g++.

CXX=g++
#CXXFLAGS=-g -Wall -Weffc++ -ansi -I../Common -MMD
CXXFLAGS=-g -ansi -I../Common

TARGETS=Test_Stack_Reed \
	Test_Stack_Reed_Fixed \
	Test_Stack_Sutter_1 \
	Test_Stack_Sutter_3

all: $(TARGETS)


Test_Stack_Reed: Stack_Reed.h TestStack.cpp \
		../Common/Counter.h ../Common/Counter.cpp
	$(CXX) $(CXXFLAGS) -o $@ -DSTACK_REED \
		../Common/Counter.cpp TestStack.cpp

Test_Stack_Reed_Fixed: Stack_Reed_Fixed.h TestStack.cpp \
		../Common/Counter.h ../Common/Counter.cpp
	$(CXX) $(CXXFLAGS) -o $@ -DSTACK_REED_FIXED \
		../Common/Counter.cpp TestStack.cpp

Test_Stack_Sutter_1: Stack_Sutter_1.h TestStack.cpp \
		../Common/Counter.h ../Common/Counter.cpp
	$(CXX) $(CXXFLAGS) -o $@ -DSTACK_SUTTER_1 \
		../Common/Counter.cpp TestStack.cpp

Test_Stack_Sutter_3: Stack_Sutter_3.h TestStack.cpp \
		../Common/Counter.h ../Common/Counter.cpp
	$(CXX) $(CXXFLAGS) -o $@ -DSTACK_SUTTER_3 \
		../Common/Counter.cpp TestStack.cpp

realclean: clean
	rm -f $(TARGETS)

clean:
	rm -f *~ core *.o
