#
# RcsID = " $Header$"
#
#*********************************************************************
#
# File:          Makefile
#
# Project:       Device Servers with sun-rpc
#
# Description:   Makefile for the data collector server tools
#
# Author(s):     Andy Gotz (goetz@esrf.fr)
#
# Original:      December 2000
#
#
# $Revision$
# $Date$
#
# $Author$
#
# $Log$
#
# Copyright (c) 2000 by European Synchrotron Radiation Facility,
#                       Grenoble, France
#
#                       All Rights Reserved
#
#**********************************************************************

#---------------------------------------------------------------------
# Home Directories
#
#
#       The variables DSHOME is passed to the Makefile
#       as input argument or via the environment.
#
# external variable DSHOME
DS_HOME =       $(DSHOME)

ifdef __hpux10
LIB_HOME     =  $(DS_HOME)/lib/hpux10.2
INSTALL_HOME =  $(DS_HOME)/system/bin/hpux10.2
endif
ifdef _solaris
LIB_HOME     =  $(DS_HOME)/lib/solaris
INSTALL_HOME =  $(DS_HOME)/system/bin/solaris
endif
ifdef linux
ifdef x86
LIB_HOME     =  $(DS_HOME)/lib/linux/x86
INSTALL_HOME =  $(DS_HOME)/system/bin/linux/x86
else
LIB_HOME     =  $(DS_HOME)/lib/linux/68k
INSTALL_HOME =  $(DS_HOME)/system/bin/linux/68k
endif
endif


#---------------------------------------------------------------------
# All necessary compiler flags for UNIX
#
#
#               ... and his Flags
#                       Includes
INCLDIRS =      -I../include \
		-I$(DSHOME)/include \
		-I$(DSHOME)/include/private \
		-I../../api/apilib/include

#                       Libraries
LIBDIRS =       -L$(LIB_HOME)
ifdef _solaris
LFLAGS = 	$(LIBDIRS) -ldcapi -ldsxdr -ldsapi -ldbapi -ldsxdr -ldcmem \
		-lnsl -lsocket -lrt
else
LFLAGS = 	$(LIBDIRS) -ldcapi -ldsxdr -ldsapi -ldbapi -ldsxdr \
		-ldcmem
endif # _solaris

NAME =       	-o 

#            	Optimizer and ANSI standart for UNIX
ifdef __hpux
CFLAGS = 	-O -DBUG -Dunix -Aa -D_HPUX_SOURCE $(INCLDIRS) 
endif
ifdef _solaris
CFLAGS = 	-O -DBUG -Dunix $(CCOPTIONS) $(INCLDIRS) 
endif
ifdef linux
ifdef x86
CFLAGS  =      	-Dlinux -Dlinuxx86 -Dunix -DALONE -c $(INCLDIRS) -g 
else
CFLAGS  =      	-Dlinux -Dlinux68k -Dunix -DALONE -c $(INCLDIRS) -g
endif
endif

#---------------------------------------------------------------------
# targets
DCTOOLS_OBJS = 	dc_del.o \
		dc_dels.o \
		dc_devall.o \
		dc_devinfo.o \
		dc_hash.o \
		dc_info.o \
		dc_init.o \
		dc_inits.o \
		dc_mem.o \
		dc_mfree.o \
		dc_mfrees.o \
		dc_patch.o

DCTOOLS =	dc_del \
		dc_dels \
		dc_devall \
		dc_devinfo \
		dc_hash \
		dc_info \
		dc_init \
		dc_inits \
		dc_mem \
		dc_mfree \
		dc_mfrees \
		dc_patch


#---------------------------------------------------------------------
# build all tools
#

all:		$(DCTOOLS)

dc_del :	dc_del.o
		$(CC) $(NAME) $@ dc_del.o $(LFLAGS)

dc_dels :	dc_dels.o
		$(CC) $(NAME) $@ dc_dels.o $(LFLAGS)

dc_devall :	dc_devall.o
		$(CC) $(NAME) $@ dc_devall.o $(LFLAGS)

dc_devinfo :	dc_devinfo.o
		$(CC) $(NAME) $@ dc_devinfo.o $(LFLAGS)

dc_hash :	dc_hash.o
		$(CC) $(NAME) $@ dc_hash.o $(LFLAGS)

dc_info :	dc_info.o
		$(CC) $(NAME) $@ dc_info.o $(LFLAGS)

dc_init :	dc_init.o
		$(CC) $(NAME) $@ dc_init.o $(LFLAGS)

dc_inits :	dc_inits.o
		$(CC) $(NAME) $@ dc_inits.o $(LFLAGS)

dc_mem :	dc_mem.o
		$(CC) $(NAME) $@ dc_mem.o $(LFLAGS)

dc_mfree :	dc_mfree.o
		$(CC) $(NAME) $@ dc_mfree.o $(LFLAGS)

dc_mfrees :	dc_mfrees.o
		$(CC) $(NAME) $@ dc_mfrees.o $(LFLAGS)

dc_patch :	dc_patch.o
		$(CC) $(NAME) $@ dc_patch.o $(LFLAGS)

install:	all
		cp $(DCTOOLS) $(INSTALL_HOME)

clean:	
		-rm -f $(DCTOOLS_OBJS)


clobber:	clean
		-rm -f $(DCTOOLS)
