LOCATION=DEBIAN_7
ARTKENABLED=132
#LOCATION=DEBIAN_6
#LOCATION=OSX_10_8
#
# Add other locations and move target differences into the macros as needed,
# setup for my primary development and testing hosts.
#
CC=g++
Cc=gcc

 BOSTLIB=-L/usr/lib/boost
 BOSINCL=-I/usr/include/boost
 LOG4LIB=-L/usr/lib
 CLIENT=drde
 
ifeq ($(LOCATION),DEBIAN_7)
ifneq ($(ARTKENABLED),0)
 ARTKLIB=-L/home/jdaugherty/clients/reg.de/git/ACTK1_0/lib
 ARTKINCL=-I/home/jdaugherty/clients/reg.de/git/ACTK1_0
endif
endif

ifeq ($(LOCATION),DEBIAN_6)
 ARTKLIB=-L/home/jdaugherty/dnseppus/ACTK1_0/lib
 ARTKINCL=-I/home/jdaugherty/dnseppus/ACTK1_0
endif
ifeq ($(LOCATION),OSX_10_8)
 ARTKLIB=-L/Users/juand/dnseppus/ACTK1_0/lib
 ARTKINCL=-I/Users/juand/dnseppus/ACTK1_0
endif


ifeq ($(LOCATION),DEBIAN_7)
ifneq ($(ARTKENABLED),0)
XALAN_LIB_DIR = /usr/local/lib
XALAN_LIB = xalan-c
XALAN_INC_DIR = /usr/local/include/xalanc
XERCES_LIB_DIR = /usr/local/lib/
XERCES_LIB = xerces-c
XERCES_INC_DIR = /usr/local/include/xercesc/
endif
endif
ifeq ($(LOCATION),DEBIAN_6)
XALAN_LIB_DIR = /usr/lib/
XALAN_LIB = xalan-c
XALAN_INC_DIR = /usr/include/xalanc/
XERCES_LIB_DIR = /usr/lib/
XERCES_LIB = xerces-c
XERCES_INC_DIR = /usr/include/xercesc/
endif
ifeq ($(LOCATION),OSX_10_8)
XALAN_LIB_DIR = /opt/local/lib/
XALAN_LIB = xalan-c
XALAN_INC_DIR = /opt/local/include/xalanc/
XERCES_LIB_DIR = /opt/local/lib/
XERCES_LIB = xerces-c
XERCES_INC_DIR = /opt/local/include/xercesc/
endif

SLIBS= -L/usr/lib $(BOSTLIB) $(LOG4LIB) $(ARTKLIB) -l boost_system -l boost_thread -l log4cpp -l ACTK1_0 
DLIBS= -L/usr/lib $(BOSTLIB) $(LOG4LIB) $(ARTKLIB) -l boost_system -l boost_thread -l log4cpp  

SINCL= -I include -I /usr/include/log4cpp  $(BOSINCL)
CFLAGS= -DCURRENT_DEBUG=1000 -ggdb3 -DARTKENABLED=$(ARTKENABLED)

#
# ---------- Should not need to change below
#
CLIBS= -L$(USRLIB) 

CLFLAGS= -Wall -Wundef -Wpointer-arith -Wshadow \
	 -Wcast-align -Winline -Wmissing-declarations -Wredundant-decls \
	 -Wmissing-prototypes -Wnested-externs \
	 -Wstrict-prototypes -Waggregate-return -Wno-implicit
	 
ACOBJS= build/cliever.o build/mdLogger.o build/masterDaemonConfig.o  build/masterDaemon.o   \
	build/mdHost.o 	build/mdState.o  build/mdAusReg.o
	
MDOBJS= build/md.o build/mdLogger.o build/masterDaemonConfig.o  build/masterDaemon.o   \
	build/mdHost.o 	build/mdState.o  
	
	
ARTKDEPS = -L$(ARTK_LIB_DIR) -lACTK1_0 \
				-L$(XALAN_LIB_DIR) -lxalan-c -lxalanMsg\
				-L$(XERCES_LIB_DIR) -lxerces-c \
				-lssl \
				-lrt

# --- targets
#

all:    cliever md

cliever: build/$(CLIENT)-cliever 
md:      build/ausreg-md

.c.o:
	$(Cc) -c $(CLFLAGS) -o  $<

build/mdLogger.o: server/mdLogger.cpp include/mdLogger.h 
	$(CC) $(CFLAGS) server/mdLogger.cpp -c -o build/mdLogger.o $(SINCL) $(ARTKINCL)
	
build/cliever.o: server/cliever-md.cpp include/*.h
	$(CC) $(CFLAGS) server/cliever-md.cpp -c -o build/cliever.o $(SINCL) $(ARTKINCL)
	
build/md.o: server/cliever-md.cpp include/*.h
	$(CC) $(CFLAGS) server/cliever-md.cpp -c -o build/md.o $(SINCL)  

build/masterDaemonConfig.o: server/masterDaemonConfig.cpp include/*.h
	$(CC) $(CFLAGS) server/masterDaemonConfig.cpp -c -o build/masterDaemonConfig.o $(SINCL) $(ARTKINCL)
	
build/mdHost.o: server/mdHost.cpp include/*.h
	$(CC) $(CFLAGS) server/mdHost.cpp -c -o build/mdHost.o $(SINCL) $(ARTKINCL)
	
build/mdState.o: server/mdState.cpp include/*.h
	$(CC) $(CFLAGS) server/mdState.cpp -c -o build/mdState.o $(SINCL) $(ARTKINCL)
	
build/masterDaemon.o: server/masterDaemon.cpp include/*.h
	$(CC) $(CFLAGS) server/masterDaemon.cpp -c -o build/masterDaemon.o $(SINCL) $(ARTKINCL)
	
build/mdAusReg.o: server/mdAusReg.cpp include/*.h
	$(CC) $(CFLAGS) server/mdAusReg.cpp -c -o build/mdAusReg.o $(SINCL) $(ARTKINCL)

build/ausreg-md: $(MDOBJS)
	$(CC) $(CFLAGS) -o build/ausreg-md $(SINCL) $(LIBS) $(MDOBJS) $(DLIBS)  
	
build/drde-cliever: $(ACOBJS)
	$(CC) $(CFLAGS) -o build/drde-cliever $(SINCL) $(LIBS) $(ACOBJS) $(SLIBS) $(ARTKDEPS)
	
doxygen/index.html: etc/doxygen.config
	doxygen etc/doxygen.config 

#distclean:
#	clrbak
#	rm -rf build
#	rm -rf doxygen
#	mkdir doxygen
#	mkdir build
#	touch etc/doxygen.config

clean:
	clrbak
	find ./build -name "*.o"   -print | perl -ne "print;chop;unlink"
	find ./build -name "*.rpo" -print | perl -ne "print;chop;unlink"
	rm build/$(CLIENT)-cliever
	rm build/ausreg-md