CXX = g++
CC = gcc
CXXFLAGS =  -Wall
LDFLAGS =
LD = $(CXX)
OBJ = stack.o

all: lab3 testdriver

lab3: lab3.o $(OBJ)
	$(LD) $(LDFLAGS) -o $@ lab3.o $(OBJ)

testdriver: testdriver.o $(OBJ)
	$(LD) -o $@ testdriver.o $(OBJ)
	
testdriver.o: testdriver.cpp stack.h
	$(CXX) $(CXXFLAGS) -o $@ -c testdriver.cpp

lab3.o: lab3.cpp stack.h
	$(CXX) $(CXXFLAGS) -o $@ -c lab3.cpp

stack.o: stack.cpp stack.h
	$(CXX) $(CXXFLAGS) -o $@ -c stack.cpp

clean:
	rm -f lab3 testdriver $(OBJ) lab3.o testdriver.o
