CXX=g++
CXXFLAGS=-O3 -Wall -c -fmessage-length=0
SOURCES=branch.cpp client.cpp marker.cpp packet.cpp server.cpp util.cpp
HEADERS=client.h marker.h packet.h server.h util.h
OBJECTS=$(SOURCES:.cpp=.o)
LIBS=-lpthread -lstdc++
EXECUTABLE=Branch

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)