# gtmurmur makefile

# Vars

SHELL=/bin/sh
CXX=g++
DYN_CXXFLAGS=-g -Wall -I. -I/usr/include
STATIC_CXXFLAGS=-g -Wall -I. -DGTMURMUR_STATIC
DYN_LDFLAGS=-L/usr/lib/ -lIce -lIceUtil
STATIC_LDFLAGS=-L/usr/lib/ -static -static-libgcc
RM=rm -f
prefix=..
  
DYN_OBJECTS=\
	Murmur.o \
	argsparser.o \
	bytestream.o \
	conf.o \
	cvpserializer.o \
	kitchensink.o \
	main.o \
	murmurqueryfac-dyn.o \
	murmurqueryice.o \
	murmurquerynoice.o \
	servercontroller.o \
	socketops.o

STATIC_OBJECTS=\
	s_argsparser.o \
	s_bytestream.o \
	s_conf.o \
	s_cvpserializer.o \
	s_kitchensink.o \
	s_main.o \
	s_murmurqueryfac-static.o \
	s_murmurquerynoice.o \
	s_servercontroller.o \
	s_socketops.o

# Rules

all : gtmurmur gtmurmur-static

gtmurmur : $(DYN_OBJECTS)
	$(CXX) $(DYN_CXXFLAGS) -o gtmurmur $(DYN_OBJECTS) $(DYN_LDFLAGS)
	
gtmurmur-static : $(STATIC_OBJECTS)
	$(CXX) $(STATIC_CXXFLAGS) -o gtmurmur-static $(STATIC_OBJECTS) $(STATIC_LDFLAGS)
	
Murmur.o : Murmur.cpp
	$(CXX) $(DYN_CXXFLAGS) -c Murmur.cpp -o Murmur.o
argsparser.o : argsparser.cpp
	$(CXX) $(DYN_CXXFLAGS) -c argsparser.cpp -o argsparser.o
bytestream.o : bytestream.cpp
	$(CXX) $(DYN_CXXFLAGS) -c bytestream.cpp -o bytestream.o
conf.o : conf.cpp
	$(CXX) $(DYN_CXXFLAGS) -c conf.cpp -o conf.o
cvpserializer.o : cvpserializer.cpp
	$(CXX) $(DYN_CXXFLAGS) -c cvpserializer.cpp -o cvpserializer.o
kitchensink.o : kitchensink.cpp
	$(CXX) $(DYN_CXXFLAGS) -c kitchensink.cpp -o kitchensink.o
main.o : main.cpp
	$(CXX) $(DYN_CXXFLAGS) -c main.cpp -o main.o
murmurqueryfac-dyn.o : murmurqueryfac-dyn.cpp
	$(CXX) $(DYN_CXXFLAGS) -c murmurqueryfac-dyn.cpp -o murmurqueryfac-dyn.o
murmurqueryice.o : murmurqueryice.cpp
	$(CXX) $(DYN_CXXFLAGS) -c murmurqueryice.cpp -o murmurqueryice.o
murmurquerynoice.o : murmurquerynoice.cpp
	$(CXX) $(DYN_CXXFLAGS) -c murmurquerynoice.cpp -o murmurquerynoice.o	
servercontroller.o : servercontroller.cpp
	$(CXX) $(DYN_CXXFLAGS) -c servercontroller.cpp -o servercontroller.o
socketops.o : socketops.cpp
	$(CXX) $(DYN_CXXFLAGS) -c socketops.cpp -o socketops.o

s_argsparser.o : argsparser.cpp
	$(CXX) $(STATIC_CXXFLAGS) -c argsparser.cpp -o s_argsparser.o
s_bytestream.o : bytestream.cpp
	$(CXX) $(STATIC_CXXFLAGS) -c bytestream.cpp -o s_bytestream.o
s_conf.o : conf.cpp
	$(CXX) $(STATIC_CXXFLAGS) -c conf.cpp -o s_conf.o
s_cvpserializer.o : cvpserializer.cpp
	$(CXX) $(STATIC_CXXFLAGS) -c cvpserializer.cpp -o s_cvpserializer.o
s_kitchensink.o : kitchensink.cpp
	$(CXX) $(STATIC_CXXFLAGS) -c kitchensink.cpp -o s_kitchensink.o
s_main.o : main.cpp
	$(CXX) $(STATIC_CXXFLAGS) -c main.cpp -o s_main.o
s_murmurqueryfac-static.o : murmurqueryfac-static.cpp
	$(CXX) $(STATIC_CXXFLAGS) -c murmurqueryfac-static.cpp -o s_murmurqueryfac-static.o
s_murmurquerynoice.o : murmurquerynoice.cpp
	$(CXX) $(STATIC_CXXFLAGS) -c murmurquerynoice.cpp -o s_murmurquerynoice.o
s_servercontroller.o : servercontroller.cpp
	$(CXX) $(STATIC_CXXFLAGS) -c servercontroller.cpp -o s_servercontroller.o
s_socketops.o : socketops.cpp
	$(CXX) $(STATIC_CXXFLAGS) -c socketops.cpp -o s_socketops.o

.PHONY : clean
clean :
	$(RM) gtmurmur gtmurmur-static $(DYN_OBJECTS) $(STATIC_OBJECTS)
	
.PHONY : install
install : gtmurmur gtmurmur-static
	install -m 0755 gtmurmur $(prefix)/bin/linux/x86
	install -m 0755 gtmurmur-static $(prefix)/bin/linux/x86

	
	
