
SHELL=		/bin/sh
DESTDIR= 
BIN=		/mit/sipb/bin
LIB= 		/mit/sipb/arch/$(ATHENA_SYS)/lib/Pps
SHARE=		/mit/sipb/share/Pps
CHAP=		1
MAN= 		/mit/sipb/man/man$(CHAP)

LANG = 		awk c csh lisp mail ps text sh clu bass
AUX = 		prc
PRO = 		*.pro
FRONT = 	pps slide
MANS = 		pps.$(CHAP) slide.$(CHAP)
LEXLIB=		-ll

.SUFFIXES: .$(CHAP) .man

all: $(LANG) $(AUX) $(FRONT) $(MANS)

.man.$(CHAP):
	echo .ds lb $(LIB) > $@
	echo $(LANG) | sed 's/ /,/g;s/^/.ds lg /' >> $@ 
	cat $*.man >> $@

clu: clu.o lind.o
	$(CC) $(CFLAGS) -o $@ $@.o lind.o $(LEXLIB)

bass: bass.o lind.o
	$(CC) $(CFLAGS) -o $@ $@.o lind.o $(LEXLIB)

awk: awk.o lind.o
	$(CC) $(CFLAGS) -o $@ $@.o lind.o $(LEXLIB)

c: c.o lind.o
	$(CC) $(CFLAGS) -o $@ $@.o lind.o $(LEXLIB)

csh: csh.o lind.o
	$(CC) $(CFLAGS) -o $@ $@.o lind.o $(LEXLIB)

mail: mail.o lind.o
	$(CC) $(CFLAGS) -o $@ $@.o lind.o $(LEXLIB)

ps: ps.o lind.o
	$(CC) $(CFLAGS) -o $@ $@.o lind.o $(LEXLIB)

sh: sh.o lind.o
	$(CC) $(CFLAGS) -o $@ $@.o lind.o $(LEXLIB)

text: text.o lind.o
	$(CC) $(CFLAGS) -o $@ $@.o lind.o $(LEXLIB)

lisp: lisp.o lind.o
	@echo warning: $@ has no built-ins -- see comment.
	$(CC) $(CFLAGS) -o $@ $@.o lind.o $(LEXLIB)

awk.o c.o csh.o sh.o lisp.o: pps.h


pps: pps.sh
	sed 's|^lib=.*|lib=$(LIB)|;s|^share=.*|share=$(SHARE)|' pps.sh > $@
	chmod 755 $@

slide: slide.sh
	sed 's|^lib=.*|lib=$(LIB)|;s|^share=.*|share=$(SHARE)|' slide.sh > $@
	chmod 755 $@


prc: prc.c
	$(CC) $(CFLAGS) -o $@ prc.c


install: bin_install lib_install share_install man_install

bin_install: $(FRONT)
	cp $(FRONT) $(DESTDIR)$(BIN)

lib_install: $(LANG) $(AUX)
	test -d $(DESTDIR)$(LIB) || mkdir $(DESTDIR)$(LIB)
	cp $(LANG) $(AUX) $(DESTDIR)$(LIB)
	(cd $(DESTDIR)$(LIB); strip $(LANG) $(AUX))

share_install: $(PRO) fonts
	test -d $(DESTDIR)$(SHARE) || mkdir $(DESTDIR)$(SHARE)
	cp $(PRO) fonts $(DESTDIR)$(SHARE)

man_install: $(MANS)
	test -d $(DESTDIR)$(MAN) || mkdir $(DESTDIR)$(MAN)
	cp $(MANS) $(DESTDIR)$(MAN)

clean:
	rm -f $(FRONT) $(LANG) $(AUX) $(MANS) *.o *~ lex.yy.c
