CC=gcc
CXX=g++
+PROTOC=protoc
CXXFLAGS=-Wall -O2 -g
-LDLIBS=-lcurl
+LDLIBS=-lpthread -lprotobuf
-OBJS=cubemap.o
+OBJS=main.o server.o serverpool.o mutexlock.o input.o httpinput.o udpinput.o parse.o config.o markpool.o acceptor.o stats.o thread.o state.pb.o
all: cubemap
-%.o: %.cpp
+%.pb.cc %.pb.h : %.proto
+ $(PROTOC) --cpp_out=. $<
+
+%.o: %.cpp state.pb.h
+ $(CXX) -MMD -MP $(CPPFLAGS) $(CXXFLAGS) -o $@ -c $<
+%.pb.o: %.pb.cc
$(CXX) -MMD -MP $(CPPFLAGS) $(CXXFLAGS) -o $@ -c $<
cubemap: $(OBJS)
$(CXX) -o cubemap $(OBJS) $(LDLIBS)
-include $(DEPS)
clean:
- $(RM) cubemap $(OBJS) $(DEPS)
+ $(RM) cubemap $(OBJS) $(DEPS) state.pb.h state.pb.cc
+.PHONY: clean
+.SUFFIXES: