PREFIX = ../../../rootfs

CC = gcc
CXX = g++
CPPFLAGS = -g -Wall -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64

LD = g++
LIB = -lpthread
LDFLAGS = 

RM = rm -f
CORE = core.*

TARGET = rcdSyncSvc rcdSyncCtrl
SRC = Exception.cc Buffer.cc BufferQueue.cc rcdSyncSvc.cc Controller.cc \
	Thread.cc ReadLocalThread.cc CompareThread.cc ReadRemoteThread.cc \
	WriteLocalThread.cc ipstor_md5.cc aes.cc
	
OBJ = $(SRC:.cc=.o)

.PHONY: all clean install

default: all


dep: .depend

.depend: $(SRC)
	$(CXX) -MM $(CPPFLAGS) $(SRC) > $@

-include .depend

all: $(TARGET)

rcdSyncSvc : $(OBJ)
	$(LD) $(LDFLAGS) -o $@ $(OBJ) $(LIB)

rcdSyncCtrl: rcdSyncCtrl.cc rcdSyncSvc.h
	$(CXX) -o $@ $<

install: all
	cp ${TARGET} ${PREFIX}/usr/local/bin
	cp -f /usr/lib/libstdc++.so.6 ${PREFIX}/lib
	cp -f /usr/lib/libstdc++.so.5 ${PREFIX}/lib
	cp -f /lib/libgcc_s.so.1 ${PREFIX}/lib

clean:
	$(RM) $(TARGET) $(OBJ) $(CORE) .depend
	
