# Copyright (c) 1992, 1995 Xerox Corporation.  All rights reserved.
# Portions of this code were written by Stephen White, aka ghond.
# Use and copying of this software and preparation of derivative works based
# upon this software are permitted.  Any distribution of this software or
# derivative works must comply with all applicable United States export
# control laws.  This software is made available AS IS, and Xerox Corporation
# makes no warranty about the software, its performance or its conformity to
# any specification.  Any person obtaining a copy of this software is requested
# to send their name and post office or electronic mail address to:
#   Pavel Curtis
#   Xerox PARC
#   3333 Coyote Hill Rd.
#   Palo Alto, CA 94304
#   Pavel@Xerox.Com

ALLOCA =@ALLOCA@
CC = @CC@
LIBRARIES = @LIBS@
YACC = @YACC@

CFLAGS = -O
YFLAGS = -d
COMPILE.c = $(CC) $(CFLAGS) $(CPPFLAGS) -c

CSRCS = ast.c code_gen.c db.c db_property.c db_verb.c disassemble.c \
	eval_env.c eval_vm.c exceptions.c execute.c functions.c keywords.c \
	list.c log.c malloc.c match.c name_lookup.c network.c net_mplex.c \
	net_proto.c numbers.c objects.c parse_cmd.c pattern.c program.c \
	property.c quota.c ref_count.c server.c storage.c streams.c \
	sym_table.c tasks.c timers.c unparse.c utils.c verbs.c version.c \
	regexpr.c

OPT_NET_SRCS = net_single.c net_multi.c \
	net_mp_selct.c net_mp_poll.c net_mp_fake.c \
	net_bsd_tcp.c net_bsd_lcl.c net_sysv_tcp.c net_sysv_lcl.c

OPT_NET_OBJS = $(OPT_NET_SRCS:.c=.o)

OPT_CSRCS = alloca.c gnu-malloc.c $(OPT_NET_SRCS)

YSRCS = parser.y

HDRS =  ast.h bf_register.h bytecodes.h code_gen.h db.h db_property.h \
	eval_env.h eval_vm.h exceptions.h execute.h functions.h getpagesize.h \
	keywords.h list.h log.h match.h name_lookup.h network.h net_mplex.h \
	net_proto.h opcode.h options.h parse_cmd.h parser.h pattern.h \
	program.h quota.h random.h ref_count.h server.h storage.h \
	streams.h structures.h sym_table.h tasks.h timers.h tokens.h \
	unparse.h utils.h version.h \
	regexpr.h

SYSHDRS = my-ctype.h my-fcntl.h my-in.h my-inet.h my-ioctl.h my-math.h \
	my-poll.h my-signal.h my-socket.h my-stat.h my-stdarg.h my-stdio.h \
	my-stdlib.h my-string.h my-stropts.h my-sys-time.h my-time.h \
	my-tiuser.h my-types.h my-unistd.h my-wait.h

CLIENT_SRCS = client_bsd.c client_sysv.c

ALL_CSRCS = $(CSRCS) $(OPT_CSRCS) $(CLIENT_SRCS)

SRCS = $(ALL_CSRCS) keywords.gperf $(YSRCS) $(HDRS) $(SYSHDRS)

DISTFILES = $(SRCS) Makefile.in restart pgrestart Minimal.db README.Minimal \
	ChangeLog.txt README configure.in configure raw_config.h.in

COBJS = $(CSRCS:.c=.o)

YOBJS = $(YSRCS:.y=.o)

OBJS = $(COBJS) $(YOBJS) $(ALLOCA)

CC_LD = $(CC)
#pure_moo := CC_LD = purify $(CC)

#moo pure_moo:	$(OBJS)
moo:	$(OBJS)
	$(CC_LD) $(CFLAGS) $(OBJS) $(LIBRARIES) -o $@

pmoo:	$(POBJS)
	$(CC) $(CFLAGS) $(POBJS) $(PROF_FLAG) $(LIBRARIES) -o $@

client_bsd: client_bsd.o
	$(CC) $(CFLAGS) client_bsd.o $(LIBRARIES) -o $@

client_sysv: client_sysv.o
	$(CC) $(CFLAGS) client_sysv.o $(LIBRARIES) -o $@

configure: configure.in
	autoconf

config.status: configure
	env CC= YACC= ./configure --no-create

Makefile: Makefile.in config.status
	@echo "[ $@ : $? ]"
	./config.status

raw_config.h: raw_config.h.in config.status
	@echo "[ $@ : $? ]"
	./config.status

config.h: raw_config.h
	grep -v '^#undef' raw_config.h > config.h

y.tab.h: parser.o
	touch y.tab.h

keywords.c: keywords.gperf
	pgperf -aCIptT -k1,3,$$ keywords.gperf > keywords.c

.SUFFIXES: .po

.c.po:
	$(COMPILE.c) $(PROF_FLAG) -o $@ $<

.y.po:
	$(YACC.y) $<
	$(COMPILE.c) $(PROF_FLAG) -o $@ y.tab.c
	$(RM) y.tab.c

dist.tar.Z:	$(DISTFILES)
	rm -f version_number
	grep "server_version = " version.c \
		| sed -e 's/^.* = "//' -e 's/";//' > version_number
	rm -fr MOO-`cat version_number`
	mkdir MOO-`cat version_number`
	chmod 755 MOO-`cat version_number`
	cp -p $(DISTFILES) MOO-`cat version_number`
	chmod u+w MOO-`cat version_number`/*
	tar cvf - MOO-`cat version_number` | compress -c > dist.tar.Z.NEW
	mv dist.tar.Z.NEW dist.tar.Z
	rm -f LambdaMOO-`cat version_number`.tar.Z
	ln dist.tar.Z LambdaMOO-`cat version_number`.tar.Z
	rm -fr MOO-`cat version_number` version_number

tags:
	etags -t $(SRCS)

clean:
	rm -f $(OBJS) $(POBJS) core y.tab.c y.tab.h y.output mon.out makedep eddep

depend: ${ALL_CSRCS}
	rm -f makedep makedep-2 eddep
	gcc -MM ${CFLAGS} ${ALL_CSRCS} | sed -e '/:$$/d' > makedep
	sed -e 's/\.o/\.po/' < makedep > makedep-2
	echo '/^# DO NOT DELETE THIS LINE/+1,$$d' >eddep
	echo '$$r makedep' >>eddep
	echo '$$r makedep-2' >>eddep
	echo 'w' >>eddep
	cp Makefile.in Makefile.in.bak
	ex - Makefile.in < eddep
	rm -f eddep makedep makedep-2

###############################################################################
# $Log: Makefile.in,v $
# Revision 1.26  1992/10/23  23:10:29  pavel
# Updated dependency information for release 1.7.0 and added copyright notice.
#
# Revision 1.25  1992/10/23  19:12:08  pavel
# A few last portability changes for release 1.7.0.
#
# Revision 1.24  1992/10/21  03:02:35  pavel
# Converted to use new automatic configuration system.
#
# Revision 1.23  1992/10/17  20:14:17  pavel
# Numerous changes in response to beta-testing portability problems.
#
# Revision 1.22  1992/10/06  01:32:41  pavel
# Dyked out useless XNS network support.
# Added sources for clients and a few new my-*.h files.
# Fixed nasty bug in `make depend' code.
#
# Revision 1.21  1992/09/23  17:23:08  pavel
# Added support for the whole family of networking protocol and multiplexing
# wait implementations; it should now be easy to add new `optional' sources,
# only used if certain combinations of preprocessor flags are set.
#
# Revision 1.20  1992/09/14  18:42:47  pjames
# Updated.
#
# Revision 1.19  1992/09/14  17:46:39  pjames
# Updated.
#
# Revision 1.18  1992/09/08  22:49:59  pjames
# Took out bf_move.c
#
# Revision 1.17  1992/09/08  22:09:23  pjames
# Updated for new bf_ filenames
#
# Revision 1.16  1992/09/03  23:49:13  pavel
# Added support for multiple complete network implementations.
#
# Revision 1.15  1992/09/03  16:32:40  pjames
# Updated.
#
# Revision 1.14  1992/08/31  23:43:57  pavel
# Added math library to the LIBRARIES line for A/UX.
#
# Revision 1.13  1992/08/28  16:32:18  pjames
# Added ref_count modules.
#
# Revision 1.12  1992/08/21  01:09:56  pavel
# Minor fix.
#
# Revision 1.11  1992/08/21  00:56:39  pavel
# Shortened the names of several files to fit within the 14-character limit
# imposed on certain systems.
# Moved the specification of all configuration options other than those
# directly related to the compiler command line into config.h.  Also
# reorganized the ones that are left to make it easier for folks to see what's
# necessary.
#
# Revision 1.10  1992/08/14  00:35:21  pavel
# Fixed rule for dist.tar.Z to be idempotent.
#
# Revision 1.9  1992/08/13  23:35:42  pavel
# Cleaned up CFLAGS organization.
#
# Revision 1.8  1992/08/13  23:24:34  pavel
# Did a more recent `make depend'...
#
# Revision 1.7  1992/08/13  22:48:20  pjames
# Added my-math.h
#
# Revision 1.6  1992/08/13  21:29:58  pjames
# Added -DMOO to COMPILE.c
#
# Revision 1.5  1992/08/11  17:06:45  pjames
# Updated with new source files, removed old source files, fixed dependencies.
#
# Revision 1.3  1992/07/27  18:30:21  pjames
# Update what vector.o and vector.po depend on.
#
# Revision 1.2  1992/07/20  23:27:42  pavel
# Trying out an RCS change log in this file to see if it'll work properly.
#
###############################################################################
	
# Have to do this one specially, since 'make depend' can't hack yacc files.
parser.o:	ast.h code_gen.h bytecodes.h opcode.h structures.h \
		functions.h parser.h program.h storage.h streams.h \
		sym_table.h utils.h config.h my-ctype.h
parser.po:	ast.h code_gen.h bytecodes.h opcode.h structures.h \
		functions.h parser.h program.h storage.h streams.h \
		sym_table.h utils.h config.h my-ctype.h

# Must do these manually, since they depend upon C preprocessor options.

network.o: net_multi.o net_single.o
net_mplex.o: net_mp_fake.o net_mp_selct.o net_mp_poll.o
net_proto.o: net_bsd_tcp.o net_bsd_lcl.o net_sysv_tcp.o net_sysv_lcl.o

$(OPT_NET_OBJS):
	touch $@


# DO NOT DELETE THIS LINE -- 'make depend' replaces everything below it.
ast.o : ast.c my-string.h config.h ast.h parser.h structures.h my-stdio.h bytecodes.h \
  sym_table.h list.h log.h program.h storage.h utils.h execute.h opcode.h options.h 
code_gen.o : code_gen.c ast.h config.h parser.h structures.h my-stdio.h bytecodes.h \
  sym_table.h exceptions.h opcode.h program.h storage.h utils.h execute.h options.h 
db.o : db.c my-stdio.h config.h my-stdlib.h my-types.h my-unistd.h db.h structures.h \
  bytecodes.h db_property.h exceptions.h functions.h bf_register.h execute.h opcode.h \
  options.h program.h list.h log.h quota.h server.h network.h storage.h streams.h \
  timers.h my-time.h utils.h 
db_property.o : db_property.c config.h db.h structures.h my-stdio.h bytecodes.h \
  list.h log.h storage.h unparse.h my-string.h functions.h bf_register.h execute.h \
  opcode.h options.h program.h parse_cmd.h streams.h utils.h 
db_verb.o : db_verb.c my-stdlib.h config.h db.h structures.h my-stdio.h bytecodes.h \
  execute.h opcode.h options.h program.h list.h match.h parse_cmd.h parser.h storage.h \
  unparse.h my-string.h functions.h bf_register.h streams.h utils.h 
disassemble.o : disassemble.c my-stdio.h config.h bf_register.h bytecodes.h \
  db.h structures.h functions.h execute.h opcode.h options.h program.h list.h \
  storage.h streams.h utils.h 
eval_env.o : eval_env.c config.h eval_env.h structures.h my-stdio.h bytecodes.h \
  storage.h sym_table.h utils.h execute.h opcode.h options.h program.h 
eval_vm.o : eval_vm.c config.h eval_vm.h execute.h bytecodes.h opcode.h options.h \
  program.h structures.h my-stdio.h log.h storage.h tasks.h unparse.h my-string.h \
  functions.h bf_register.h parse_cmd.h streams.h 
exceptions.o : exceptions.c exceptions.h config.h 
execute.o : execute.c ast.h config.h parser.h structures.h my-stdio.h bytecodes.h \
  sym_table.h db.h eval_env.h eval_vm.h execute.h opcode.h options.h program.h \
  list.h log.h server.h network.h storage.h streams.h tasks.h timers.h my-time.h \
  unparse.h my-string.h functions.h bf_register.h parse_cmd.h utils.h 
functions.o : functions.c my-stdarg.h config.h functions.h my-stdio.h bf_register.h \
  bytecodes.h execute.h opcode.h options.h program.h structures.h log.h server.h \
  network.h storage.h streams.h utils.h 
keywords.o : keywords.c my-ctype.h config.h my-string.h keywords.h structures.h \
  my-stdio.h bytecodes.h tokens.h y.tab.h utils.h execute.h opcode.h options.h \
  program.h 
list.o : list.c my-ctype.h config.h my-string.h bf_register.h exceptions.h functions.h \
  my-stdio.h bytecodes.h execute.h opcode.h options.h program.h structures.h list.h \
  log.h pattern.h random.h ref_count.h streams.h storage.h unparse.h parse_cmd.h \
  utils.h 
log.o : log.c my-stdarg.h config.h my-stdio.h my-string.h my-time.h functions.h \
  bf_register.h bytecodes.h execute.h opcode.h options.h program.h structures.h \
  log.h storage.h streams.h utils.h 
malloc.o : malloc.c options.h config.h 
match.o : match.c my-stdlib.h config.h my-string.h db.h structures.h my-stdio.h \
  bytecodes.h exceptions.h match.h parse_cmd.h storage.h unparse.h functions.h \
  bf_register.h execute.h opcode.h options.h program.h streams.h utils.h 
name_lookup.o : name_lookup.c options.h config.h my-signal.h my-unistd.h my-inet.h \
  my-in.h my-types.h my-socket.h my-wait.h my-string.h log.h structures.h my-stdio.h \
  bytecodes.h net_mplex.h server.h network.h storage.h timers.h my-time.h 
network.o : network.c options.h config.h net_multi.c my-ctype.h my-fcntl.h my-ioctl.h \
  my-signal.h my-stdio.h my-stdlib.h my-string.h my-unistd.h exceptions.h log.h \
  structures.h bytecodes.h net_proto.h net_mplex.h network.h server.h streams.h \
  storage.h timers.h my-time.h utils.h execute.h opcode.h program.h 
net_mplex.o : net_mplex.c options.h config.h net_mp_selct.c my-string.h my-sys-time.h \
  my-types.h log.h structures.h my-stdio.h bytecodes.h net_mplex.h 
net_proto.o : net_proto.c options.h config.h net_bsd_tcp.c my-inet.h my-in.h \
  my-types.h my-socket.h my-stdlib.h my-string.h my-unistd.h log.h structures.h \
  my-stdio.h bytecodes.h name_lookup.h net_proto.h streams.h timers.h my-time.h 
numbers.o : numbers.c my-math.h my-stdlib.h config.h my-string.h my-time.h functions.h \
  my-stdio.h bf_register.h bytecodes.h execute.h opcode.h options.h program.h \
  structures.h log.h random.h storage.h utils.h 
objects.o : objects.c db.h config.h structures.h my-stdio.h bytecodes.h exceptions.h \
  execute.h opcode.h options.h program.h functions.h bf_register.h list.h quota.h \
  server.h network.h storage.h utils.h 
parse_cmd.o : parse_cmd.c my-ctype.h config.h my-stdio.h my-stdlib.h my-string.h \
  my-time.h db.h structures.h bytecodes.h list.h match.h parse_cmd.h storage.h \
  utils.h execute.h opcode.h options.h program.h 
pattern.o : pattern.c my-ctype.h config.h my-string.h pattern.h regexpr.h storage.h \
  my-stdio.h structures.h bytecodes.h streams.h 
program.o : program.c structures.h my-stdio.h config.h bytecodes.h ast.h parser.h \
  sym_table.h storage.h 
property.o : property.c db.h config.h structures.h my-stdio.h bytecodes.h functions.h \
  bf_register.h execute.h opcode.h options.h program.h utils.h 
quota.o : quota.c config.h db.h structures.h my-stdio.h bytecodes.h match.h \
  quota.h storage.h utils.h execute.h opcode.h options.h program.h 
ref_count.o : ref_count.c config.h exceptions.h ref_count.h storage.h my-stdio.h \
  structures.h bytecodes.h 
server.o : server.c my-types.h config.h my-signal.h my-stdio.h my-stdlib.h my-string.h \
  my-unistd.h my-wait.h db.h structures.h bytecodes.h execute.h opcode.h options.h \
  program.h functions.h bf_register.h list.h log.h network.h parse_cmd.h parser.h \
  random.h server.h storage.h streams.h tasks.h timers.h my-time.h utils.h version.h 
storage.o : storage.c my-stdarg.h config.h my-stdio.h my-stdlib.h my-string.h \
  my-time.h ast.h parser.h structures.h bytecodes.h sym_table.h db.h db_property.h \
  exceptions.h list.h log.h match.h options.h parse_cmd.h quota.h ref_count.h \
  server.h network.h storage.h streams.h tasks.h execute.h opcode.h program.h \
  unparse.h functions.h bf_register.h utils.h 
streams.o : streams.c my-stdarg.h config.h my-string.h log.h structures.h my-stdio.h \
  bytecodes.h storage.h streams.h 
sym_table.o : sym_table.c my-stdio.h config.h ast.h parser.h structures.h bytecodes.h \
  sym_table.h exceptions.h log.h storage.h utils.h execute.h opcode.h options.h \
  program.h 
tasks.o : tasks.c my-string.h config.h my-time.h db.h structures.h my-stdio.h \
  bytecodes.h eval_vm.h execute.h opcode.h options.h program.h list.h log.h match.h \
  parse_cmd.h random.h server.h network.h storage.h streams.h tasks.h utils.h \
  unparse.h functions.h bf_register.h parser.h 
timers.o : timers.c my-signal.h config.h my-stdlib.h my-sys-time.h options.h \
  my-types.h my-time.h my-unistd.h timers.h 
unparse.o : unparse.c my-ctype.h config.h ast.h parser.h structures.h my-stdio.h \
  bytecodes.h sym_table.h exceptions.h keywords.h list.h log.h opcode.h unparse.h \
  my-string.h functions.h bf_register.h execute.h options.h program.h parse_cmd.h \
  streams.h storage.h utils.h 
utils.o : utils.c my-ctype.h config.h my-stdio.h my-string.h db.h structures.h \
  bytecodes.h exceptions.h list.h log.h match.h ref_count.h server.h network.h \
  options.h storage.h streams.h utils.h execute.h opcode.h program.h 
verbs.o : verbs.c my-string.h config.h db.h structures.h my-stdio.h bytecodes.h \
  execute.h opcode.h options.h program.h functions.h bf_register.h list.h log.h \
  match.h parse_cmd.h parser.h storage.h unparse.h streams.h utils.h 
version.o : version.c config.h version.h 
regexpr.o : regexpr.c my-stdio.h config.h regexpr.h my-stdlib.h my-string.h 
alloca.o : alloca.c 
gnu-malloc.o : gnu-malloc.c getpagesize.h 
net_single.o : net_single.c my-ctype.h config.h my-fcntl.h my-stdio.h my-unistd.h \
  log.h structures.h bytecodes.h network.h options.h server.h streams.h 
net_multi.o : net_multi.c my-ctype.h config.h my-fcntl.h my-ioctl.h my-signal.h \
  my-stdio.h my-stdlib.h my-string.h my-unistd.h exceptions.h log.h structures.h \
  bytecodes.h net_proto.h options.h net_mplex.h network.h server.h streams.h storage.h \
  timers.h my-time.h utils.h execute.h opcode.h program.h 
net_mp_selct.o : net_mp_selct.c my-string.h config.h my-sys-time.h options.h \
  my-types.h log.h structures.h my-stdio.h bytecodes.h net_mplex.h 
net_mp_poll.o : net_mp_poll.c my-poll.h config.h log.h structures.h my-stdio.h \
  bytecodes.h net_mplex.h storage.h 
net_bsd_tcp.o : net_bsd_tcp.c my-inet.h config.h my-in.h my-types.h my-socket.h \
  my-stdlib.h my-string.h my-unistd.h log.h structures.h my-stdio.h bytecodes.h \
  name_lookup.h net_proto.h options.h streams.h timers.h my-time.h 
net_bsd_lcl.o : net_bsd_lcl.c my-socket.h config.h my-types.h my-stdio.h my-string.h \
  my-unistd.h log.h structures.h bytecodes.h net_proto.h options.h 
net_sysv_tcp.o : net_sysv_tcp.c my-inet.h config.h my-fcntl.h my-in.h my-types.h \
  my-ioctl.h my-socket.h my-stdlib.h my-string.h my-stropts.h my-tiuser.h my-unistd.h \
  log.h structures.h my-stdio.h bytecodes.h name_lookup.h net_proto.h options.h \
  streams.h timers.h my-time.h 
net_sysv_lcl.o : net_sysv_lcl.c my-fcntl.h config.h my-stat.h my-stdio.h my-stdlib.h \
  my-unistd.h exceptions.h log.h structures.h bytecodes.h net_proto.h options.h \
  streams.h 
client_bsd.o : client_bsd.c my-socket.h config.h my-types.h my-stdio.h my-stdlib.h \
  my-string.h my-sys-time.h options.h my-unistd.h 
client_sysv.o : client_sysv.c my-fcntl.h config.h my-signal.h my-stdio.h my-stdlib.h \
  my-string.h my-types.h my-stat.h my-unistd.h 
ast.po : ast.c my-string.h config.h ast.h parser.h structures.h my-stdio.h bytecodes.h \
  sym_table.h list.h log.h program.h storage.h utils.h execute.h opcode.h options.h 
code_gen.po : code_gen.c ast.h config.h parser.h structures.h my-stdio.h bytecodes.h \
  sym_table.h exceptions.h opcode.h program.h storage.h utils.h execute.h options.h 
db.po : db.c my-stdio.h config.h my-stdlib.h my-types.h my-unistd.h db.h structures.h \
  bytecodes.h db_property.h exceptions.h functions.h bf_register.h execute.h opcode.h \
  options.h program.h list.h log.h quota.h server.h network.h storage.h streams.h \
  timers.h my-time.h utils.h 
db_property.po : db_property.c config.h db.h structures.h my-stdio.h bytecodes.h \
  list.h log.h storage.h unparse.h my-string.h functions.h bf_register.h execute.h \
  opcode.h options.h program.h parse_cmd.h streams.h utils.h 
db_verb.po : db_verb.c my-stdlib.h config.h db.h structures.h my-stdio.h bytecodes.h \
  execute.h opcode.h options.h program.h list.h match.h parse_cmd.h parser.h storage.h \
  unparse.h my-string.h functions.h bf_register.h streams.h utils.h 
disassemble.po : disassemble.c my-stdio.h config.h bf_register.h bytecodes.h \
  db.h structures.h functions.h execute.h opcode.h options.h program.h list.h \
  storage.h streams.h utils.h 
eval_env.po : eval_env.c config.h eval_env.h structures.h my-stdio.h bytecodes.h \
  storage.h sym_table.h utils.h execute.h opcode.h options.h program.h 
eval_vm.po : eval_vm.c config.h eval_vm.h execute.h bytecodes.h opcode.h options.h \
  program.h structures.h my-stdio.h log.h storage.h tasks.h unparse.h my-string.h \
  functions.h bf_register.h parse_cmd.h streams.h 
exceptions.po : exceptions.c exceptions.h config.h 
execute.po : execute.c ast.h config.h parser.h structures.h my-stdio.h bytecodes.h \
  sym_table.h db.h eval_env.h eval_vm.h execute.h opcode.h options.h program.h \
  list.h log.h server.h network.h storage.h streams.h tasks.h timers.h my-time.h \
  unparse.h my-string.h functions.h bf_register.h parse_cmd.h utils.h 
functions.po : functions.c my-stdarg.h config.h functions.h my-stdio.h bf_register.h \
  bytecodes.h execute.h opcode.h options.h program.h structures.h log.h server.h \
  network.h storage.h streams.h utils.h 
keywords.po : keywords.c my-ctype.h config.h my-string.h keywords.h structures.h \
  my-stdio.h bytecodes.h tokens.h y.tab.h utils.h execute.h opcode.h options.h \
  program.h 
list.po : list.c my-ctype.h config.h my-string.h bf_register.h exceptions.h functions.h \
  my-stdio.h bytecodes.h execute.h opcode.h options.h program.h structures.h list.h \
  log.h pattern.h random.h ref_count.h streams.h storage.h unparse.h parse_cmd.h \
  utils.h 
log.po : log.c my-stdarg.h config.h my-stdio.h my-string.h my-time.h functions.h \
  bf_register.h bytecodes.h execute.h opcode.h options.h program.h structures.h \
  log.h storage.h streams.h utils.h 
malloc.po : malloc.c options.h config.h 
match.po : match.c my-stdlib.h config.h my-string.h db.h structures.h my-stdio.h \
  bytecodes.h exceptions.h match.h parse_cmd.h storage.h unparse.h functions.h \
  bf_register.h execute.h opcode.h options.h program.h streams.h utils.h 
name_lookup.po : name_lookup.c options.h config.h my-signal.h my-unistd.h my-inet.h \
  my-in.h my-types.h my-socket.h my-wait.h my-string.h log.h structures.h my-stdio.h \
  bytecodes.h net_mplex.h server.h network.h storage.h timers.h my-time.h 
network.po : network.c options.h config.h net_multi.c my-ctype.h my-fcntl.h my-ioctl.h \
  my-signal.h my-stdio.h my-stdlib.h my-string.h my-unistd.h exceptions.h log.h \
  structures.h bytecodes.h net_proto.h net_mplex.h network.h server.h streams.h \
  storage.h timers.h my-time.h utils.h execute.h opcode.h program.h 
net_mplex.po : net_mplex.c options.h config.h net_mp_selct.c my-string.h my-sys-time.h \
  my-types.h log.h structures.h my-stdio.h bytecodes.h net_mplex.h 
net_proto.po : net_proto.c options.h config.h net_bsd_tcp.c my-inet.h my-in.h \
  my-types.h my-socket.h my-stdlib.h my-string.h my-unistd.h log.h structures.h \
  my-stdio.h bytecodes.h name_lookup.h net_proto.h streams.h timers.h my-time.h 
numbers.po : numbers.c my-math.h my-stdlib.h config.h my-string.h my-time.h functions.h \
  my-stdio.h bf_register.h bytecodes.h execute.h opcode.h options.h program.h \
  structures.h log.h random.h storage.h utils.h 
objects.po : objects.c db.h config.h structures.h my-stdio.h bytecodes.h exceptions.h \
  execute.h opcode.h options.h program.h functions.h bf_register.h list.h quota.h \
  server.h network.h storage.h utils.h 
parse_cmd.po : parse_cmd.c my-ctype.h config.h my-stdio.h my-stdlib.h my-string.h \
  my-time.h db.h structures.h bytecodes.h list.h match.h parse_cmd.h storage.h \
  utils.h execute.h opcode.h options.h program.h 
pattern.po : pattern.c my-ctype.h config.h my-string.h pattern.h regexpr.h storage.h \
  my-stdio.h structures.h bytecodes.h streams.h 
program.po : program.c structures.h my-stdio.h config.h bytecodes.h ast.h parser.h \
  sym_table.h storage.h 
property.po : property.c db.h config.h structures.h my-stdio.h bytecodes.h functions.h \
  bf_register.h execute.h opcode.h options.h program.h utils.h 
quota.po : quota.c config.h db.h structures.h my-stdio.h bytecodes.h match.h \
  quota.h storage.h utils.h execute.h opcode.h options.h program.h 
ref_count.po : ref_count.c config.h exceptions.h ref_count.h storage.h my-stdio.h \
  structures.h bytecodes.h 
server.po : server.c my-types.h config.h my-signal.h my-stdio.h my-stdlib.h my-string.h \
  my-unistd.h my-wait.h db.h structures.h bytecodes.h execute.h opcode.h options.h \
  program.h functions.h bf_register.h list.h log.h network.h parse_cmd.h parser.h \
  random.h server.h storage.h streams.h tasks.h timers.h my-time.h utils.h version.h 
storage.po : storage.c my-stdarg.h config.h my-stdio.h my-stdlib.h my-string.h \
  my-time.h ast.h parser.h structures.h bytecodes.h sym_table.h db.h db_property.h \
  exceptions.h list.h log.h match.h options.h parse_cmd.h quota.h ref_count.h \
  server.h network.h storage.h streams.h tasks.h execute.h opcode.h program.h \
  unparse.h functions.h bf_register.h utils.h 
streams.po : streams.c my-stdarg.h config.h my-string.h log.h structures.h my-stdio.h \
  bytecodes.h storage.h streams.h 
sym_table.po : sym_table.c my-stdio.h config.h ast.h parser.h structures.h bytecodes.h \
  sym_table.h exceptions.h log.h storage.h utils.h execute.h opcode.h options.h \
  program.h 
tasks.po : tasks.c my-string.h config.h my-time.h db.h structures.h my-stdio.h \
  bytecodes.h eval_vm.h execute.h opcode.h options.h program.h list.h log.h match.h \
  parse_cmd.h random.h server.h network.h storage.h streams.h tasks.h utils.h \
  unparse.h functions.h bf_register.h parser.h 
timers.po : timers.c my-signal.h config.h my-stdlib.h my-sys-time.h options.h \
  my-types.h my-time.h my-unistd.h timers.h 
unparse.po : unparse.c my-ctype.h config.h ast.h parser.h structures.h my-stdio.h \
  bytecodes.h sym_table.h exceptions.h keywords.h list.h log.h opcode.h unparse.h \
  my-string.h functions.h bf_register.h execute.h options.h program.h parse_cmd.h \
  streams.h storage.h utils.h 
utils.po : utils.c my-ctype.h config.h my-stdio.h my-string.h db.h structures.h \
  bytecodes.h exceptions.h list.h log.h match.h ref_count.h server.h network.h \
  options.h storage.h streams.h utils.h execute.h opcode.h program.h 
verbs.po : verbs.c my-string.h config.h db.h structures.h my-stdio.h bytecodes.h \
  execute.h opcode.h options.h program.h functions.h bf_register.h list.h log.h \
  match.h parse_cmd.h parser.h storage.h unparse.h streams.h utils.h 
version.po : version.c config.h version.h 
regexpr.po : regexpr.c my-stdio.h config.h regexpr.h my-stdlib.h my-string.h 
alloca.po : alloca.c 
gnu-malloc.po : gnu-malloc.c getpagesize.h 
net_single.po : net_single.c my-ctype.h config.h my-fcntl.h my-stdio.h my-unistd.h \
  log.h structures.h bytecodes.h network.h options.h server.h streams.h 
net_multi.po : net_multi.c my-ctype.h config.h my-fcntl.h my-ioctl.h my-signal.h \
  my-stdio.h my-stdlib.h my-string.h my-unistd.h exceptions.h log.h structures.h \
  bytecodes.h net_proto.h options.h net_mplex.h network.h server.h streams.h storage.h \
  timers.h my-time.h utils.h execute.h opcode.h program.h 
net_mp_selct.po : net_mp_selct.c my-string.h config.h my-sys-time.h options.h \
  my-types.h log.h structures.h my-stdio.h bytecodes.h net_mplex.h 
net_mp_poll.po : net_mp_poll.c my-poll.h config.h log.h structures.h my-stdio.h \
  bytecodes.h net_mplex.h storage.h 
net_bsd_tcp.po : net_bsd_tcp.c my-inet.h config.h my-in.h my-types.h my-socket.h \
  my-stdlib.h my-string.h my-unistd.h log.h structures.h my-stdio.h bytecodes.h \
  name_lookup.h net_proto.h options.h streams.h timers.h my-time.h 
net_bsd_lcl.po : net_bsd_lcl.c my-socket.h config.h my-types.h my-stdio.h my-string.h \
  my-unistd.h log.h structures.h bytecodes.h net_proto.h options.h 
net_sysv_tcp.po : net_sysv_tcp.c my-inet.h config.h my-fcntl.h my-in.h my-types.h \
  my-ioctl.h my-socket.h my-stdlib.h my-string.h my-stropts.h my-tiuser.h my-unistd.h \
  log.h structures.h my-stdio.h bytecodes.h name_lookup.h net_proto.h options.h \
  streams.h timers.h my-time.h 
net_sysv_lcl.po : net_sysv_lcl.c my-fcntl.h config.h my-stat.h my-stdio.h my-stdlib.h \
  my-unistd.h exceptions.h log.h structures.h bytecodes.h net_proto.h options.h \
  streams.h 
client_bsd.po : client_bsd.c my-socket.h config.h my-types.h my-stdio.h my-stdlib.h \
  my-string.h my-sys-time.h options.h my-unistd.h 
client_sysv.po : client_sysv.c my-fcntl.h config.h my-signal.h my-stdio.h my-stdlib.h \
  my-string.h my-types.h my-stat.h my-unistd.h 
