#*********************************************************************
#
# File:          Makefile
#
# Project:       Device Servers in C++
#
# Description:   Makefile for the KickerSupply class implemented in C++
#
# Author(s):     Emmanuel Taurel
#
# Original:	 July 1996
#
#
# $Revision$
# $Date$
#
# $Author$
#
# $Log$
# 
# Copyright (c) 1990 by European Synchrotron Radiation Facility,
#                       Grenoble, France
#
#                       All Rights Reserved
#
#**********************************************************************

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


CXX	=	/usr/local/MWOS/UNIX/bin/xcc

#               ... and his Flags
#
#                Includes
#

INCLDIRS=       -I../include \
		-I$(DS_HOME)/include \
		-I$(DS_HOME)/include++ \
		-I$(DS_HOME)/include/private \
		-I/usr/local/os9/dd/DEFS

#                       Libraries
#               No link phase - ergo no libraries to include

NAME    =       -o

#                       Optimizer or ANSI standart?
CFLAGS  =       -mode=c89 -qp -to osk -tp 020 -x il -e as=. -a=warn \
		$(INCLDIRS)
CXXFLAGS =	$(CFLAGS) $(INCLDIRSXX)
LFLAGS  =	-mode=c89 -b -Wl,-a -Wl,-M=20k -L$(DSHOME)/lib/os9/ucc \
		-L/usr/local/os9/dd/LIB
LIBS =		-l dsclass++ \
		-l dsapi++ \
		-l dbapi \
		-l dsapi++ \
		-l dsxdr \
		-l cplib.l \
                -l dataport \
		-l os9esrfa.l \
		-l rpclib.l \
		-l netdb_small.l \
		-l socklib.l \
		-l unix.l \
		-l sys_clib020.l \
		-l fbus.l \
		-l icv196.l


#---------------------------------------------------------------------
# RCS options
#
#               RCS lock options
RCSLOCK  =      co -l -r$(VERSION)
#               RCS check out options
RCSCO    =      co -r$(VERSION)
#               RCS check in options
RCSCI    =      ci -u -f -s"Rel" -r$(VERSION) -m"$(LOCKMSG)"


#---------------------------------------------------------------------
# All files needed for the library
#
#	File list for RCS control
#               all include files
CLASS_INCL =	KickerSupply.H \
		kike.H \
		k1k4.H

#               source files
CLASS_SRC =	KickerSupply.C \
		error_message.C \
		startup.C \
		kike.c \
		k1k4.c

#--------------------------------------------------------------------
# What has to be made
#
#               Names of the include files in the 
#		installation directories
#
INCL_INST  = 	../include/KickerSupply.H


#---------------------------------------------------------------------
# Build server
#

all:	kick kike k1k4

kick : 	startup.o KickerSupply.o
	$(CXX) $(LFLAGS) $(LIBS) -o kick startup.o KickerSupply.o

startup.o : startup.C
	$(CXX) $(CXXFLAGS) startup.C

KickerSupply.o : KickerSupply.C
	$(CXX) $(CXXFLAGS) KickerSupply.C

kike : 	kike.o
	$(CXX) $(LFLAGS) $(LIBS) -o kike kike.o

kike.o : 	kike.c
	$(CXX) $(CXXFLAGS) kike.c
#	$(CXX) $(CXXFLAGS) -DICV196 kike.c

k1k4 : 	k1k4.o
	$(CXX) $(LFLAGS) $(LIBS) -o k1k4 k1k4.o

k1k4.o : 	k1k4.c
	$(CXX) $(CXXFLAGS) k1k4.c
#	$(CXX) $(CXXFLAGS) -DICV196 k1k4.c

install :
	cp -f ../include/KickerSupply.H $(DSHOME)/include++
	chmod 664 $(DSHOME)/include++/KickerSupply.H


clean :
		rm -rf $(OBJS)
		rm -rf *.o
		rm *.dbg *.stb


clobber:	clean
		rm -rf	$(LIBNAME)


lock:
		$(RCSLOCK) $(CLASS_SRC)
		cd ../include; $(RCSLOCK) $(CLASS_INCL)
		cd $(LOHOME)

co:
		$(RCSCO) $(CLASS_SRC)
		cd ../include; $(RCSCO) $(CLASS_INCL)
		cd $(LOHOME)

ci:
		$(RCSCI) $(CLASS_SRC)
		cd ../include; $(RCSCI) $(CLASS_INCL)
		cd $(LOHOME)
	

