/* @TITLE "Makefile: Makefile for DMCACHE" */
/* 
 * This is the top-level makefile for DMCACHE/Proteus.
 * (It is passed through cpp, so we use C-style comments.
 * Note that this makefile is always executed from some subdirectory,
 * so targets like mydepend must refer to ..
 *
 * MUST "make mydepend" after change of Scheduler, CPFS, or IOPFS.
 *
 * Part of 
 *           The STARFISH Parallel file-system simulator
 *      (Simulation Tool for Advanced Research in File Systems)
 *
 *                              David Kotz
 *                          Dartmouth College
 *                             Version 2.0
 *                             January 1995
 *                         dfk@cs.dartmouth.edu
 */

/* $Id: Makefile,v 2.0 95/01/18 12:17:47 dfk RELEASE $ */

CFLAGS = -g -Wall -DPROTEUS -DDFK
#define GCC

userobj = \
  driver.o userdebug.o worker.o cp.o lu.o iop.o \
  message.o cpfs.o iopfs.o \
  diskdriver.o disklayout.o diskdevice.o diskevent.o \
  aux.o tests.o stats.o util.o userdata.o \
  barrier.o ready.o broadcast.o queue-cyc.o queue-noncyc.o dualq.o pool.o \
  condition.o buflist.o pattern.o
Hsrc = \
  protocol.h user-events.h aux.h pattern.h \
  dmcache.h proteus.h time.h dfk.h worker.h message.h file.h \
  disk.h diskdriver.h disklayout.h \
  diskdevice.h diskdevices.h diskevent.h diskdevice-dfk.h \
  cpfs.h iopfs.h \
  stats.h util.h userdata.h tests.h \
  barrier.h ready.h broadcast.h queue.h dualq.h pool.h condition.h buflist.h
Param = \
  dmcache.param cpfs.param iopfs.param \
  message.param userdata.param \
  disk.param diskmodel.param file.param lu.param dummy.param
Csrc = \
  driver.c userdebug.c aux.c stats.c pattern.c queue-noncyc.c \
  diskdevice.c diskdevice-model.c diskdevice-trivial.c diskevent.c \
  userdata.c unstripe.c verify.c verify2.c lutest.c
CAsrc = \
  worker.ca cp.ca lu.ca iop.ca message.ca \
  cpfs.ca cpfs-none.ca cpfs-single.ca cpfs-double.ca cpfs-thread.ca\
  cpfs-direct.ca cpfs-direct-stubs.ca \
  iopfs.ca iopfs-none.ca iopfs-block.ca iopfs-cache.ca \
  iopfs-general.ca iopfs-direct-stubs.ca \
  diskdriver.ca disklayout.ca \
  tests.ca util.ca barrier.ca ready.ca broadcast.ca \
  queue-cyc.ca dualq.ca pool.ca condition.ca buflist.ca
usersrc = $(Hsrc) $(Param) $(Csrc) $(CAsrc)

unstripe: unstripe.o
	$(CC) -o unstripe unstripe.o

verify: verify.o
	$(CC) -o verify verify.o

verify2: verify2.o 
	$(CC) -o verify2 verify2.o -lm

lutest: lutest.o 
	$(CC) -o lutest lutest.o -lm

/* make the source files available to this subdirectory */
links: 
	linkfiles .. $(usersrc) Graphfile Configfile ParamHelp 

/* make dependencies in ../Makefile */
mydepend:
	makedepend $(CFLAGS) -s '# MAKEDEPEND boundary */' -f ../Makefile $(Csrc) $(CAsrc)

tags: hereTAGS ../TAGS

hereTAGS:
	etags *.h *.param *.c *.ca

../TAGS: $(usersrc)
	cd ..; etags $(usersrc)

checkin:
	gunzip -r ../RCS
	cd ..; checkin -n Makefile Graphfile Configfile ParamHelp $(usersrc)

cleanup: clean
	rm -f *~ core out DISK*
	cd ..; rm -f *~

/* in addition to the dependencies below */
cpfs.o: cpfs-none.ca cpfs-single.ca cpfs-double.ca cpfs-thread.ca \
   cpfs-direct.ca cpfs-direct-stubs.ca
iopfs.o: iopfs-none.ca iopfs-block.ca iopfs-cache.ca \
   iopfs-general.ca iopfs-direct-stubs.ca

/* we need these comments to hide the # used by makedepend
# MAKEDEPEND boundary */

driver.o: /usr/include/sys/time.h /usr/include/sys/ansi_compat.h
driver.o: /usr/include/sys/resource.h dmcache.h /usr/include/stdio.h
driver.o: /usr/include/stdlib.h dfk.h proteus.h user.h sim.h common.h
driver.o: /usr/include/assert.h prototypes.h conf.param rt_thread_def.h
driver.o: OS.param monitorswitch.h cache.h cache.param shmem.h mem.param
driver.o: sema.h thread.h simreq.h dmcache.param broadcast.h barrier.h
driver.o: ready.h stats.h user-events.h event.h events.h worker.h time.h
driver.o: pattern.h message.h userdata.h userdata.param aux.h util.h
driver.o: message.param dualq.h pool.h cpfs.param disk.h disk.param
driver.o: diskmodel.param dummy.param file.h file.param iopfs.param sim.param
userdebug.o: dmcache.h /usr/include/stdio.h /usr/include/sys/ansi_compat.h
userdebug.o: /usr/include/stdlib.h dfk.h proteus.h user.h sim.h common.h
userdebug.o: /usr/include/assert.h prototypes.h conf.param rt_thread_def.h
userdebug.o: OS.param monitorswitch.h cache.h cache.param shmem.h mem.param
userdebug.o: sema.h thread.h simreq.h dmcache.param
aux.o: dmcache.h /usr/include/stdio.h /usr/include/sys/ansi_compat.h
aux.o: /usr/include/stdlib.h dfk.h proteus.h user.h sim.h common.h
aux.o: /usr/include/assert.h prototypes.h conf.param rt_thread_def.h OS.param
aux.o: monitorswitch.h cache.h cache.param shmem.h mem.param sema.h thread.h
aux.o: simreq.h dmcache.param aux.h userdata.h userdata.param util.h time.h
aux.o: /usr/include/math.h
stats.o: dmcache.h /usr/include/stdio.h /usr/include/sys/ansi_compat.h
stats.o: /usr/include/stdlib.h dfk.h proteus.h user.h sim.h common.h
stats.o: /usr/include/assert.h prototypes.h conf.param rt_thread_def.h
stats.o: OS.param monitorswitch.h cache.h cache.param shmem.h mem.param
stats.o: sema.h thread.h simreq.h dmcache.param stats.h user-events.h event.h
stats.o: events.h cpfs.param iopfs.param disk.h disk.param diskmodel.param
stats.o: lu.param file.h file.param pattern.h
pattern.o: dmcache.h /usr/include/stdio.h /usr/include/sys/ansi_compat.h
pattern.o: /usr/include/stdlib.h dfk.h proteus.h user.h sim.h common.h
pattern.o: /usr/include/assert.h prototypes.h conf.param rt_thread_def.h
pattern.o: OS.param monitorswitch.h cache.h cache.param shmem.h mem.param
pattern.o: sema.h thread.h simreq.h dmcache.param pattern.h
queue-noncyc.o: dmcache.h /usr/include/stdio.h /usr/include/sys/ansi_compat.h
queue-noncyc.o: /usr/include/stdlib.h dfk.h proteus.h user.h sim.h common.h
queue-noncyc.o: /usr/include/assert.h prototypes.h conf.param rt_thread_def.h
queue-noncyc.o: OS.param monitorswitch.h cache.h cache.param shmem.h
queue-noncyc.o: mem.param sema.h thread.h simreq.h dmcache.param queue.h
diskdevice.o: diskmodel.param diskdevice-model.c diskdevice-dfk.h dmcache.h
diskdevice.o: /usr/include/stdio.h /usr/include/sys/ansi_compat.h
diskdevice.o: /usr/include/stdlib.h dfk.h proteus.h user.h sim.h common.h
diskdevice.o: /usr/include/assert.h prototypes.h conf.param rt_thread_def.h
diskdevice.o: OS.param monitorswitch.h cache.h cache.param shmem.h mem.param
diskdevice.o: sema.h thread.h simreq.h dmcache.param userdata.h
diskdevice.o: userdata.param aux.h util.h time.h /usr/include/math.h stats.h
diskdevice.o: user-events.h event.h events.h disk.h disk.param diskevent.h
diskdevice.o: diskdevice.h queue.h diskdevices.h
diskdevice-model.o: diskdevice-dfk.h dmcache.h /usr/include/stdio.h
diskdevice-model.o: /usr/include/sys/ansi_compat.h /usr/include/stdlib.h
diskdevice-model.o: dfk.h proteus.h user.h sim.h common.h
diskdevice-model.o: /usr/include/assert.h prototypes.h conf.param
diskdevice-model.o: rt_thread_def.h OS.param monitorswitch.h cache.h
diskdevice-model.o: cache.param shmem.h mem.param sema.h thread.h simreq.h
diskdevice-model.o: dmcache.param userdata.h userdata.param aux.h util.h
diskdevice-model.o: time.h /usr/include/math.h stats.h user-events.h event.h
diskdevice-model.o: events.h disk.h disk.param diskevent.h diskdevice.h
diskdevice-model.o: queue.h diskdevices.h
diskdevice-trivial.o: dmcache.h /usr/include/stdio.h
diskdevice-trivial.o: /usr/include/sys/ansi_compat.h /usr/include/stdlib.h
diskdevice-trivial.o: dfk.h proteus.h user.h sim.h common.h
diskdevice-trivial.o: /usr/include/assert.h prototypes.h conf.param
diskdevice-trivial.o: rt_thread_def.h OS.param monitorswitch.h cache.h
diskdevice-trivial.o: cache.param shmem.h mem.param sema.h thread.h simreq.h
diskdevice-trivial.o: dmcache.param userdata.h userdata.param aux.h util.h
diskdevice-trivial.o: time.h stats.h user-events.h event.h events.h disk.h
diskdevice-trivial.o: disk.param diskmodel.param diskevent.h diskdevice.h
diskdevice-trivial.o: queue.h diskdevices.h
diskevent.o: dmcache.h /usr/include/stdio.h /usr/include/sys/ansi_compat.h
diskevent.o: /usr/include/stdlib.h dfk.h proteus.h user.h sim.h common.h
diskevent.o: /usr/include/assert.h prototypes.h conf.param rt_thread_def.h
diskevent.o: OS.param monitorswitch.h cache.h cache.param shmem.h mem.param
diskevent.o: sema.h thread.h simreq.h dmcache.param diskevent.h time.h
diskevent.o: simcalls.h sim.param processor.h conf.h event.h events.h
userdata.o: dmcache.h /usr/include/stdio.h /usr/include/sys/ansi_compat.h
userdata.o: /usr/include/stdlib.h dfk.h proteus.h user.h sim.h common.h
userdata.o: /usr/include/assert.h prototypes.h conf.param rt_thread_def.h
userdata.o: OS.param monitorswitch.h cache.h cache.param shmem.h mem.param
userdata.o: sema.h thread.h simreq.h dmcache.param userdata.h userdata.param
userdata.o: aux.h util.h time.h
unstripe.o: /usr/include/stdio.h /usr/include/sys/ansi_compat.h
unstripe.o: /usr/include/stdlib.h dmcache.h dfk.h proteus.h user.h sim.h
unstripe.o: common.h /usr/include/assert.h prototypes.h conf.param
unstripe.o: rt_thread_def.h OS.param monitorswitch.h cache.h cache.param
unstripe.o: shmem.h mem.param sema.h thread.h simreq.h dmcache.param file.h
unstripe.o: disk.h disk.param file.param diskmodel.param
verify.o: /usr/include/stdio.h /usr/include/sys/ansi_compat.h
verify.o: /usr/include/stdlib.h dmcache.h dfk.h proteus.h user.h sim.h
verify.o: common.h /usr/include/assert.h prototypes.h conf.param
verify.o: rt_thread_def.h OS.param monitorswitch.h cache.h cache.param
verify.o: shmem.h mem.param sema.h thread.h simreq.h dmcache.param file.h
verify.o: disk.h disk.param file.param diskmodel.param
verify2.o: /usr/include/stdio.h /usr/include/sys/ansi_compat.h
verify2.o: /usr/include/stdlib.h /usr/include/math.h dmcache.h dfk.h
verify2.o: proteus.h user.h sim.h common.h /usr/include/assert.h prototypes.h
verify2.o: conf.param rt_thread_def.h OS.param monitorswitch.h cache.h
verify2.o: cache.param shmem.h mem.param sema.h thread.h simreq.h
verify2.o: dmcache.param aux.h file.h disk.h disk.param file.param
verify2.o: diskdriver.h userdata.h userdata.param util.h time.h
verify2.o: diskmodel.param
lutest.o: /usr/include/stdio.h /usr/include/sys/ansi_compat.h
lutest.o: /usr/include/stdlib.h /usr/include/math.h file.h disk.h disk.param
lutest.o: file.param lu.param
worker.o: dmcache.h /usr/include/stdio.h /usr/include/sys/ansi_compat.h
worker.o: /usr/include/stdlib.h dfk.h proteus.h user.h sim.h common.h
worker.o: /usr/include/assert.h prototypes.h conf.param rt_thread_def.h
worker.o: OS.param monitorswitch.h cache.h cache.param shmem.h mem.param
worker.o: sema.h thread.h simreq.h dmcache.param worker.h ready.h
cp.o: dmcache.h /usr/include/stdio.h /usr/include/sys/ansi_compat.h
cp.o: /usr/include/stdlib.h dfk.h proteus.h user.h sim.h common.h
cp.o: /usr/include/assert.h prototypes.h conf.param rt_thread_def.h OS.param
cp.o: monitorswitch.h cache.h cache.param shmem.h mem.param sema.h thread.h
cp.o: simreq.h dmcache.param userdata.h userdata.param aux.h util.h time.h
cp.o: barrier.h ready.h protocol.h message.h message.param dualq.h pool.h
cp.o: pattern.h diskdriver.h disk.h disk.param stats.h user-events.h event.h
cp.o: events.h worker.h cpfs.h iopfs.h file.h file.param iopfs.param tests.h
lu.o: dmcache.h /usr/include/stdio.h /usr/include/sys/ansi_compat.h
lu.o: /usr/include/stdlib.h dfk.h proteus.h user.h sim.h common.h
lu.o: /usr/include/assert.h prototypes.h conf.param rt_thread_def.h OS.param
lu.o: monitorswitch.h cache.h cache.param shmem.h mem.param sema.h thread.h
lu.o: simreq.h dmcache.param message.h userdata.h userdata.param aux.h util.h
lu.o: time.h message.param dualq.h pool.h barrier.h cpfs.h pattern.h file.h
lu.o: disk.h disk.param file.param stats.h user-events.h event.h events.h
lu.o: lu.param
iop.o: dmcache.h /usr/include/stdio.h /usr/include/sys/ansi_compat.h
iop.o: /usr/include/stdlib.h dfk.h proteus.h user.h sim.h common.h
iop.o: /usr/include/assert.h prototypes.h conf.param rt_thread_def.h OS.param
iop.o: monitorswitch.h cache.h cache.param shmem.h mem.param sema.h thread.h
iop.o: simreq.h dmcache.param barrier.h ready.h time.h util.h diskdriver.h
iop.o: userdata.h userdata.param aux.h disk.h disk.param worker.h iopfs.h
iop.o: protocol.h message.h message.param dualq.h pool.h pattern.h
message.o: dmcache.h /usr/include/stdio.h /usr/include/sys/ansi_compat.h
message.o: /usr/include/stdlib.h dfk.h proteus.h user.h sim.h common.h
message.o: /usr/include/assert.h prototypes.h conf.param rt_thread_def.h
message.o: OS.param monitorswitch.h cache.h cache.param shmem.h mem.param
message.o: sema.h thread.h simreq.h dmcache.param time.h userdata.h
message.o: userdata.param aux.h util.h message.h message.param dualq.h pool.h
message.o: stats.h user-events.h event.h events.h
cpfs.o: cpfs.param file.h disk.h disk.param file.param cpfs-none.ca dmcache.h
cpfs.o: /usr/include/stdio.h /usr/include/sys/ansi_compat.h
cpfs.o: /usr/include/stdlib.h dfk.h proteus.h user.h sim.h common.h
cpfs.o: /usr/include/assert.h prototypes.h conf.param rt_thread_def.h
cpfs.o: OS.param monitorswitch.h cache.h cache.param shmem.h mem.param sema.h
cpfs.o: thread.h simreq.h dmcache.param time.h diskdriver.h userdata.h
cpfs.o: userdata.param aux.h util.h protocol.h message.h message.param
cpfs.o: dualq.h pool.h pattern.h iopfs.h cpfs.h barrier.h stats.h
cpfs.o: user-events.h event.h events.h cpfs-direct-stubs.ca
cpfs-none.o: dmcache.h /usr/include/stdio.h /usr/include/sys/ansi_compat.h
cpfs-none.o: /usr/include/stdlib.h dfk.h proteus.h user.h sim.h common.h
cpfs-none.o: /usr/include/assert.h prototypes.h conf.param rt_thread_def.h
cpfs-none.o: OS.param monitorswitch.h cache.h cache.param shmem.h mem.param
cpfs-none.o: sema.h thread.h simreq.h dmcache.param time.h diskdriver.h
cpfs-none.o: userdata.h userdata.param aux.h util.h disk.h disk.param
cpfs-none.o: protocol.h message.h message.param dualq.h pool.h pattern.h
cpfs-none.o: iopfs.h cpfs.h barrier.h stats.h user-events.h event.h events.h
cpfs-single.o: dmcache.h /usr/include/stdio.h /usr/include/sys/ansi_compat.h
cpfs-single.o: /usr/include/stdlib.h dfk.h proteus.h user.h sim.h common.h
cpfs-single.o: /usr/include/assert.h prototypes.h conf.param rt_thread_def.h
cpfs-single.o: OS.param monitorswitch.h cache.h cache.param shmem.h mem.param
cpfs-single.o: sema.h thread.h simreq.h dmcache.param time.h diskdriver.h
cpfs-single.o: userdata.h userdata.param aux.h util.h disk.h disk.param
cpfs-single.o: protocol.h message.h message.param dualq.h pool.h pattern.h
cpfs-single.o: iopfs.h cpfs.h stats.h user-events.h event.h events.h
cpfs-single.o: barrier.h
cpfs-double.o: dmcache.h /usr/include/stdio.h /usr/include/sys/ansi_compat.h
cpfs-double.o: /usr/include/stdlib.h dfk.h proteus.h user.h sim.h common.h
cpfs-double.o: /usr/include/assert.h prototypes.h conf.param rt_thread_def.h
cpfs-double.o: OS.param monitorswitch.h cache.h cache.param shmem.h mem.param
cpfs-double.o: sema.h thread.h simreq.h dmcache.param time.h diskdriver.h
cpfs-double.o: userdata.h userdata.param aux.h util.h disk.h disk.param
cpfs-double.o: protocol.h message.h message.param dualq.h pool.h pattern.h
cpfs-double.o: iopfs.h cpfs.h stats.h user-events.h event.h events.h
cpfs-double.o: barrier.h
cpfs-thread.o: dmcache.h /usr/include/stdio.h /usr/include/sys/ansi_compat.h
cpfs-thread.o: /usr/include/stdlib.h dfk.h proteus.h user.h sim.h common.h
cpfs-thread.o: /usr/include/assert.h prototypes.h conf.param rt_thread_def.h
cpfs-thread.o: OS.param monitorswitch.h cache.h cache.param shmem.h mem.param
cpfs-thread.o: sema.h thread.h simreq.h dmcache.param time.h diskdriver.h
cpfs-thread.o: userdata.h userdata.param aux.h util.h disk.h disk.param
cpfs-thread.o: protocol.h message.h message.param dualq.h pool.h pattern.h
cpfs-thread.o: iopfs.h cpfs.h stats.h user-events.h event.h events.h
cpfs-thread.o: barrier.h sim.param
cpfs-direct.o: dmcache.h /usr/include/stdio.h /usr/include/sys/ansi_compat.h
cpfs-direct.o: /usr/include/stdlib.h dfk.h proteus.h user.h sim.h common.h
cpfs-direct.o: /usr/include/assert.h prototypes.h conf.param rt_thread_def.h
cpfs-direct.o: OS.param monitorswitch.h cache.h cache.param shmem.h mem.param
cpfs-direct.o: sema.h thread.h simreq.h dmcache.param time.h diskdriver.h
cpfs-direct.o: userdata.h userdata.param aux.h util.h disk.h disk.param
cpfs-direct.o: protocol.h message.h message.param dualq.h pool.h pattern.h
cpfs-direct.o: iopfs.h cpfs.h stats.h user-events.h event.h events.h
cpfs-direct.o: barrier.h file.h file.param
iopfs.o: iopfs.param file.h disk.h disk.param file.param iopfs-cache.ca
iopfs.o: dmcache.h /usr/include/stdio.h /usr/include/sys/ansi_compat.h
iopfs.o: /usr/include/stdlib.h dfk.h proteus.h user.h sim.h common.h
iopfs.o: /usr/include/assert.h prototypes.h conf.param rt_thread_def.h
iopfs.o: OS.param monitorswitch.h cache.h cache.param shmem.h mem.param
iopfs.o: sema.h thread.h simreq.h dmcache.param time.h aux.h protocol.h
iopfs.o: message.h userdata.h userdata.param util.h message.param dualq.h
iopfs.o: pool.h pattern.h diskdriver.h iopfs.h stats.h user-events.h event.h
iopfs.o: events.h worker.h condition.h buflist.h iopfs-direct-stubs.ca
iopfs-none.o: dmcache.h /usr/include/stdio.h /usr/include/sys/ansi_compat.h
iopfs-none.o: /usr/include/stdlib.h dfk.h proteus.h user.h sim.h common.h
iopfs-none.o: /usr/include/assert.h prototypes.h conf.param rt_thread_def.h
iopfs-none.o: OS.param monitorswitch.h cache.h cache.param shmem.h mem.param
iopfs-none.o: sema.h thread.h simreq.h dmcache.param time.h aux.h protocol.h
iopfs-none.o: message.h userdata.h userdata.param util.h message.param
iopfs-none.o: dualq.h pool.h pattern.h diskdriver.h disk.h disk.param iopfs.h
iopfs-none.o: stats.h user-events.h event.h events.h worker.h
iopfs-block.o: dmcache.h /usr/include/stdio.h /usr/include/sys/ansi_compat.h
iopfs-block.o: /usr/include/stdlib.h dfk.h proteus.h user.h sim.h common.h
iopfs-block.o: /usr/include/assert.h prototypes.h conf.param rt_thread_def.h
iopfs-block.o: OS.param monitorswitch.h cache.h cache.param shmem.h mem.param
iopfs-block.o: sema.h thread.h simreq.h dmcache.param time.h aux.h protocol.h
iopfs-block.o: message.h userdata.h userdata.param util.h message.param
iopfs-block.o: dualq.h pool.h pattern.h diskdriver.h disk.h disk.param
iopfs-block.o: iopfs.h stats.h user-events.h event.h events.h worker.h
iopfs-cache.o: dmcache.h /usr/include/stdio.h /usr/include/sys/ansi_compat.h
iopfs-cache.o: /usr/include/stdlib.h dfk.h proteus.h user.h sim.h common.h
iopfs-cache.o: /usr/include/assert.h prototypes.h conf.param rt_thread_def.h
iopfs-cache.o: OS.param monitorswitch.h cache.h cache.param shmem.h mem.param
iopfs-cache.o: sema.h thread.h simreq.h dmcache.param time.h aux.h protocol.h
iopfs-cache.o: message.h userdata.h userdata.param util.h message.param
iopfs-cache.o: dualq.h pool.h pattern.h diskdriver.h disk.h disk.param
iopfs-cache.o: iopfs.h stats.h user-events.h event.h events.h worker.h
iopfs-cache.o: condition.h buflist.h
iopfs-general.o: dmcache.h /usr/include/stdio.h
iopfs-general.o: /usr/include/sys/ansi_compat.h /usr/include/stdlib.h dfk.h
iopfs-general.o: proteus.h user.h sim.h common.h /usr/include/assert.h
iopfs-general.o: prototypes.h conf.param rt_thread_def.h OS.param
iopfs-general.o: monitorswitch.h cache.h cache.param shmem.h mem.param sema.h
iopfs-general.o: thread.h simreq.h dmcache.param time.h aux.h protocol.h
iopfs-general.o: message.h userdata.h userdata.param util.h message.param
iopfs-general.o: dualq.h pool.h pattern.h diskdriver.h disk.h disk.param
iopfs-general.o: iopfs.h stats.h user-events.h event.h events.h worker.h
diskdriver.o: dmcache.h /usr/include/stdio.h /usr/include/sys/ansi_compat.h
diskdriver.o: /usr/include/stdlib.h dfk.h proteus.h user.h sim.h common.h
diskdriver.o: /usr/include/assert.h prototypes.h conf.param rt_thread_def.h
diskdriver.o: OS.param monitorswitch.h cache.h cache.param shmem.h mem.param
diskdriver.o: sema.h thread.h simreq.h dmcache.param diskdriver.h userdata.h
diskdriver.o: userdata.param aux.h util.h time.h disk.h disk.param
diskdriver.o: disklayout.h diskdevice.h queue.h diskmodel.param dualq.h
diskdriver.o: pool.h stats.h user-events.h event.h events.h barrier.h file.h
diskdriver.o: file.param
disklayout.o: dmcache.h /usr/include/stdio.h /usr/include/sys/ansi_compat.h
disklayout.o: /usr/include/stdlib.h dfk.h proteus.h user.h sim.h common.h
disklayout.o: /usr/include/assert.h prototypes.h conf.param rt_thread_def.h
disklayout.o: OS.param monitorswitch.h cache.h cache.param shmem.h mem.param
disklayout.o: sema.h thread.h simreq.h dmcache.param diskdevice.h userdata.h
disklayout.o: userdata.param aux.h util.h time.h queue.h disklayout.h disk.h
disklayout.o: disk.param diskmodel.param
tests.o: dmcache.h /usr/include/stdio.h /usr/include/sys/ansi_compat.h
tests.o: /usr/include/stdlib.h dfk.h proteus.h user.h sim.h common.h
tests.o: /usr/include/assert.h prototypes.h conf.param rt_thread_def.h
tests.o: OS.param monitorswitch.h cache.h cache.param shmem.h mem.param
tests.o: sema.h thread.h simreq.h dmcache.param time.h userdata.h
tests.o: userdata.param aux.h util.h protocol.h message.h message.param
tests.o: dualq.h pool.h pattern.h diskdriver.h disk.h disk.param stats.h
tests.o: user-events.h event.h events.h diskdevice.h queue.h tests.h
util.o: dmcache.h /usr/include/stdio.h /usr/include/sys/ansi_compat.h
util.o: /usr/include/stdlib.h dfk.h proteus.h user.h sim.h common.h
util.o: /usr/include/assert.h prototypes.h conf.param rt_thread_def.h
util.o: OS.param monitorswitch.h cache.h cache.param shmem.h mem.param sema.h
util.o: thread.h simreq.h dmcache.param time.h userdata.h userdata.param
util.o: aux.h util.h
barrier.o: dmcache.h /usr/include/stdio.h /usr/include/sys/ansi_compat.h
barrier.o: /usr/include/stdlib.h dfk.h proteus.h user.h sim.h common.h
barrier.o: /usr/include/assert.h prototypes.h conf.param rt_thread_def.h
barrier.o: OS.param monitorswitch.h cache.h cache.param shmem.h mem.param
barrier.o: sema.h thread.h simreq.h dmcache.param barrier.h dualq.h util.h
barrier.o: time.h
ready.o: user.h sim.h /usr/include/stdio.h /usr/include/sys/ansi_compat.h
ready.o: common.h /usr/include/assert.h prototypes.h conf.param
ready.o: rt_thread_def.h OS.param monitorswitch.h cache.h cache.param shmem.h
ready.o: mem.param sema.h thread.h simreq.h ready.h
broadcast.o: user.h sim.h /usr/include/stdio.h /usr/include/sys/ansi_compat.h
broadcast.o: common.h /usr/include/assert.h prototypes.h conf.param
broadcast.o: rt_thread_def.h OS.param monitorswitch.h cache.h cache.param
broadcast.o: shmem.h mem.param sema.h thread.h simreq.h broadcast.h dmcache.h
broadcast.o: /usr/include/stdlib.h dfk.h proteus.h dmcache.param
queue-cyc.o: dmcache.h /usr/include/stdio.h /usr/include/sys/ansi_compat.h
queue-cyc.o: /usr/include/stdlib.h dfk.h proteus.h user.h sim.h common.h
queue-cyc.o: /usr/include/assert.h prototypes.h conf.param rt_thread_def.h
queue-cyc.o: OS.param monitorswitch.h cache.h cache.param shmem.h mem.param
queue-cyc.o: sema.h thread.h simreq.h dmcache.param queue.h
dualq.o: dmcache.h /usr/include/stdio.h /usr/include/sys/ansi_compat.h
dualq.o: /usr/include/stdlib.h dfk.h proteus.h user.h sim.h common.h
dualq.o: /usr/include/assert.h prototypes.h conf.param rt_thread_def.h
dualq.o: OS.param monitorswitch.h cache.h cache.param shmem.h mem.param
dualq.o: sema.h thread.h simreq.h dmcache.param dualq.h
pool.o: dmcache.h /usr/include/stdio.h /usr/include/sys/ansi_compat.h
pool.o: /usr/include/stdlib.h dfk.h proteus.h user.h sim.h common.h
pool.o: /usr/include/assert.h prototypes.h conf.param rt_thread_def.h
pool.o: OS.param monitorswitch.h cache.h cache.param shmem.h mem.param sema.h
pool.o: thread.h simreq.h dmcache.param pool.h
condition.o: dmcache.h /usr/include/stdio.h /usr/include/sys/ansi_compat.h
condition.o: /usr/include/stdlib.h dfk.h proteus.h user.h sim.h common.h
condition.o: /usr/include/assert.h prototypes.h conf.param rt_thread_def.h
condition.o: OS.param monitorswitch.h cache.h cache.param shmem.h mem.param
condition.o: sema.h thread.h simreq.h dmcache.param condition.h
buflist.o: dmcache.h /usr/include/stdio.h /usr/include/sys/ansi_compat.h
buflist.o: /usr/include/stdlib.h dfk.h proteus.h user.h sim.h common.h
buflist.o: /usr/include/assert.h prototypes.h conf.param rt_thread_def.h
buflist.o: OS.param monitorswitch.h cache.h cache.param shmem.h mem.param
buflist.o: sema.h thread.h simreq.h dmcache.param buflist.h condition.h
buflist.o: protocol.h message.h userdata.h userdata.param aux.h util.h time.h
buflist.o: message.param dualq.h pool.h pattern.h diskdriver.h disk.h
buflist.o: disk.param
