/*
 * 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 */

SRCS = \
	atomic_tester.c \
	drive_stats.c \
	fastreadwrite.c \
	marshall_tester.c \
	mpdrspeed.c \
	mpdrspeed_coord.c \
	nasd_options.c \
	panic.c \
	pbuild.c \
	pcnulls.c \
	pcreatedelete.c \
	pcrobj.c \
	pcrpart.c \
	pcrmpdrspeed.c \
	pdrspeed.c \
	pgetattr.c \
	pgetinfo.c \
	pinfo.c \
	pinit.c \
	plspart.c \
	preadwrite.c \
	premote.c \
	premote_string.c \
	premove.c \
	psg.c \
	psync.c \
	threadtest.c \
	timeout.c \
	ubench.c 

NASD_CLibTargetSimple(panic,panic.o)
NASD_CLibTargetSimple(nasd_options,nasd_options.o)

NASD_CLibTargetSimpleNoDefault(atomic_tester,atomic_tester.o)
NASD_CLibTargetSimpleNoDefault(timeout,timeout.o)
NASD_CLibTargetSimpleNoDefault(saytime,saytime.o)

NASD_CCLibTargetSimple(fastreadwrite,fastreadwrite.o)

NASD_CCLibTargetSimple(marshall_tester,marshall_tester.o)

NASD_CCLibTargetSimple(mpdrspeed,mpdrspeed.o)
NASD_CCLibTargetSimple(mpdrspeed_coord,mpdrspeed_coord.o)
NASD_CCLibTargetSimple(drive_stats,drive_stats.o)
NASD_CCLibTargetSimple(pcrmpdrspeed,pcrmpdrspeed.o)

NASD_CCLibTargetSimple(pbuild,pbuild.o)

NASD_CCsalLibTargetSimple(pcnulls.sal,pcnulls.o)

NASD_CCLibTargetSimple(pcnulls,pcnulls.o)
NASD_CCLibTargetSimple(pcreatedelete,pcreatedelete.o)
NASD_CCLibTargetSimple(pcrobj,pcrobj.o)
NASD_CCLibTargetSimple(pcrpart,pcrpart.o)
NASD_CCLibTarget(pdrspeed,pdrspeed.o,-lm)
NASD_CCLibTargetSimple(pgetattr,pgetattr.o)
NASD_CCLibTargetSimple(pgetinfo,pgetinfo.o)
NASD_CCLibTargetSimple(pinfo,pinfo.o)
NASD_CCLibTargetSimple(pinit,pinit.o)
NASD_EDRFS_CCLibTargetSimple(plspart,plspart.o)
NASD_CCLibTargetSimple(preadwrite,preadwrite.o)
NASD_CCLibTargetSimple(premove,premove.o)
NASD_CCLibTargetSimple(premote,premote.o premote_string.o)
NASD_CCLibTargetSimple(prshutdown,prshutdown.o)
NASD_CCLibTargetSimple(psg,psg.o)
NASD_CCLibTargetSimple(psync,psync.o)
NASD_CCLibTargetSimple(threadtest,threadtest.o)
NASD_CCLibTargetSimple(ubench,ubench.o)
NASD_Pixify(pdrspeed)

pdrspeed.ptrace: pdrspeed Makefile
	atom -o /usr/tmp/atom.out -tool ptrace pdrspeed \
	-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 $@

pdrspeed.ntrace: pdrspeed Makefile ntrace.inst.c ntrace.anal.c
	atom -o /usr/tmp/atom.out -tool ntrace pdrspeed \
	-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 $@

pdrspeed.cycles: pdrspeed Makefile
	atom -o /usr/tmp/atom.out -tool cycles pdrspeed \
	-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 $@

/*
 * We only install tests that are useful utils
 */
InstallProgram(pcrpart,$(NASD_DESTBIN))
InstallProgram(pinit,$(NASD_DESTBIN))
InstallProgram(prshutdown,$(NASD_DESTBIN))
InstallProgram(psync,$(NASD_DESTBIN))

NASD_Depend()

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