/* @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 ..
 *
 * To make STARFISH, you should 
 *   - pick a name for a new subdirectory; eg, "test"
 *   - run: maketestdir test
 *   - run: domake test tags		# creates TAGS files
 *   - run: domake test mydepend	# computes include dependencies
 *   - run: domake test 		# builds proteus
 *
 * Part of 
 *           The STARFISH Parallel file-system simulator
 *      (Simulation Tool for Advanced Research in File Systems)
 *
 *                              David Kotz
 *                          Dartmouth College
 *                             Version 3.0
 *                             October 1996
 *                         dfk@cs.dartmouth.edu
 */

/* $Id: Makefile,v 3.0 1996/10/18 07:07:52 dfk RELEASE3 $ */

CFLAGS = -O -g -Wall -DPROTEUS -DDFK	/* used for .c files */
CAFLAGS =   -g -Wall -DPROTEUS -DDFK	/* used for .ca files */
#define GCC

userobj = \
  driver.o userdebug.o worker.o cp.o lu.o iop.o \
  message.o cpfs.o iopfs.o permute.o \
  diskdriver.o disklayout.o diskdevice.o diskevent.o diskq.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 permute.h \
  dmcache.h proteus.h time.h dfk.h worker.h message.h file.h \
  disk.h diskdriver.h disklayout.h diskq.h diskreq.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 permute.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 diskq.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

linkfiles: ../linkfiles.c
	$(CC) -O ../linkfiles.c -o linkfiles

/* make the source files available to this subdirectory */
links: linkfiles
	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 *~

/* more than clean */
spotless: reset
	rm -f *.s
	rm -f ../TAGS TAGS lutest unstripe verify2

/* 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.param
iopfs.o: iopfs-none.ca iopfs-block.ca iopfs-cache.ca \
   iopfs-general.ca iopfs-direct-stubs.ca
diskdriver.o: diskq.h

/* 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 net.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-trivial.c 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 stats.h user-events.h
diskdevice.o: event.h events.h disk.h disk.param diskevent.h diskdevice.h
diskdevice.o: 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 net.param dualq.h
cp.o: pool.h pattern.h diskdriver.h disk.h disk.param stats.h user-events.h
cp.o: event.h events.h worker.h cpfs.h cpfs.param iopfs.h iopfs.param file.h
cp.o: file.param tests.h permute.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 net.param dualq.h pool.h barrier.h cpfs.h
lu.o: pattern.h file.h disk.h disk.param file.param stats.h user-events.h
lu.o: event.h events.h 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 net.param dualq.h pool.h pattern.h
iop.o: iopfs.param
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 net.param
message.o: dualq.h pool.h stats.h user-events.h event.h events.h condition.h
permute.o: dmcache.h /usr/include/stdio.h /usr/include/sys/ansi_compat.h
permute.o: /usr/include/stdlib.h dfk.h proteus.h user.h sim.h common.h
permute.o: /usr/include/assert.h prototypes.h conf.param rt_thread_def.h
permute.o: OS.param monitorswitch.h cache.h cache.param shmem.h mem.param
permute.o: sema.h thread.h simreq.h dmcache.param cpfs.param iopfs.param
permute.o: userdata.h userdata.param aux.h util.h time.h barrier.h permute.h
permute.o: message.h message.param net.param dualq.h pool.h disk.param
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: net.param dualq.h pool.h pattern.h iopfs.h iopfs.param cpfs.h
cpfs.o: barrier.h stats.h user-events.h event.h events.h cpfs-direct-stubs.ca
cpfs.o: permute.h
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 net.param dualq.h pool.h
cpfs-none.o: pattern.h iopfs.h iopfs.param cpfs.h barrier.h stats.h
cpfs-none.o: 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 net.param dualq.h pool.h
cpfs-single.o: pattern.h iopfs.h iopfs.param cpfs.h stats.h user-events.h
cpfs-single.o: event.h events.h 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 net.param dualq.h pool.h
cpfs-double.o: pattern.h iopfs.h iopfs.param cpfs.h stats.h user-events.h
cpfs-double.o: event.h events.h 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 net.param dualq.h pool.h
cpfs-thread.o: pattern.h iopfs.h iopfs.param cpfs.h stats.h user-events.h
cpfs-thread.o: event.h events.h 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 net.param dualq.h pool.h
cpfs-direct.o: pattern.h iopfs.h iopfs.param cpfs.h stats.h user-events.h
cpfs-direct.o: event.h events.h barrier.h file.h file.param
cpfs-direct-stubs.o: permute.h
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 net.param
iopfs.o: dualq.h pool.h pattern.h diskdriver.h iopfs.h stats.h user-events.h
iopfs.o: event.h events.h worker.h condition.h buflist.h
iopfs.o: 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: net.param dualq.h pool.h pattern.h diskdriver.h disk.h
iopfs-none.o: disk.param iopfs.h iopfs.param stats.h user-events.h event.h
iopfs-none.o: 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: net.param dualq.h pool.h pattern.h diskdriver.h disk.h
iopfs-block.o: disk.param iopfs.h iopfs.param stats.h user-events.h event.h
iopfs-block.o: 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: net.param dualq.h pool.h pattern.h diskdriver.h disk.h
iopfs-cache.o: disk.param iopfs.h iopfs.param stats.h user-events.h event.h
iopfs-cache.o: events.h worker.h 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: net.param dualq.h pool.h pattern.h diskdriver.h disk.h
iopfs-general.o: disk.param iopfs.h iopfs.param stats.h user-events.h event.h
iopfs-general.o: events.h worker.h condition.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 iopfs.param
diskdriver.o: dualq.h diskreq.h pool.h stats.h user-events.h event.h events.h
diskdriver.o: barrier.h file.h file.param pattern.h diskq.h
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
diskq.o: dmcache.h /usr/include/stdio.h /usr/include/sys/ansi_compat.h
diskq.o: /usr/include/stdlib.h dfk.h proteus.h user.h sim.h common.h
diskq.o: /usr/include/assert.h prototypes.h conf.param rt_thread_def.h
diskq.o: OS.param monitorswitch.h cache.h cache.param shmem.h mem.param
diskq.o: sema.h thread.h simreq.h dmcache.param diskq.h diskdriver.h
diskq.o: userdata.h userdata.param aux.h util.h time.h disk.h disk.param
diskq.o: diskreq.h stats.h user-events.h event.h events.h
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: net.param dualq.h pool.h pattern.h diskdriver.h disk.h disk.param
tests.o: stats.h 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: message.h dmcache.h /usr/include/stdio.h
barrier.o: /usr/include/sys/ansi_compat.h /usr/include/stdlib.h dfk.h
barrier.o: proteus.h user.h sim.h common.h /usr/include/assert.h prototypes.h
barrier.o: conf.param rt_thread_def.h OS.param monitorswitch.h cache.h
barrier.o: cache.param shmem.h mem.param sema.h thread.h simreq.h
barrier.o: dmcache.param userdata.h userdata.param aux.h util.h time.h
barrier.o: message.param net.param dualq.h pool.h barrier.h stats.h
barrier.o: user-events.h event.h events.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 stats.h user-events.h
ready.o: event.h events.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 stats.h
broadcast.o: user-events.h event.h events.h
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 net.param dualq.h pool.h pattern.h diskdriver.h
buflist.o: disk.h disk.param
