ODIR	= ../$(MACHINE)/o
CC	= gcc -W
OFLAG	= -O
MV	= /bin/mv
RM	= /bin/rm -f
HDIR	= ../h
CDIR	= ../c
LSPDIR	= ../lsp
CMPDIR	= ../cmp
SYSDIR	= ../sys
INCLUDIR= ../h
CLIBS	= -lm -lg
LDFLAGS	= -static
OBJS	= $(ODIR)/main.o $(ODIR)/alloc.o $(ODIR)/gbc.o \
	$(ODIR)/symbol.o $(ODIR)/package.o $(ODIR)/list.o \
	$(ODIR)/eval.o $(ODIR)/lex.o $(ODIR)/bind.o $(ODIR)/reference.o \
	$(ODIR)/character.o $(ODIR)/file.o $(ODIR)/read.o $(ODIR)/print.o \
	$(ODIR)/error.o $(ODIR)/string.o $(ODIR)/cfun.o \
	$(ODIR)/typespec.o $(ODIR)/assignment.o $(ODIR)/toplevel.o \
	$(ODIR)/predicate.o $(ODIR)/conditional.o \
	$(ODIR)/big.o $(ODIR)/earith.o \
	$(ODIR)/number.o $(ODIR)/num_pred.o $(ODIR)/num_comp.o \
	$(ODIR)/num_arith.o $(ODIR)/num_sfun.o $(ODIR)/num_co.o \
	$(ODIR)/num_log.o $(ODIR)/num_rand.o \
	$(ODIR)/array.o $(ODIR)/sequence.o $(ODIR)/cmpaux.o \
	$(ODIR)/macros.o $(ODIR)/backq.o \
	$(ODIR)/frame.o $(ODIR)/catch.o $(ODIR)/block.o \
	$(ODIR)/let.o $(ODIR)/prog.o $(ODIR)/iteration.o \
	$(ODIR)/unixtime.o $(ODIR)/unixint.o \
	$(ODIR)/mapfun.o $(ODIR)/multival.o \
	$(ODIR)/hash.o $(ODIR)/format.o $(ODIR)/pathname.o \
	$(ODIR)/structure.o \
	$(ODIR)/unixfsys.o $(ODIR)/load.o \
	$(ODIR)/unixsys.o \
	$(ODIR)/init.o
DPP	= $(ODIR)/dpp
HDIR	= ../h
CFLAGS	= -c $(DEFS) -D$(MACHINE) -I$(HDIR)
HFILES	= $(HDIR)/include.h \
	$(HDIR)/object.h $(HDIR)/cs.h $(HDIR)/bds.h \
	$(HDIR)/frame.h $(HDIR)/lex.h $(HDIR)/eval.h $(HDIR)/external.h \
	$(HDIR)/lwp.h $(HDIR)/critical.h
all:	$(OBJS)
lint:	$(LINTFILES)
	lint -ch $(CFLAGS) $(LINTFILES)
clean:
	$(RM) $(OBJS) Makefile core a.out
$(ODIR)/character.o: character.d $(DPP) $(HFILES)
	$(DPP) character
	$(CC) $(OFLAG) $(CFLAGS) character.c -o $(ODIR)/character.o
	rm character.c
$(ODIR)/file.o: file.d $(DPP) $(HFILES)
	$(DPP) file
	$(CC) $(OFLAG) $(CFLAGS) file.c -o $(ODIR)/file.o
	rm file.c
$(ODIR)/hash.o: hash.d $(DPP) $(HFILES)
	$(DPP) hash
	$(CC) $(OFLAG) $(CFLAGS) hash.c -o $(ODIR)/hash.o
	rm hash.c
$(ODIR)/list.o: list.d $(DPP) $(HFILES)
	$(DPP) list
	$(CC) $(OFLAG) $(CFLAGS) list.c -o $(ODIR)/list.o
	rm list.c
$(ODIR)/load.o: load.d $(DPP) $(HFILES)
	$(DPP) load
	$(CC) $(OFLAG) $(CFLAGS) load.c -o $(ODIR)/load.o
	rm load.c
$(ODIR)/package.o: package.d $(DPP) $(HFILES)
	$(DPP) package
	$(CC) $(OFLAG) $(CFLAGS) package.c -o $(ODIR)/package.o
	rm package.c
$(ODIR)/pathname.o: pathname.d $(DPP) $(HFILES)
	$(DPP) pathname
	$(CC) $(OFLAG) $(CFLAGS) pathname.c -o $(ODIR)/pathname.o
	rm pathname.c
$(ODIR)/print.o: print.d $(DPP) $(HFILES)
	$(DPP) print
	$(CC) $(OFLAG) $(CFLAGS) print.c -o $(ODIR)/print.o
	rm print.c
$(ODIR)/read.o: read.d $(DPP) $(HFILES)
	$(DPP) read
	$(CC) $(OFLAG) $(CFLAGS) read.c -o $(ODIR)/read.o
	rm read.c
$(ODIR)/sequence.o: sequence.d $(DPP) $(HFILES)
	$(DPP) sequence
	$(CC) $(OFLAG) $(CFLAGS) sequence.c -o $(ODIR)/sequence.o
	rm sequence.c
$(ODIR)/string.o: string.d $(DPP) $(HFILES)
	$(DPP) string
	$(CC) $(OFLAG) $(CFLAGS) string.c -o $(ODIR)/string.o
	rm string.c
$(ODIR)/symbol.o: symbol.d $(DPP) $(HFILES)
	$(DPP) symbol
	$(CC) $(OFLAG) $(CFLAGS) symbol.c -o $(ODIR)/symbol.o
	rm symbol.c
$(ODIR)/lwp.o: lwp.d $(DPP) $(HFILES)
	$(DPP) lwp
	$(CC) $(OFLAG) $(CFLAGS) lwp.c -o $(ODIR)/lwp.o
	rm lwp.c
$(ODIR)/unify.o: unify.d $(DPP) $(HFILES)
	$(DPP) unify
	$(CC) $(OFLAG) $(CFLAGS) unify.c -o $(ODIR)/unify.o
	rm unify.c
$(ODIR)/alloc.o: alloc.c $(HFILES)
	$(CC) $(OFLAG) $(CFLAGS) alloc.c -o $(ODIR)/alloc.o
$(ODIR)/array.o: array.c $(HFILES)
	$(CC) $(OFLAG) $(CFLAGS) array.c -o $(ODIR)/array.o
$(ODIR)/assignment.o: assignment.c $(HFILES)
	$(CC) $(OFLAG) $(CFLAGS) assignment.c -o $(ODIR)/assignment.o
$(ODIR)/backq.o: backq.c $(HFILES)
	$(CC) $(OFLAG) $(CFLAGS) backq.c -o $(ODIR)/backq.o
$(ODIR)/big.o: big.c $(HFILES)
	$(CC) $(OFLAG) $(CFLAGS) big.c -o $(ODIR)/big.o
$(ODIR)/bind.o: bind.c $(HFILES)
	$(CC) $(OFLAG) $(CFLAGS) bind.c -o $(ODIR)/bind.o
$(ODIR)/block.o: block.c $(HFILES)
	$(CC) $(OFLAG) $(CFLAGS) block.c -o $(ODIR)/block.o
$(ODIR)/catch.o: catch.c $(HFILES)
	$(CC) $(OFLAG) $(CFLAGS) catch.c -o $(ODIR)/catch.o
$(ODIR)/cfun.o: cfun.c $(HFILES)
	$(CC) $(OFLAG) $(CFLAGS) cfun.c -o $(ODIR)/cfun.o
$(ODIR)/clos.o: clos.c $(HFILES)
	$(CC) $(OFLAG) $(CFLAGS) clos.c -o $(ODIR)/clos.o
$(ODIR)/instance.o: instance.c $(HFILES)
	$(CC) $(OFLAG) $(CFLAGS) instance.c -o $(ODIR)/instance.o
$(ODIR)/cmpaux.o: cmpaux.c $(HFILES)
	$(CC) $(OFLAG) $(CFLAGS) cmpaux.c -o $(ODIR)/cmpaux.o
$(ODIR)/conditional.o: conditional.c $(HFILES)
	$(CC) $(OFLAG) $(CFLAGS) conditional.c -o $(ODIR)/conditional.o
$(ODIR)/earith.o: earith.c $(HFILES)
	$(CC) $(OFLAG) $(CFLAGS) earith.c -o $(ODIR)/earith.o
$(ODIR)/error.o: error.c $(HFILES)
	$(CC) $(OFLAG) $(CFLAGS) error.c -o $(ODIR)/error.o
$(ODIR)/eval.o: eval.c $(HFILES)
	$(CC) $(OFLAG) $(CFLAGS) eval.c -o $(ODIR)/eval.o
$(ODIR)/format.o: format.c $(HFILES)
	$(CC) $(OFLAG) $(CFLAGS) format.c -o $(ODIR)/format.o
$(ODIR)/frame.o: frame.c $(HFILES)
	$(CC) $(OFLAG) $(CFLAGS) frame.c -o $(ODIR)/frame.o
$(ODIR)/gbc.o: gbc.c $(HFILES)
	$(CC) $(OFLAG) $(CFLAGS) gbc.c -o $(ODIR)/gbc.o
$(ODIR)/gfun.o: gfun.c $(HFILES)
	$(CC) $(OFLAG) $(CFLAGS) gfun.c -o $(ODIR)/gfun.o
$(ODIR)/init.o: init.c $(HFILES)
	$(CC) $(OFLAG) $(CFLAGS) init.c -o $(ODIR)/init.o
$(ODIR)/iteration.o: iteration.c $(HFILES)
	$(CC) $(OFLAG) $(CFLAGS) iteration.c -o $(ODIR)/iteration.o
$(ODIR)/let.o: let.c $(HFILES)
	$(CC) $(OFLAG) $(CFLAGS) let.c -o $(ODIR)/let.o
$(ODIR)/lex.o: lex.c $(HFILES)
	$(CC) $(OFLAG) $(CFLAGS) lex.c -o $(ODIR)/lex.o
$(ODIR)/macros.o: macros.c $(HFILES)
	$(CC) $(OFLAG) $(CFLAGS) macros.c -o $(ODIR)/macros.o
$(ODIR)/main.o: main.c $(HFILES)
	$(CC) $(OFLAG) $(CFLAGS) main.c -o $(ODIR)/main.o
$(ODIR)/mapfun.o: mapfun.c $(HFILES)
	$(CC) $(OFLAG) $(CFLAGS) mapfun.c -o $(ODIR)/mapfun.o
$(ODIR)/multival.o: multival.c $(HFILES)
	$(CC) $(OFLAG) $(CFLAGS) multival.c -o $(ODIR)/multival.o
$(ODIR)/num_arith.o: num_arith.c $(HFILES) $(HDIR)/num_include.h
	$(CC) $(OFLAG) $(CFLAGS) num_arith.c -o $(ODIR)/num_arith.o
$(ODIR)/num_co.o: num_co.c $(HFILES) $(HDIR)/num_include.h
	$(CC) $(OFLAG) $(CFLAGS) num_co.c -o $(ODIR)/num_co.o
$(ODIR)/num_comp.o: num_comp.c $(HFILES) $(HDIR)/num_include.h
	$(CC) $(OFLAG) $(CFLAGS) num_comp.c -o $(ODIR)/num_comp.o
$(ODIR)/num_log.o: num_log.c $(HFILES) $(HDIR)/num_include.h
	$(CC) $(OFLAG) $(CFLAGS) num_log.c -o $(ODIR)/num_log.o
$(ODIR)/num_pred.o: num_pred.c $(HFILES) $(HDIR)/num_include.h
	$(CC) $(OFLAG) $(CFLAGS) num_pred.c -o $(ODIR)/num_pred.o
$(ODIR)/num_rand.o: num_rand.c $(HFILES) $(HDIR)/num_include.h
	$(CC) $(OFLAG) $(CFLAGS) num_rand.c -o $(ODIR)/num_rand.o
$(ODIR)/num_sfun.o: num_sfun.c $(HFILES) $(HDIR)/num_include.h
	$(CC) $(OFLAG) $(CFLAGS) num_sfun.c -o $(ODIR)/num_sfun.o
$(ODIR)/number.o: number.c $(HFILES) $(HDIR)/num_include.h
	$(CC) $(OFLAG) $(CFLAGS) number.c -o $(ODIR)/number.o
$(ODIR)/predicate.o: predicate.c $(HFILES)
	$(CC) $(OFLAG) $(CFLAGS) predicate.c -o $(ODIR)/predicate.o
$(ODIR)/prog.o: prog.c $(HFILES)
	$(CC) $(OFLAG) $(CFLAGS) prog.c -o $(ODIR)/prog.o
$(ODIR)/reference.o: reference.c $(HFILES)
	$(CC) $(OFLAG) $(CFLAGS) reference.c -o $(ODIR)/reference.o
$(ODIR)/socket.o: socket.c $(HFILES)
	$(CC) $(OFLAG) $(CFLAGS) socket.c -o $(ODIR)/socket.o
$(ODIR)/structure.o: structure.c $(HFILES)
	$(CC) $(OFLAG) $(CFLAGS) structure.c -o $(ODIR)/structure.o
$(ODIR)/tcp.o: tcp.c $(HFILES)
	$(CC) $(OFLAG) $(CFLAGS) tcp.c -o $(ODIR)/tcp.o
$(ODIR)/toplevel.o: toplevel.c $(HFILES)
	$(CC) $(OFLAG) $(CFLAGS) toplevel.c -o $(ODIR)/toplevel.o
$(ODIR)/typespec.o: typespec.c $(HFILES)
	$(CC) $(OFLAG) $(CFLAGS) typespec.c -o $(ODIR)/typespec.o
$(ODIR)/unixfsys.o: unixfsys.c $(HFILES)
	$(CC) $(OFLAG) $(CFLAGS) unixfsys.c -o $(ODIR)/unixfsys.o
$(ODIR)/unixint.o: unixint.c $(HFILES)
	$(CC) $(OFLAG) $(CFLAGS) unixint.c -o $(ODIR)/unixint.o
$(ODIR)/unixsave.o: unixsave.c $(HFILES)
	$(CC) $(OFLAG) $(CFLAGS) unixsave.c -o $(ODIR)/unixsave.o
$(ODIR)/unixsys.o: unixsys.c $(HFILES)
	$(CC) $(OFLAG) $(CFLAGS) unixsys.c -o $(ODIR)/unixsys.o
$(ODIR)/unixtime.o: unixtime.c $(HFILES)
	$(CC) $(OFLAG) $(CFLAGS) unixtime.c -o $(ODIR)/unixtime.o
