/*
 * Imakefile
 *
 * Author: Jim Zelenka
 */
/*
 * Copyright (c) of Carnegie Mellon University, 1996,1997,1998,1999.
 *
 * Permission to reproduce, use, and prepare derivative works of
 * this software for internal use is granted provided the copyright
 * and "No Warranty" statements are included with all reproductions
 * and derivative works. This software may also be redistributed
 * without charge provided that the copyright and "No Warranty"
 * statements are included in all redistributions.
 *
 * NO WARRANTY. THIS SOFTWARE IS FURNISHED ON AN "AS IS" BASIS.
 * CARNEGIE MELLON UNIVERSITY MAKES NO WARRANTIES OF ANY KIND, EITHER
 * EXPRESSED OR IMPLIED AS TO THE MATTER INCLUDING, BUT NOT LIMITED
 * TO: WARRANTY OF FITNESS FOR PURPOSE OR MERCHANTABILITY, EXCLUSIVITY
 * OF RESULTS OR RESULTS OBTAINED FROM USE OF THIS SOFTWARE. CARNEGIE
 * MELLON UNIVERSITY DOES NOT MAKE ANY WARRANTY OF ANY KIND WITH RESPECT
 * TO FREEDOM FROM PATENT, TRADEMARK, OR COPYRIGHT INFRINGEMENT.
 */

#include "NASD.tmpl"

/* LCDEBUGFLAGS = -g -trapuv */

#if BUILD_NASD_RPC_PACKAGE == NASD_RPC_PACKAGE_NONE
RPCSRCS = \
	nasd_edrfs_norpc.c

RPCOBJS = ${RPCSRCS:.c=.o}
#endif /* BUILD_NASD_RPC_PACKAGE == NASD_RPC_PACKAGE_NONE */

#if BUILD_NASD_RPC_PACKAGE == NASD_RPC_PACKAGE_SRPC
RPCSRCS = \
	nasd_edrfs_server_sstub.c \
	nasd_edrfs_srpc.c

RPCOBJS = ${RPCSRCS:.c=.o}
#endif /* BUILD_NASD_RPC_PACKAGE == NASD_RPC_PACKAGE_SRPC */

#if BUILD_NASD_RPC_PACKAGE == NASD_RPC_PACKAGE_DCE
RPCSRCS = \
	nasd_edrfs_dce.c \
	nasd_edrfs_server_sstub.c

RPCOBJS = ${RPCSRCS:.c=.o}
#endif /* BUILD_NASD_RPC_PACKAGE == NASD_RPC_PACKAGE_DCE */

SRCS = \
	$(RPCSRCS) \
	nasd_kedrfs_server.c \
	nasd_edrfs_core.c \
	nasd_edrfs_dir.c \
	nasd_edrfs_drive.c \
	nasd_edrfs_main.c \
	nasd_edrfs_mq.c \
	nasd_edrfs_name.c \
	nasd_edrfs_ops.c \
	nasd_edrfs_worker.c

SERVEROBJS = \
	$(RPCOBJS) \
	nasd_edrfs_core.o \
	nasd_edrfs_dir.o \
	nasd_edrfs_drive.o \
	nasd_edrfs_main.o \
	nasd_edrfs_mq.o \
	nasd_edrfs_name.o \
	nasd_edrfs_ops.o \
	nasd_edrfs_worker.o

#if BUILD_NASD_RPC_PACKAGE == NASD_RPC_PACKAGE_DCE
NASD_IDLGenServerNoMepv($(THE_TOP)/include/nasd/nasd_edrfs_server.idl,nasd_edrfs_server_sstub,nasd_edrfs_server.h)

mepv:
	@echo "Generating sstub mepv"
	@$(RM) nasd_edrfs_server_sstub.c tmp.mepv tmp.no_mepv tmp.mepv_diff
	@$(DCEIDL) -keep c_source -I$(THE_TOP)/include -client none -server stub -sstub tmp.mepv -header XXXNASDREPLACEXXX $(THE_TOP)/include/nasd/nasd_edrfs_server.idl
	@$(DCEIDL) -no_mepv -keep c_source -I$(THE_TOP)/include -client none -server stub -sstub tmp.no_mepv -header XXXNASDREPLACEXXX $(THE_TOP)/include/nasd/nasd_edrfs_server.idl
	@sh -c "$(NASD_DIFF) tmp.mepv tmp.no_mepv || exit 0" > tmp.mepv_diff
	@cat tmp.mepv_diff | ${AWK} 'BEGIN {s=0;FS="#";} /^[0123456789]/ { s = s + 1; } ! /^[0123456789]/ { if (s < 2) { print $0 } }' | $(SED) s/IDL_manager_epv/nasd_edrfs_server_epv/ | sed 's/< //' | sed s/nasd_/nasd_sedrfs_/ | sed 's/nasd_sedrfs_edrfs_/nasd_edrfs_/'
	@$(RM) XXXNASDREPLACEXXX.h tmp.mepv tmp.no_mepv nasd_edrfs_server_sstub.c tmp.mepv_diff
#endif /* BUILD_NASD_RPC_PACKAGE == NASD_RPC_PACKAGE_DCE */

#if BUILD_NASD_RPC_PACKAGE == NASD_RPC_PACKAGE_SRPC
NASD_RPCSimpleGenServer(nasd_edrfs_server)
#endif /* BUILD_NASD_RPC_PACKAGE == NASD_RPC_PACKAGE_SRPC */

#undef InstallManPage
#define InstallManPage(file,dest)

NASD_EDRFScom_CCLibTargetSimple(edrfs_server,$(SERVEROBJS))
InstallProgram(edrfs_server,$(NASD_DESTBIN))

#if defined(AlphaArchitecture) || defined(LinuxArchitecture)
NASD_CLibTargetSimple(nasd_kedrfs_server,nasd_kedrfs_server.o)
InstallProgram(nasd_kedrfs_server,$(NASD_DESTBIN))
#endif /* AlphaArchitecture || LinuxArchitecture */

NASD_Depend()

/*
 * Don't put anything after this
 */
#include "NASD.trailer"
