# Makefile for the Fortran 77 compiler
# generating code for the PDP11,
# using the Ritchie pass 2
rm *.o gram.c f77 f77pass1
cmp f77pass1 /lib/f77pass1
rm *.o gram.c f77 f77pass1
CFL = -DTARGET=PDP11 -DFAMILY=DMR -DHERE=PDP11 -DOUTPUT=BINARY -DPOLISH=POSTFIX
OBJECTS = main.o init.o gram.o lex.o proc.o \
equiv.o data.o expr.o exec.o intr.o io.o misc.o error.o\
put.o putdmr.o pdp11.o pdp11x.o
@echo "***Warning: /lib/c1 has changed"
cc -n -s driver.o pdp11x.o -o f77
@$(CC) $(LDFLAGS) $(OBJECTS) -o f77pass1
gram.c: gram.head gram.dcl gram.expr gram.exec gram.io tokdefs
( sed <tokdefs "s/#define/%token/" ;\
cat gram.head gram.dcl gram.expr gram.exec gram.io ) >gram.in
$(YACC) $(YFLAGS) gram.in
grep -n . <tokens | sed "s/\([^:]*\):\(.*\)/#define \2 \1/" >tokdefs
driver.o $(OBJECTS) : defs defines locdefs ftypes
put.o putdmr.o pdp11.o : dmrdefs
@echo "LINT DRIVER" >Lintout
@lint -p $(CFL) driver.c pdp11x.c >>Lintout
echo "LINT PASS1" >>Lintout
@nohup lint -p $(CFL) error.c exec.c intr.c expr.c gram.c init.c io.c\
lex.c main.c proc.c misc.c put.c putdmr.c pdp11.c pdp11x.c\
equiv.c data.c >>Lintout&
install: /usr/bin/f77 /usr/lib/f77pass1
/usr/lib/f77pass1 : f77pass1
@size f77pass1 /usr/lib/f77pass1
-chmod u-t /usr/lib/f77pass1
@/usr/lib/f77pass1 2>/dev/null
cp f77pass1 /usr/lib/f77pass1
echo "***Now do a chmod u+t /usr/lib/f77pass1 in su mode"