/*
 * Imakefile
 *
 * Imakefile for building EDRFS file manager as a linux kernel module
 *
 * Authors: Marc Unangst, Jim Zelenka
 */
/*
 * Copyright (c) of Carnegie Mellon University, 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.
 */

#define NASD_LinuxPullinOs
#include "NASD.tmpl"

CFLAGS += ${NASD_KMOD_EXTRACFLAGS}
DEPEND_DEFINES += ${NASD_KMOD_EXTRACFLAGS} ${PULLINSYMS}

#if BUILD_NASD_RPC_PACKAGE == NASD_RPC_PACKAGE_DCE
RPCOBJS = \
	nasd_edrfs_dce.o \
	nasd_edrfs_server_sstub.o

NASD_IDLGenServerNoMepv($(THE_TOP)/include/nasd/nasd_edrfs_server.idl,nasd_edrfs_server_sstub,nasd_edrfs_server.h)
NASD_CloneFile(nasd_edrfs_dce.c,edrfs/server/nasd_edrfs_dce.c)

#endif /* BUILD_NASD_RPC_PACKAGE == NASD_RPC_PACKAGE_DCE */

#if BUILD_NASD_RPC_PACKAGE == NASD_RPC_PACKAGE_NONE
RPCOBJS = \
	nasd_edrfs_norpc.o

NASD_CloneFile(nasd_edrfs_norpc.c,edrfs/server/nasd_edrfs_norpc.c)
#endif /* BUILD_NASD_RPC_PACKAGE == NASD_RPC_PACKAGE_NONE */

#if BUILD_NASD_RPC_PACKAGE == NASD_RPC_PACKAGE_SRPC
RPCOBJS = \
	nasd_edrfs_srpc.o \
	nasd_edrfs_server_sstub.o

NASD_RPCSimpleGenServer(nasd_edrfs_server)
NASD_CloneFile(nasd_edrfs_srpc.c,edrfs/server/nasd_edrfs_srpc.c)
#endif /* BUILD_NASD_RPC_PACKAGE == NASD_RPC_PACKAGE_SRPC */

OBJS = \
	$(RPCOBJS) \
	nasd_edrfs_core.o \
	nasd_edrfs_dir.o \
	nasd_edrfs_drive.o \
	nasd_edrfs_kmain.o \
	nasd_edrfs_mq.o \
	nasd_edrfs_name.o \
	nasd_edrfs_ops.o \
	nasd_edrfs_worker.o

NASD_NoOverrideCOTarget(nasd_linux_edrfs_fm)
NASD_NoOverrideCOTarget(nasd_linux_edrfs_fm_colocate)

SRCS = \
	nasd_linux_edrfs_fm.c \
	nasd_linux_edrfs_fm_colocate.c \
	${OBJS:.o=.c}

REG_OBJS = \
	nasd_linux_edrfs_fm.o \
	${OBJS}

CO_OBJS = \
	nasd_linux_edrfs_fm_colocate.o \
	nasd_edrfs_client_colocate.o \
	${OBJS}

NASD_LinuxKernelModuleTarget(nasd_edrfs_fm.o,${REG_OBJS})
NASD_LinuxKernelModuleTarget(nasd_edrfs_fm_colocate.o,${CO_OBJS})

NASD_CloneFile(nasd_edrfs_core.c,edrfs/server/nasd_edrfs_core.c)
NASD_CloneFile(nasd_edrfs_dir.c,edrfs/server/nasd_edrfs_dir.c)
NASD_CloneFile(nasd_edrfs_drive.c,edrfs/server/nasd_edrfs_drive.c)
NASD_CloneFile(nasd_edrfs_kmain.c,edrfs/server/nasd_edrfs_kmain.c)
NASD_CloneFile(nasd_edrfs_mq.c,edrfs/server/nasd_edrfs_mq.c)
NASD_CloneFile(nasd_edrfs_name.c,edrfs/server/nasd_edrfs_name.c)
NASD_CloneFile(nasd_edrfs_ops.c,edrfs/server/nasd_edrfs_ops.c)
NASD_CloneFile(nasd_edrfs_worker.c,edrfs/server/nasd_edrfs_worker.c)

NASD_CloneFile(nasd_edrfs_client_colocate.c,edrfs/client/nasd_edrfs_client_colocate.c)

NASD_Depend()

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