CC = g++ --std=c++11
CFLAGS = -g -Wall

all: vector map queue msgqueue stl_set multiset list \
     tuple_set event_set

vector: vector.o
	$(CC) -o $@ $(CFLAGS) vector.o

map: map.o
	$(CC) -o $@ $(CFLAGS) map.o

queue: queue.o
	$(CC) -o $@ $(CFLAGS) queue.o

msgqueue: msgqueue.o
	$(CC) -o $@ $(CFLAGS) msgqueue.o -l pthread

list: list.o
	$(CC) -o $@ $(CFLAGS) list.o

stl_set: stl_set.o
	$(CC) -o $@ $(CFLAGS) stl_set.o

event_set: event_set.o
	$(CC) -o $@ $(CFLAGS) event_set.o

tuple_set: tuple_set.o
	$(CC) -o $@ $(CFLAGS) tuple_set.o

multiset: multiset.o
	$(CC) -o $@ $(CFLAGS) multiset.o


.cpp.o:
	$(CC) -c $< $(CFLAGS)


clean:
	rm -f *.o
	rm -f `find . -perm /111 -type f`


