#****************************************************************************
#                Makefile for rc_syncd
#                -----------------------------------------
#
#    begin      : 2014/09/02
#    copyright  : (C) 2005 Solbox Inc.
#    author     : storage dev team
#    email      : storage.sd@solbox.com
#    version    : 3.4
#
#    CopyRight(C) 2005 Solbox Inc. All Rights reserved.
#    Redistribution and use in source and binary forms, with or with out
#    modification, are not permitted in outside of Solbox Inc.
#*****************************************************************************


# Program info
PROG_NAME = rc_syncd
REVISION = 1422
PROG_VERSION = 3.5.0.$(REVISION)-`date +%Y%m%d%H%M%S`


DEFAULT_CONFIG_FILE = /user/service/etc/rcts.conf


INSTALL_BIN = /user/service/bin
INSTALL_CONF = /user/service/etc


# Compiler info
CC     = /usr/bin/g++

CFLAGS = -Wall -O3 -g -Wreturn-type -Wunused -Wuninitialized\
		 -Wparentheses -Wshadow -Wpointer-arith -Woverloaded-virtual\
		 -fno-rtti -D_REENTRANT

LFLAGS = 

DFLAGS = -DPROG_NAME=\"$(PROG_NAME)\" -DPROG_VERSION=\"$(PROG_VERSION)\" -DDEFAULT_CONFIG_FILE=\"$(DEFAULT_CONFIG_FILE)\"


# Application Enviroment
APP = $(PROG_NAME) 

DIR_INCLUDE = -I./. -I../lib -I /user/db/pgsql/include -I../
DIR_LIB     = -L../lib

OBJ = ServiceConfig.o ProcessStatus.o RcdbInfo.o Util.o Database.o RcSyncdClientSocket.o \
	  Running.o Scheduler.o WorkPool.o DBConnPool.o SyncList.o DataFile.o SourceData.o \
	  ModeMaster.o ModeSlave.o ModeSync.o RcSyncdRequest.o MasterJobThread.o\
	  GetSource.o Validation.o ExecCall.o MakeSyncFile.o Synchronization.o Synchronization.o \
	  ProcessSocketControl.o ClientThread.o \
	  Worker.o Main.o
	  
LIBS = ../lib/libInterCommon.a -lpthread -lcrypt /user/db/pgsql/lib/libpq.a


############################

all:$(APP)
	sync

%.o: %.cpp
	$(CC) $(CFLAGS)  -o $@ -c $^ $(DFLAGS) $(DIR_INCLUDE)


$(PROG_NAME): $(OBJ)
	$(CC) $(LFLAGS) -o $@ $^ $(DFLAGS) $(DIR_LIB) $(LIBS)


clean:
	-rm -f *.o core.* *.out *.log
	-rm -f $(APP)
	sync


install : $(APP)
	-cp $(APP) $(INSTALL_BIN)/$(APP)
	sync

# End of Makefile
