# compile link flags
CFLAGS= -v40 -c -s -g -q -o -mc -mn -mi -mf -x -as -eo .o40 
AFLAGS= -v40 -s -l
LFLAG=

OBJDIR= objects\dsp

OBJECTS= $(OBJDIR)\tasm.o40 \
	 $(OBJDIR)\tmemory.o40 \
	 $(OBJDIR)\texcept.o40\
	 $(OBJDIR)\generic.o40 \
	 $(OBJDIR)\list.o40 \
	 $(OBJDIR)\link.o40 \
	 $(OBJDIR)\message.o40 \
	 $(OBJDIR)\class.o40 \
	 $(OBJDIR)\method.o40 \
	 $(OBJDIR)\object.o40 \
	 $(OBJDIR)\dict.o40 \
	 $(OBJDIR)\terminal.o40\
	 $(OBJDIR)\fltterm.o40\
	 $(OBJDIR)\intterm.o40\
	 $(OBJDIR)\sequence.o40\
	 $(OBJDIR)\sched.o40\
	 $(OBJDIR)\task.o40 \
	 $(OBJDIR)\tclock.o40 \
	 $(OBJDIR)\trupt.o40 \
	 $(OBJDIR)\beap.o40 \
	 $(OBJDIR)\uplink.o40 \
	 $(OBJDIR)\uptipc.o40 \
	 $(OBJDIR)\tiStack.o40 \
	 $(OBJDIR)\sstktiti.o40 \
	 $(OBJDIR)\stdtiti.o40 \
	 $(OBJDIR)\dspobjec.o40 \
	 $(OBJDIR)\action.o40 \
	 $(OBJDIR)\actionse.o40 \
	 $(OBJDIR)\closure.o40 \
	 $(OBJDIR)\interupt.o40 \
	 $(OBJDIR)\tcr.o40 \
	 $(OBJDIR)\numcvt.o40 \
	 $(OBJDIR)\strnew.o40 \
	 $(OBJDIR)\supobjec.o40 \
	 $(OBJDIR)\syncinpu.o40 \
	 $(OBJDIR)\syncoutp.o40 \
	 $(OBJDIR)\fork.o40 


LIBRARY= $(OBJDIR)\dsplib

# This line allows NMAKE to work as well

all: $(LIBRARY)

$(LIBRARY): $(OBJECTS)
	del $(LIBRARY).lib
	ar30 -ae $(LIBRARY) $(OBJDIR)\*.o40

# object dependencies

$(OBJDIR)\tcr.o40: tcr.a tcr.h
	 asm30 $(AFLAGS) $(@B).a $@

$(OBJDIR)\interupt.o40: interupt.a interupt.h
	 asm30 $(AFLAGS) $(@B).a $@

$(OBJDIR)\tasm.o40: tasm.a
	 asm30 $(AFLAGS) $(@B).a $@

$(OBJDIR)\tmemory.o40: tmemory.c shell.h
	cl30 $(CFLAGS)  $(@B).c
	copy $(@B).o40 $@
	del $(@B).o40

$(OBJDIR)\texcept.o40: texcept.c shell.h tasm.h
	cl30 $(CFLAGS)  $(@B).c
	copy $(@B).o40 $@
	del $(@B).o40

$(OBJDIR)\generic.o40: generic.c object.h
	cl30 $(CFLAGS)  $(@B).c
	copy $(@B).o40 $@
	del $(@B).o40

$(OBJDIR)\list.o40: list.c list.h object.h generic.h
	cl30 $(CFLAGS)  $(@B).c
	copy $(@B).o40 $@
	del $(@B).o40

$(OBJDIR)\link.o40: link.c object.h generic.h message.h
	cl30 $(CFLAGS) $(@B).c
	copy $(@B).o40 $@
	del $(@B).o40

$(OBJDIR)\message.o40: message.c object.h generic.h message.h
	cl30 $(CFLAGS)  $(@B).c
	copy $(@B).o40 $@
	del $(@B).o40

$(OBJDIR)\object.o40: object.c object.h generic.h 
	cl30 $(CFLAGS)  $(@B).c
	copy $(@B).o40 $@
	del $(@B).o40

$(OBJDIR)\method.o40: method.c object.h generic.h
	cl30 $(CFLAGS)  $(@B).c
	copy $(@B).o40 $@
	del $(@B).o40

$(OBJDIR)\dspobjec.o40: dspobjec.c object.h generic.h
	cl30 $(CFLAGS)  $(@B).c
	copy $(@B).o40 $@
	del $(@B).o40

$(OBJDIR)\class.o40: class.c object.h generic.h
	cl30 $(CFLAGS) $(@B).c
	copy $(@B).o40 $@
	del $(@B).o40

$(OBJDIR)\dict.o40: dict.c generic.h object.h list.h
	cl30 $(CFLAGS)  $(@B).c
	copy $(@B).o40 $@
	del $(@B).o40

$(OBJDIR)\terminal.o40: terminal.c generic.h object.h list.h terminal.h
	cl30 $(CFLAGS)  $(@B).c
	copy $(@B).o40 $@
	del $(@B).o40

$(OBJDIR)\fltterm.o40: fltterm.c generic.h object.h terminal.h
	cl30 $(CFLAGS)  $(@B).c
	copy $(@B).o40 $@
	del $(@B).o40

$(OBJDIR)\intterm.o40: intterm.c generic.h object.h terminal.h
	cl30 $(CFLAGS)  $(@B).c
	copy $(@B).o40 $@
	del $(@B).o40

$(OBJDIR)\sequence.o40: sequence.c object.h generic.h list.h sequence.h
	cl30 $(CFLAGS)  $(@B).c
	copy $(@B).o40 $@
	del $(@B).o40

$(OBJDIR)\sched.o40: sched.c object.h generic.h list.h sequence.h except.h
	cl30 $(CFLAGS)  $(@B).c
	copy $(@B).o40 $@
	del $(@B).o40

$(OBJDIR)\task.o40: task.c generic.h object.h list.h sequence.h
	cl30 $(CFLAGS)  $(@B).c
	copy $(@B).o40 $@
	del $(@B).o40

$(OBJDIR)\tclock.o40: tclock.c generic.h object.h
	cl30 $(CFLAGS)  $(@B).c
	copy $(@B).o40 $@
	del $(@B).o40

$(OBJDIR)\trupt.o40: trupt.c
	cl30 $(CFLAGS)  $(@B).c
	copy $(@B).o40 $@
	del $(@B).o40

$(OBJDIR)\beap.o40: beap.c shell.h
	cl30 $(CFLAGS)  $(@B).c
	copy $(@B).o40 $@
	del $(@B).o40

$(OBJDIR)\tiStack.o40: tiStack.c generic.h object.h stdform.h message.h
	cl30 $(CFLAGS)  $(@B).c
	copy $(@B).o40 $@
	del $(@B).o40

$(OBJDIR)\sstktiti.o40: sstktiti.c generic.h object.h stdform.h message.h
	cl30 $(CFLAGS)  $(@B).c
	copy $(@B).o40 $@
	del $(@B).o40

$(OBJDIR)\stdtiti.o40: stdtiti.c object.h stdform.h message.h
	cl30 $(CFLAGS)  $(@B).c
	copy $(@B).o40 $@
	del $(@B).o40

$(OBJDIR)\uplink.o40: uplink.c generic.h object.h message.h list.h except.h
	cl30 $(CFLAGS)  $(@B).c
	copy $(@B).o40 $@
	del $(@B).o40

$(OBJDIR)\uptipc.o40: uptipc.c generic.h object.h message.h stdform.h \
			list.h  \
			except.h
	cl30 $(CFLAGS)  $(@B).c
	copy $(@B).o40 $@
	del $(@B).o40

$(OBJDIR)\action.o40: action.c generic.h object.h list.h message.h
	cl30 $(CFLAGS)  $(@B).c
	copy $(@B).o40 $@
	del $(@B).o40

$(OBJDIR)\actionse.o40: actionse.c generic.h object.h list.h
	cl30 $(CFLAGS)  $(@B).c
	copy $(@B).o40 $@
	del $(@B).o40

$(OBJDIR)\closure.o40: closure.c generic.h object.h
	cl30 $(CFLAGS)  $(@B).c
	copy $(@B).o40 $@
	del $(@B).o40

$(OBJDIR)\numcvt.o40: numcvt.c shell.h
	cl30 $(CFLAGS) $(@B).c
	copy $(@B).o40 $@
	del $(@B).o40

$(OBJDIR)\strnew.o40: strnew.c
	cl30 $(CFLAGS) $(@B).c
	copy $(@B).o40 $@
	del $(@B).o40

$(OBJDIR)\supobjec.o40: supobjec.c object.h generic.h
	cl30 $(CFLAGS) $(@B).c
	copy $(@B).o40 $@
	del $(@B).o40

$(OBJDIR)\fork.o40: fork.c object.h    
	cl30 $(CFLAGS) $(@B).c
	copy $(@B).o40 $@
	del $(@B).o40
 
$(OBJDIR)\syncinpu.o40: syncinpu.c object.h
	cl30 $(CFLAGS)  $(@B).c
	copy $(@B).o40 $@
	del $(@B).o40

$(OBJDIR)\syncoutp.o40: syncoutp.c generic.h object.h
	cl30 $(CFLAGS)  $(@B).c
	copy $(@B).o40 $@
	del $(@B).o40
