#
#		SGS 1.0  C  Compiler  Makefile	10/14/88
#
SGS	=m88k
ROOT	= 
BINDIR	= $(ROOT)/bin
BASE	= ../..
OWN	= bin
GRP	= bin

IDIR = .
CC	=$(PFX)cc
OCSFLAG = OCS_BCS
CFLAGS	=  -c
INCLIST	=  -I$(IDIR) 
DEFLIST = -D$(OCSFLAG)
CC_CMD  = $(CC) $(CFLAGS) $(DEFLIST) $(INCLIST)
LDFLAGS =
YACC	= yacc
SOURCES = cgram.y xdefs.c scan.c pftn.c trees.c optim.c code.c local.c \
	reader.c local2.c order.c match.c allo.c comm1.c common.h table.c \
	clocal.c debug.c
HEAD	= mfile1.h mfile2.h manifest.h macdefs.h mac2defs.h release.h
OBJECTS = cgram.o xdefs.o scan.o pftn.o trees.o optim.o code.o local.o\
	reader.o local2.o order.o match.o allo.o comm1.o table.o clocal.o\
	debug.o

all: $(SGS)comp

$(SGS)comp:	$(OBJECTS)
		$(CC) $(LDFLAGS) $(OBJECTS) -o $(SGS)comp

trees.o:	$(IDIR)/mfile1.h trees.c
		$(CC_CMD) trees.c

optim.o:	$(IDIR)/mfile1.h optim.c
		$(CC_CMD) optim.c

pftn.o:		$(IDIR)/mfile1.h pftn.c
		$(CC_CMD) pftn.c

code.o:		$(IDIR)/mfile1.h code.c
		$(CC_CMD) code.c

local.o:	$(IDIR)/mfile1.h local.c
		$(CC_CMD) local.c

clocal.o:	$(IDIR)/mfile1.h clocal.c
		$(CC_CMD) clocal.c

scan.o:		$(IDIR)/mfile1.h scan.c
		$(CC_CMD) scan.c

xdefs.o:	$(IDIR)/mfile1.h $(IDIR)/release.h xdefs.c
		$(CC_CMD) xdefs.c

cgram.o:	$(IDIR)/mfile1.h cgram.c
		$(CC_CMD) -DLINT  cgram.c

cgram.c:	cgram.y
		-@echo "Expect 7 shift/reduce conflicts"
		$(YACC) cgram.y
		mv y.tab.c cgram.c

comm1.o:	$(IDIR)/mfile1.h $(IDIR)/common.h comm1.c
		$(CC_CMD) comm1.c

table.o:	$(IDIR)/mfile2.h table.c
		$(CC_CMD) table.c

reader.o:	$(IDIR)/mfile2.h reader.c
		$(CC_CMD) reader.c

local2.o:	$(IDIR)/mfile2.h local2.c
		$(CC_CMD) local2.c

order.o:	$(IDIR)/mfile2.h order.c
		$(CC_CMD) order.c

match.o:	$(IDIR)/mfile2.h match.c
		$(CC_CMD) match.c

allo.o:		$(IDIR)/mfile2.h allo.c
		$(CC_CMD) allo.c

debug.o:	$(IDIR)/mfile2.h debug.c
		$(CC_CMD) debug.c

$(IDIR)/mfile1.h:	$(IDIR)/manifest.h $(IDIR)/macdefs.h
			touch $(IDIR)/mfile1.h

$(IDIR)/mfile2.h:	 $(IDIR)/manifest.h $(IDIR)/mac2defs.h $(IDIR)/macdefs.h
			touch $(IDIR)/mfile2.h

clean:
	rm -f *.o cgram.c rodata.c m88c.xref core

clobber:
	rm -f *.o $(SGS)comp cgram.c rodata.c m88c.xref

lintall:
	lint -hv -xc cgram.c xdefs.c scan.c pftn.c \
		trees.c optim.c code.c local.c reader.c \
		local2.c order.c match.c allo.c comm1.c table.c

tape: 
	cpio -ocv /dev/TAPE ${SOURCES} ${HEAD} makefile

install	: $(LIBDIR)/$(SGS)comp

$(LIBDIR)/$(SGS)comp:	$(SGS)comp
			sh $(BASE)/sgs.install 755 $(OWN) $(GRP) $@ $?
