/*
 * Imakefile
 *
 * Author: Khalil Amiri
 */
/*
 * 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"

#if BUILD_NASD_RPC_PACKAGE == NASD_RPC_PACKAGE_NONE
RPCOBJS = nasd_cheops_mgr_norpc.o
RPCSRCS = nasd_cheops_mgr_norpc.c
#endif /* BUILD_NASD_RPC_PACKAGE == NASD_RPC_PACKAGE_NONE */

#if BUILD_NASD_RPC_PACKAGE == NASD_RPC_PACKAGE_DCE
RPCOBJS = nasd_cheops_mgr_sstub.o nasd_cheops_mgr_dce.o
RPCSRCS = nasd_cheops_mgr_sstub.c nasd_cheops_mgr_dce.c
#endif /* BUILD_NASD_RPC_PACKAGE == NASD_RPC_PACKAGE_DCE */

#if BUILD_NASD_RPC_PACKAGE == NASD_RPC_PACKAGE_SRPC
RPCOBJS = nasd_cheops_mgr_sstub.o nasd_cheops_mgr_srpc.o
RPCSRCS = nasd_cheops_mgr_sstub.c nasd_cheops_mgr_srpc.c
#endif /* BUILD_NASD_RPC_PACKAGE == NASD_RPC_PACKAGE_SRPC */

SRCS = \
	$(RPCSRCS) \
	nasd_cheops_mgr_alloc.c  \
	nasd_cheops_mgr_init.c  \
	nasd_cheops_mgr_btree.c \
	nasd_cheops_mgr_sec.c  \
	nasd_cheops_mgr_sst.c \
	nasd_cheops_mgr_main.c \
	nasd_cheops_mgr_ops.c \
	nasd_cheops_mgr_qos.c \
	nasd_cheops_mgr_bsdir.c

MGROBJS = \
	$(RPCOBJS) \
	nasd_cheops_mgr_alloc.o  \
	nasd_cheops_mgr_init.o  \
	nasd_cheops_mgr_btree.o \
	nasd_cheops_mgr_sec.o  \
	nasd_cheops_mgr_sst.o \
	nasd_cheops_mgr_main.o \
	nasd_cheops_mgr_qos.o \
	nasd_cheops_mgr_ops.o \
	nasd_cheops_mgr_bsdir.o


NASD_CCCLibTargetSimple(cheops_mgr,$(MGROBJS))

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

mepv:
	@echo "Generating sstub mepv"
	@$(RM) nasd_cheops_mgr_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_cheops_mgr.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_cheops_mgr.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_cheops_mgr_epv/ | sed 's/< //' | sed s/nasd_/nasd_cheops_mgr_/ | sed 's/nasd_cheops_mgr_cheops_/nasd_cheops_mgr_/'
	@$(RM) XXXNASDREPLACEXXX.h tmp.mepv tmp.no_mepv nasd_cheops_mgr_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_cheops_mgr)
#endif /* BUILD_NASD_RPC_PACKAGE == NASD_RPC_PACKAGE_SRPC */

InstallProgram(cheops_mgr,$(NASD_DESTBIN))

#undef InstallManPage
#define InstallManPage(file,dest)

cheops_mgr.pixie: cheops_mgr Imakefile
	atom -o /usr/tmp/atom.out -tool pixie cheops_mgr \
	-excobj libdce.so \
	-incobj libc.so -incobj libmach.so \
	-incobj libc_r.so -incobj libpthreads.so \
	-incobj libm.so \
	-shlibdir /usr/tmp/atom
	mv /usr/tmp/atom.out $@

cheops_mgr.cycles: cheops_mgr Imakefile
	atom -o /usr/tmp/atom.out -tool cycles cheops_mgr \
	-excobj libdce.so \
	-incobj libc.so -incobj libmach.so \
	-incobj libc_r.so -incobj libpthreads.so \
	-incobj libm.so \
	-shlibdir /usr/tmp/atom
	mv /usr/tmp/atom.out $@

cheops_mgr.third: cheops_mgr Imakefile
	atom -o /usr/tmp/atom.out -tool third cheops_mgr \
	-env threads -excobj libc.so -excobj libc_r.so -excobj libpthreads.so \
	-shlibdir /usr/tmp/atom
	mv /usr/tmp/atom.out $@

NASD_Depend()

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