# AUTHOR: Michael Wagner
# CREATED: Apr 22, 1999
# DESCRIPTION: Makefile for the libDatabase.a library and 
# databaseMain executable.

INSTALL_DIR = $(NOMAD_HOME)
DB_MESSAGE_DIR  = ../messages/database

CC = g++
CFLAGS = -g
AR = ar
ARFLAGS = r

SYSLIBS = -lm -lpthread

INCLUDES = -I. \
	   -I$(NOMAD_HOME)/include/ \
	   -I$(NDDSHOME)/include/share \
	   -I$(NDDSHOME)/include/unix 

LIBS =  $(ARCHIVE) \
	$(NOMAD_HOME)/lib/$(ARCH)/libSensManNdds.a \
	$(NOMAD_HOME)/lib/$(ARCH)/libDatabaseNdds.a \
	$(NDDSHOME)/lib/$(ARCH)/libndds.a \
	$(NDDSHOME)/lib/$(ARCH)/libutilsip.a \
	$(NDDSHOME)/lib/$(ARCH)/libutilsxx.a \
	$(NOMAD_HOME)/lib/$(ARCH)/libsmHiResDriver.a \
	$(NOMAD_HOME)/lib/$(ARCH)/libFrameGrabber.a \
	$(NOMAD_HOME)/lib/$(ARCH)/libHiResPtu.a \
	$(NOMAD_HOME)/lib/$(ARCH)/libLensController.a \
	$(NOMAD_HOME)/lib/$(ARCH)/libSAS_Config.a \
	$(NOMAD_HOME)/lib/$(ARCH)/libmatrix.a \
	$(SYSLIBS)

DEFINES = 

ARCHIVE = libDatabase.a

ARCH = $(shell uname)

all: dbServer dbClient

install: all
	cp dbServer $(INSTALL_DIR)/bin/$(ARCH)/.
	cp $(ARCHIVE) $(INSTALL_DIR)/lib/$(ARCH)/.
	cp database.h $(INSTALL_DIR)/include/.
	cp dbDef.h $(INSTALL_DIR)/include/.
	cp dbServer.h $(INSTALL_DIR)/include/.
	cp dbClient.h $(INSTALL_DIR)/include/.
	cp dbClient $(INSTALL_DIR)/bin/$(ARCH)/.

dbServer: $(ARCHIVE) dbServer.cpp 
	$(CC) $(CFLAGS) -o dbServer dbServer.cpp $(INCLUDES) $(LIBS) $(DEFINES)

dbClient.o: dbClient.cpp dbClient.h dbClientDef.h
	$(CC) $(CFLAGS) -c dbClient.cpp -o dbClient.o $(INCLUDES) $(DEFINES)

dbClient: dbClient.cpp
	$(CC) $(CFLAGS) -o dbClient dbClient.cpp $(INCLUDES) $(LIBS) $(DEFINES) -DDB_CLIENT_MAIN

$(ARCHIVE): database.o dbClient.o
	$(AR) $(ARFLAGS) $(ARCHIVE) database.o dbClient.o

database.o: database.cpp 
	$(CC) $(CFLAGS) -c database.cpp -o database.o $(INCLUDES) $(DEFINES)

clean:
	/bin/rm -f database.o core $(ARCHIVE) dbServer dbClient dbClient.o 
