# Flags for the compiler:
# -g - generate code for debugger
# -c - generate binary object code
CFLAGS= -g -c

# Flags to generate the executable
# -o - used to give a name to the program
OFLAGS = -o

#Name of compiler
CC = g++

#TARGETS - name of the program
TARGET = set_test

all: set_test

#compiles the set module
set.o:  set.h set.cpp
	$(CC) $(CFLAGS) set.cpp

#compiles the set test module
set_test.o:  set.h set_test.cpp
	$(CC) $(CFLAGS) set_test.cpp

# compiles the set_explicit module
set_explicit.o: set.cpp
	$(CC) $(CFLAGS) set_explicit.cpp

#Generates the executable program for testing sets
set_test: set.o set_explicit.o  set_test.o
	$(CC) set.o set_explicit.o set_test.o $(OFLAGS) $(TARGET)

#Removes all .o files
clean:
	/bin/rm -f *.o

#Removes all .o files and the executable
delete: 
	/bin/rm -f *.o
	/bin/rm -rf set_test
	/bin/rm -f *~

 
