SIMOBJS = main.o log.o subr.o list.o q.o mempool.o hash.o event.o \
	 file.o packet.o heap.o peer.o random.o comptypes.o usleep.o

SIMSRCS = main.c log.c subr.c list.c q.c mempool.c hash.c event.c \
	file.c packet.c heap.c peer.c random.c comptypes.c usleep.c

SIMHFILES = component.h comptypes.h event.h eventdefs.h hash.h \
	list.h log.h mempool.h packet.h q.h sim.h heap.h peer.h

OBJS   = $(SIMOBJS)
SRCS   = $(SIMSRCS) stat.c
HFILES = $(SIMHFILES) stat.h
MARSDIR = ../$(EXMARSDIR)

lib: $(MARSDIR)/lib/libMaRSSim.a

$(MARSDIR)/lib/libMaRSSim.a: $(OBJS)
	ar r $(MARSDIR)/lib/libMaRSSim.a $(OBJS)
	ranlib $(MARSDIR)/lib/libMaRSSim.a

stat: 
	make_stat_headers $(CC) $(CC) $(CFLAGS) > ../include/stat.h
	$(CC) $(CFLAGS) -c stat.c

lint:
	lint -I$(MARSDIR)/include $(DEFINES) $(SRCS) -lm -lX11 

echo:
	@ echo $(SRCS) $(HFILES) $(OBJS)

# Check out all the files revised from RCS (unlocked)
co:
	$(CO) $(SRCS)

clean:
	rm -f mars *.o *~ Makefile.bak *.a

space:
	rm -f *.o *~ Makefile.bak

# make dependencies
depend:	${SRCS}
	for i in ${SRCS}; do \
	    cc -M ${CFLAGS} $$i | sort | uniq |\
	    awk ' { if ($$1 != prev) \
		{ if (rec != "") print rec; rec = $$0; prev = $$1; } \
		else { if (length(rec $$2) > 78) { print rec; rec = $$0; } \
		else rec = rec " " $$2 } } \
		END { print rec } ' >> makedep; done
	echo '/^# DO NOT DELETE THIS LINE/+1,$$d' >eddep
	echo '$$r makedep' >>eddep
	echo 'w' >>eddep
	cp Makefile Makefile.bak
	ed - Makefile < eddep
	rm eddep makedep
	echo '# DEPENDENCIES MUST END AT END OF FILE' >> Makefile
	echo '# IF YOU PUT STUFF HERE IT WILL GO AWAY' >> Makefile
	echo '# see make depend above' >> Makefile

# DO NOT DELETE THIS LINE
main.o: ./include/component.h ./include/comptypes.h ./include/event.h
main.o: ./include/eventdefs.h ./include/heap.h ./include/list.h ./include/log.h
main.o: ./include/mempool.h ./include/packet.h ./include/q.h ./include/sim.h
main.o: ./include/simx.h ./include/simx1.h /usr/include/floatingpoint.h
main.o: /usr/include/math.h /usr/include/stdio.h /usr/include/strings.h
main.o: /usr/include/sys/ieeefp.h /usr/include/sys/stdtypes.h
main.o: /usr/include/sys/sysmacros.h /usr/include/sys/types.h main.c
log.o: ./include/component.h ./include/event.h ./include/eventdefs.h
log.o: ./include/hash.h ./include/heap.h ./include/list.h ./include/log.h
log.o: ./include/mempool.h ./include/packet.h ./include/q.h ./include/sim.h
log.o: ./include/simx.h ./include/simx1.h /usr/include/ctype.h
log.o: /usr/include/floatingpoint.h /usr/include/math.h /usr/include/stdio.h
log.o: /usr/include/strings.h /usr/include/sys/fcntl.h
log.o: /usr/include/sys/fcntlcom.h /usr/include/sys/file.h
log.o: /usr/include/sys/ieeefp.h /usr/include/sys/stat.h
log.o: /usr/include/sys/stdtypes.h /usr/include/sys/sysmacros.h
log.o: /usr/include/sys/types.h /usr/include/varargs.h log.c
subr.o: ./include/component.h ./include/event.h ./include/eventdefs.h
subr.o: ./include/heap.h ./include/list.h ./include/log.h ./include/mempool.h
subr.o: ./include/packet.h ./include/peer.h ./include/q.h ./include/sim.h
subr.o: ./include/simx1.h /usr/include/ctype.h /usr/include/floatingpoint.h
subr.o: /usr/include/math.h /usr/include/stdio.h /usr/include/strings.h
subr.o: /usr/include/sys/ieeefp.h /usr/include/sys/stdtypes.h
subr.o: /usr/include/sys/sysmacros.h /usr/include/sys/types.h
subr.o: /usr/include/varargs.h subr.c
list.o: ./include/list.h /usr/include/sys/stdtypes.h
list.o: /usr/include/sys/sysmacros.h /usr/include/sys/types.h list.c
q.o: ./include/q.h ./include/sim.h /usr/include/floatingpoint.h
q.o: /usr/include/math.h /usr/include/stdio.h /usr/include/strings.h
q.o: /usr/include/sys/ieeefp.h /usr/include/sys/stdtypes.h
q.o: /usr/include/sys/sysmacros.h /usr/include/sys/types.h q.c
mempool.o: ./include/mempool.h ./include/q.h ./include/sim.h
mempool.o: /usr/include/floatingpoint.h /usr/include/math.h
mempool.o: /usr/include/stdio.h /usr/include/strings.h
mempool.o: /usr/include/sys/ieeefp.h /usr/include/sys/stdtypes.h
mempool.o: /usr/include/sys/sysmacros.h /usr/include/sys/types.h mempool.c
hash.o: ./include/hash.h ./include/q.h ./include/sim.h
hash.o: /usr/include/floatingpoint.h /usr/include/math.h /usr/include/stdio.h
hash.o: /usr/include/strings.h /usr/include/sys/ieeefp.h
hash.o: /usr/include/sys/stdtypes.h /usr/include/sys/sysmacros.h
hash.o: /usr/include/sys/types.h hash.c
event.o: ./include/component.h ./include/event.h ./include/eventdefs.h
event.o: ./include/heap.h ./include/list.h ./include/log.h ./include/mempool.h
event.o: ./include/packet.h ./include/q.h ./include/sim.h ./include/simx1.h
event.o: /usr/include/floatingpoint.h /usr/include/math.h /usr/include/stdio.h
event.o: /usr/include/strings.h /usr/include/sys/ieeefp.h
event.o: /usr/include/sys/stdtypes.h /usr/include/sys/sysmacros.h
event.o: /usr/include/sys/types.h event.c
file.o: ./include/component.h ./include/comptypes.h ./include/event.h
file.o: ./include/eventdefs.h ./include/heap.h ./include/list.h ./include/log.h
file.o: ./include/mempool.h ./include/packet.h ./include/peer.h ./include/q.h
file.o: ./include/sim.h ./include/simx.h ./include/simx1.h /usr/include/ctype.h
file.o: /usr/include/floatingpoint.h /usr/include/math.h /usr/include/stdio.h
file.o: /usr/include/strings.h /usr/include/sys/fcntl.h
file.o: /usr/include/sys/fcntlcom.h /usr/include/sys/file.h
file.o: /usr/include/sys/ieeefp.h /usr/include/sys/stat.h
file.o: /usr/include/sys/stdtypes.h /usr/include/sys/sysmacros.h
file.o: /usr/include/sys/types.h file.c
packet.o: ./include/component.h ./include/event.h ./include/eventdefs.h
packet.o: ./include/heap.h ./include/list.h ./include/log.h ./include/mempool.h
packet.o: ./include/packet.h ./include/q.h ./include/sim.h ./include/simx.h
packet.o: ./include/simx1.h /usr/include/floatingpoint.h /usr/include/math.h
packet.o: /usr/include/stdio.h /usr/include/strings.h /usr/include/sys/ieeefp.h
packet.o: /usr/include/sys/stdtypes.h /usr/include/sys/sysmacros.h
packet.o: /usr/include/sys/types.h packet.c
heap.o: ./include/heap.h ./include/sim.h /usr/include/floatingpoint.h
heap.o: /usr/include/math.h /usr/include/stdio.h /usr/include/strings.h
heap.o: /usr/include/sys/ieeefp.h /usr/include/sys/stdtypes.h
heap.o: /usr/include/sys/sysmacros.h /usr/include/sys/types.h heap.c
peer.o: ./include/component.h ./include/comptypes.h ./include/event.h
peer.o: ./include/eventdefs.h ./include/heap.h ./include/list.h ./include/log.h
peer.o: ./include/mempool.h ./include/meters.h ./include/packet.h
peer.o: ./include/peer.h ./include/q.h ./include/sim.h ./include/simx.h
peer.o: ./include/simx1.h ./include/xtables.h /usr/include/floatingpoint.h
peer.o: /usr/include/math.h /usr/include/stdio.h /usr/include/strings.h
peer.o: /usr/include/sys/ieeefp.h /usr/include/sys/stdtypes.h
peer.o: /usr/include/sys/sysmacros.h /usr/include/sys/types.h peer.c
random.o: /usr/include/stdio.h random.c
comptypes.o: ./include/comptypes.h ./include/sim.h /usr/include/floatingpoint.h
comptypes.o: /usr/include/math.h /usr/include/stdio.h /usr/include/strings.h
comptypes.o: /usr/include/sys/ieeefp.h /usr/include/sys/stdtypes.h
comptypes.o: /usr/include/sys/sysmacros.h /usr/include/sys/types.h comptypes.c
usleep.o: /usr/include/sys/signal.h /usr/include/sys/stdtypes.h
usleep.o: /usr/include/sys/sysmacros.h /usr/include/sys/time.h
usleep.o: /usr/include/sys/types.h /usr/include/time.h /usr/include/unistd.h
usleep.o: /usr/include/vm/faultcode.h usleep.c
stat.o: ./include/stat.h /usr/include/stdio.h /usr/include/sys/resource.h
stat.o: /usr/include/sys/stdtypes.h /usr/include/sys/sysmacros.h
stat.o: /usr/include/sys/time.h /usr/include/sys/types.h /usr/include/time.h
stat.o: stat.c
# DEPENDENCIES MUST END AT END OF FILE
# IF YOU PUT STUFF HERE IT WILL GO AWAY
# see make depend above
