CFLAGS = -O -pcc

SRCS = memory.c names.c news.c interp.c \
       primitive.c filein.c lex.c parser.c armio.c \
       st.c tty.c 

ISRCS = memory.c names.c news.c interp.c initial.c \
        primitive.c filein.c lex.c parser.c armio.c tty.c

OBJS = memory.o names.o news.o interp.o \
       primitive.o filein.o lex.o parser.o armio.o \
       st.o tty.o 

IOBJS = memory.o names.o news.o interp.o initial.o \
        primitive.o filein.o lex.o parser.o armio.o tty.o

HDRS = env.h interp.h lex.h memory.h names.h stdevent.h stdtext.h stdwin.h

STS = st.basic st.mag st.collect st.file st.mult 

testST = test.st queen.st
STFILES = $(STS) $(armST) $(testST) st.tty st.graphics st.stdwin

all: !RunImage initial
     initial $(STS) st.tty

# st - system V with tty style interface
!RunImage: $(OBJS)
        link -o !RunImage $(OBJS) $.clib.o.stubs 

# initial - the initial object maker
initial: $(IOBJS)  
        link -o initial $(IOBJS) $.clib.o.stubs 

# all the dependencies on .h files
filein.o : filein.c env.h memory.h names.h lex.h 
        cc $(CFLAGS)    filein.c

initial.o : initial.c env.h memory.h names.h 
        cc -c $(CFLAGS)    initial.c

interp.o : interp.c env.h memory.h names.h interp.h 
        cc -c $(CFLAGS)    interp.c

lex.o : lex.c env.h memory.h lex.h 
        cc -c $(CFLAGS)    lex.c

memory.o : memory.c env.h memory.h 
        cc -c $(CFLAGS)    memory.c

names.o : names.c env.h memory.h names.h 
        cc -c $(CFLAGS)    names.c

news.o : news.c env.h memory.h names.h 
        cc -c $(CFLAGS)    news.c

parser.o : parser.c env.h memory.h names.h interp.h lex.h 
        cc -c $(CFLAGS)    parser.c

primitive.o : primitive.c env.h memory.h names.h 
        cc -c $(CFLAGS)    primitive.c

st.o : st.c env.h memory.h names.h 
        cc -c $(CFLAGS)    st.c

tty.o : tty.c env.h memory.h 
        cc -c $(CFLAGS)    tty.c

armio.o : armio.c env.h memory.h names.h 
        cc -c $(CFLAGS)    armio.c

winprim.o : winprim.c stdwin.h stdevent.h stdtext.h env.h memory.h names.h 
        cc -c $(CFLAGS)    winprim.c
