CXX=g++
CXXFLAGS=-O3 -Wall -c -fmessage-length=0
SOURCES=server.cpp protocol.cpp log.cpp store.cpp util.cpp
HEADERS=protocol.h log.h store.h util.h
OBJECTS=$(SOURCES:.cpp=.o)
LIBS=-lpthread
EXECUTABLE=tserver

all: $(SOURCES) $(HEADERS) $(EXECUTABLE)
	mv $(EXECUTABLE) ../bin

$(EXECUTABLE): $(OBJECTS)
	$(CXX) -o $@ $(LIBS) $(OBJECTS)

%.o: %.cpp
	$(CXX) $(CXXFLAGS) -c -o"$@" $<

clean:
	rm -f *.o ../bin/$(EXECUTABLE)