ODIR	= ../$(MACHINE)/o
CC	= gcc -W
OFLAG	= -O2
MV	= /bin/mv
RM	= /bin/rm -f
HDIR	= ../h
CDIR	= ../c
LSPDIR	= ../lsp
CMPDIR	= ../cmp
SYSDIR	= ../sys
INCLUDIR= ../h
CLIBS	= -lm -lg
LDFLAGS	= -Bstatic
NULLFILE = $(HDIR)/magic_$(MACHINE)
LSPOBJS	= $(ODIR)/defmacro.o $(ODIR)/evalmacros.o $(ODIR)/top.o \
	$(ODIR)/module.o $(ODIR)/predlib.o $(ODIR)/setf.o \
	$(ODIR)/arraylib.o $(ODIR)/assert.o $(ODIR)/defstruct.o \
	$(ODIR)/describe.o $(ODIR)/iolib.o $(ODIR)/listlib.o \
	$(ODIR)/mislib.o $(ODIR)/numlib.o $(ODIR)/packlib.o \
	$(ODIR)/seq.o $(ODIR)/seqlib.o $(ODIR)/trace.o
#	$(ODIR)/thread.o $(ODIR)/loop.o
RM	= /bin/rm
.SUFFIXES: .o .c .lsp
CFLAGS	= $(OFLAG) -I$(INCLUDIR)
CL	= ecl
all:	$(LSPOBJS)
.lsp.c:
	$(CL) $(ODIR)/ $* $* S0111
$(ODIR)/arraylib.o: arraylib.c $(INCLUDIR)/ecl.h
	$(CC) -c $(CFLAGS) arraylib.c -o $(ODIR)/arraylib.o
	cat $(NULLFILE) arraylib.data >> $(ODIR)/arraylib.o
$(ODIR)/assert.o: assert.c $(INCLUDIR)/ecl.h
	$(CC) -c $(CFLAGS) assert.c -o $(ODIR)/assert.o
	cat $(NULLFILE) assert.data >> $(ODIR)/assert.o
$(ODIR)/defmacro.o: defmacro.c $(INCLUDIR)/ecl.h
	$(CC) -c $(CFLAGS) defmacro.c -o $(ODIR)/defmacro.o
	cat $(NULLFILE) defmacro.data >> $(ODIR)/defmacro.o
$(ODIR)/defstruct.o: defstruct.c $(INCLUDIR)/ecl.h
	$(CC) -c $(CFLAGS) defstruct.c -o $(ODIR)/defstruct.o
	cat $(NULLFILE) defstruct.data >> $(ODIR)/defstruct.o
$(ODIR)/describe.o: describe.c $(INCLUDIR)/ecl.h
	$(CC) -c $(CFLAGS) describe.c -o $(ODIR)/describe.o
	cat $(NULLFILE) describe.data >> $(ODIR)/describe.o
$(ODIR)/evalmacros.o: evalmacros.c $(INCLUDIR)/ecl.h
	$(CC) -c $(CFLAGS) evalmacros.c -o $(ODIR)/evalmacros.o
	cat $(NULLFILE) evalmacros.data >> $(ODIR)/evalmacros.o
$(ODIR)/iolib.o: iolib.c $(INCLUDIR)/ecl.h
	$(CC) -c $(CFLAGS) iolib.c -o $(ODIR)/iolib.o
	cat $(NULLFILE) iolib.data >> $(ODIR)/iolib.o
$(ODIR)/listlib.o: listlib.c $(INCLUDIR)/ecl.h
	$(CC) -c $(CFLAGS) listlib.c -o $(ODIR)/listlib.o
	cat $(NULLFILE) listlib.data >> $(ODIR)/listlib.o
$(ODIR)/mislib.o: mislib.c $(INCLUDIR)/ecl.h
	$(CC) -c $(CFLAGS) mislib.c -o $(ODIR)/mislib.o
	cat $(NULLFILE) mislib.data >> $(ODIR)/mislib.o
$(ODIR)/module.o: module.c $(INCLUDIR)/ecl.h
	$(CC) -c $(CFLAGS) module.c -o $(ODIR)/module.o
	cat $(NULLFILE) module.data >> $(ODIR)/module.o
$(ODIR)/numlib.o: numlib.c $(INCLUDIR)/ecl.h
	$(CC) -c $(CFLAGS) numlib.c -o $(ODIR)/numlib.o
	cat $(NULLFILE) numlib.data >> $(ODIR)/numlib.o
$(ODIR)/packlib.o: packlib.c $(INCLUDIR)/ecl.h
	$(CC) -c $(CFLAGS) packlib.c -o $(ODIR)/packlib.o
	cat $(NULLFILE) packlib.data >> $(ODIR)/packlib.o
$(ODIR)/predlib.o: predlib.c $(INCLUDIR)/ecl.h
	$(CC) -c $(CFLAGS) predlib.c -o $(ODIR)/predlib.o
	cat $(NULLFILE) predlib.data >> $(ODIR)/predlib.o
$(ODIR)/seq.o: seq.c $(INCLUDIR)/ecl.h
	$(CC) -c $(CFLAGS) seq.c -o $(ODIR)/seq.o
	cat $(NULLFILE) seq.data >> $(ODIR)/seq.o
$(ODIR)/seqlib.o: seqlib.c $(INCLUDIR)/ecl.h
	$(CC) -c $(CFLAGS) seqlib.c -o $(ODIR)/seqlib.o
	cat $(NULLFILE) seqlib.data >> $(ODIR)/seqlib.o
$(ODIR)/setf.o: setf.c $(INCLUDIR)/ecl.h
	$(CC) -c $(CFLAGS) setf.c -o $(ODIR)/setf.o
	cat $(NULLFILE) setf.data >> $(ODIR)/setf.o
$(ODIR)/top.o: top.c $(INCLUDIR)/ecl.h
	$(CC) -c $(CFLAGS) top.c -o $(ODIR)/top.o
	cat $(NULLFILE) top.data >> $(ODIR)/top.o
$(ODIR)/trace.o: trace.c $(INCLUDIR)/ecl.h
	$(CC) -c $(CFLAGS) trace.c -o $(ODIR)/trace.o
	cat $(NULLFILE) trace.data >> $(ODIR)/trace.o
$(ODIR)/thread.o: thread.c $(INCLUDIR)/ecl.h
	$(CC) -c $(CFLAGS) thread.c -o $(ODIR)/thread.o
	cat $(NULLFILE) thread.data >> $(ODIR)/thread.o

clean:
	$(RM) -f $(LSPOBJS) core a.out Makefile
allclean:
	$(RM) -f *.h *.data *.c
