#sccs	"@(#)mcpp:Makefile	1.4"

include $(MAKEINC)/Makepre.h
LDFLAGS=-s

ID = id.o

DEPENDLIST = cpp.c \
	cpy.c \
	rodata.c \
	yylex.c

all:	Makeincludes cpp

Makeincludes: $(DEPENDLIST)
	$(INCCMD) $(DEPENDLIST) | $(SORT) | $(FILTER) > Makeincludes
	$(MAKE)

includes: $(DEPENDLIST)
	$(INCCMD) $(DEPENDLIST) | $(SORT) | $(FILTER) > Makeincludes

cpp :	cpp.o cpy.o rodata.o $(SHAREDLIB) $(LIBC) $(ID)
	$(CC) $(LDFLAGS) -o cpp.mini cpp.o rodata.o cpy.o $(ID)
	$(LD) $(LDFLAGS) $(SHAREDLIB) -o cpp cpp.o rodata.o cpy.o $(ID)

cpy.c rodata.c : cpy.y
	$(YACC) cpy.y
	-chmod +x ./:yyfix
	./:yyfix >rodata.c
	mv y.tab.c cpy.c

cpy.o :	cpy.c yylex.c

cpp.o : cpp.c

rodata.o : cpy.c
	$(CC) $(CFLAGS) -S rodata.c
	-chmod +x ./:rofix
	./:rofix rodata.s
	$(CC) $(CFLAGS) -c rodata.s

clean :
	rm -f *.s *.o

clobber: clean
	rm -f cpp sh.cpp cpp.mini rodata.c id.c cpy.c

install: 
	$(INSTALL) -i$(EXITFLAG) cpp $(INSDIR) $(PROTOFILE)

id.c: mcpp.sl
	mkslid > id.c

populate:
	getunit

include Makeincludes
include $(MAKEINC)/Makepost.h
