xref: /original-bsd/usr.bin/pascal/libpc/Makefile (revision f0fd5f8a)
1SCCSID = "@(#)Makefile 1.19 11/12/82"
2
3CFLAGS = -O
4
5LIB = ${DESTDIR}/usr/lib
6SRCDIR = ${DESTDIR}/usr/ucb
7PASDIR = ${DESTDIR}/usr/src/ucb/pascal
8
9INSTALL= install
10LD= /bin/ld
11RM = /bin/rm -f
12RANLIB= ranlib
13AR= /bin/ar
14
15CMDS =	ACTFILE.c ADDT.c ARGV.c ASRT.c ASRTS.c ATAN.c BUFF.c CARD.c \
16	CASERNG.c CHR.c CLCK.c COS.c CTTOT.c DATE.c DEFNAME.c \
17	DFDISPOSE.c DISPOSE.c EXCEPT.c EXP.c EXPO.c FCALL.c FLUSH.c \
18	FNIL.c FRTN.c FSAV.c GET.c HALT.c IN.c INCT.c LINO.c \
19	LLIMIT.c LN.c MAX.c MULT.c NAM.c NEW.c NIL.c PACK.c \
20	PAGE.c PRED.c PUT.c RANDOM.c RANG4.c READ4.c READ8.c READC.c \
21	READE.c READLN.c RELEQ.c RELNE.c RELSGE.c RELSGT.c RELSLE.c \
22	RELSLT.c RELTGE.c RELTGT.c RELTLE.c RELTLT.c REMOVE.c RESET.c \
23	REWRITE.c ROUND.c RSNG4.c SCLCK.c SEED.c SIN.c SQRT.c STLIM.c \
24	SUBSC.c SUBSCZ.c SUBT.c SUCC.c TEOF.c TEOLN.c TIME.c TRUNC.c \
25	UNIT.c UNPACK.c WRITEC.c WRITEF.c WRITES.c WRITLN.c
26
27SYS =	ERROR.c GETNAME.c IOSYNC.c PCEXIT.c PCLOSE.c PCSTART.c \
28	PFCLOSE.c PERROR.c PFLUSH.c PMFLUSH.c RAND.s SETRACE.s \
29	UNSYNC.c blkclr.c blkcpy.c
30
31EXTN =	APPEND.c SEEK.c TELL.c
32
33HDRS =	whoami.h h00vars.h
34
35OBJS =	ACTFILE.o ADDT.o ARGV.o ASRT.o ASRTS.o ATAN.o BUFF.o CARD.o \
36	CASERNG.o CHR.o CLCK.o COS.o CTTOT.o DATE.o DEFNAME.o \
37	DFDISPOSE.o DISPOSE.o EXCEPT.o EXP.o EXPO.o FCALL.o FLUSH.o \
38	FNIL.o FRTN.o FSAV.o GET.o HALT.o IN.o INCT.o LINO.o \
39	LLIMIT.o LN.o MAX.o MULT.o NAM.o NEW.o NIL.o PACK.o\
40	PAGE.o PRED.o PUT.o RANDOM.o RANG4.o READ4.o READ8.o READC.o\
41	READE.o READLN.o RELEQ.o RELNE.o RELSGE.o RELSGT.o RELSLE.o\
42	RELSLT.o RELTGE.o RELTGT.o RELTLE.o RELTLT.o REMOVE.o RESET.o\
43	REWRITE.o ROUND.o RSNG4.o SCLCK.o SEED.o SIN.o SQRT.o STLIM.o\
44	SUBSC.o SUBSCZ.o SUBT.o SUCC.o TEOF.o TEOLN.o TIME.o TRUNC.o\
45	UNIT.o UNPACK.o WRITEC.o WRITEF.o WRITES.o WRITLN.o
46
47SYOBJ =	ERROR.o GETNAME.o IOSYNC.o PCEXIT.o PCLOSE.o PCSTART.o \
48	PFCLOSE.o PERROR.o PFLUSH.o PMFLUSH.o RAND.o SETRACE.o \
49	UNSYNC.o blkclr.o blkcpy.o
50
51EXOBJ =	APPEND.o SEEK.o TELL.o
52
53.s.o:
54	sed -f mcount.sed $*.s | ${AS} -o tmp.o
55	-${LD} -X -r -o profiled/$@ tmp.o
56	${AS} -o tmp.o $*.s
57	-${LD} -x -r -o $@ tmp.o
58
59.c.o:
60	${CC} -p ${CFLAGS} -c $*.c
61	mv $@ tmp.o
62	-${LD} -X -r -o profiled/$@ tmp.o
63	${CC} ${CFLAGS} -c $*.c
64	mv $@ tmp.o
65	-${LD} -x -r -o $@ tmp.o
66
67libpc libpc_p: ${OBJS} ${SYOBJ} ${EXOBJ}
68	cd profiled; ${AR} cru ../libpc_p ${OBJS} ${SYOBJ} ${EXOBJ}
69	${RANLIB} libpc_p
70	${AR} cru libpc ${OBJS} ${SYOBJ} ${EXOBJ}
71	${RANLIB} libpc
72
73install: libpc libpc_p
74	${INSTALL} libpc_p ${LIB}/libpc_p.a
75	${RANLIB} ${LIB}/libpc_p.a
76	${INSTALL} libpc ${LIB}/libpc.a
77	${RANLIB} ${LIB}/libpc.a
78
79sources: ${CMDS} ${SYS} ${EXTN} ${HDRS}
80
81whoami.h:
82	cp ${PASDIR}/whoami.h whoami.h
83
84clean:
85	${RM} libpc libpc_p *.o profiled/*.o a.out lpr tmp core errs
86
87print:
88	ls -l >lst
89	${SRCDIR}/vprint lst makefile *.h [A-Z][A-Z]*.[cs] [a-z][a-z]*.[cs]
90	${RM} lst
91
92grind: sources
93	${SRCDIR}/ctags -v *.h *.c *.s | sort -f >index
94	${SRCDIR}/vgrind -t -x index >lpr
95	${SRCDIR}/vgrind -t -n makefile >>lpr
96	${RM} index
97	${SRCDIR}/vgrind -t *.h *.c >>lpr
98	${SRCDIR}/vgrind -t -n RAND.s SETRACE.s >>lpr
99	${SRCDIR}/vpr -t lpr
100
101depend:	sources
102	/bin/grep '^#[ 	]*include' ${CMDS} ${SYS} ${EXTN} \
103		| sed '/<.*>/d' \
104		| sed 's/:[^"]*"\([^"]*\)".*/: \1/' \
105		| sed 's/\.c/.o/' >makedep
106	echo '/^# DO NOT DELETE THIS LINE/+2,$$d' >eddep
107	echo '$$r makedep' >>eddep
108	echo 'w' >>eddep
109	cp makefile makefile.bak
110	ed - makefile < eddep
111	rm eddep makedep
112	echo '# DEPENDENCIES MUST END AT END OF FILE' >> makefile
113	echo '# IF YOU PUT STUFF HERE IT WILL GO AWAY' >> makefile
114	echo '# see make depend above' >> makefile
115
116# DO NOT DELETE THIS LINE -- make depend uses it
117# DEPENDENCIES MUST END AT END OF FILE
118ACTFILE.o: h00vars.h
119ARGV.o: h00vars.h
120BUFF.o: h00vars.h
121CTTOT.o: whoami.h
122CTTOT.o: h00vars.h
123DEFNAME.o: h00vars.h
124DFDISPOSE.o: h00vars.h
125DFDISPOSE.o: libpc.h
126DISPOSE.o: h00vars.h
127EXCEPT.o: whoami.h
128FCALL.o: h00vars.h
129FLUSH.o: h00vars.h
130FNIL.o: h00vars.h
131FRTN.o: h00vars.h
132FSAV.o: h00vars.h
133GET.o: h00vars.h
134HALT.o: h00vars.h
135IN.o: h00vars.h
136INCT.o: h00vars.h
137LINO.o: h00vars.h
138LLIMIT.o: h00vars.h
139MAX.o: h00vars.h
140NAM.o: h00vars.h
141NEW.o: h00vars.h
142NIL.o: h00vars.h
143PAGE.o: h00vars.h
144PUT.o: h00vars.h
145RANDOM.o: h00vars.h
146READ4.o: h00vars.h
147READ8.o: h00vars.h
148READC.o: h00vars.h
149READE.o: h00vars.h
150READLN.o: h00vars.h
151RELEQ.o: h00vars.h
152RELNE.o: h00vars.h
153RELSGE.o: h00vars.h
154RELSGT.o: h00vars.h
155RELSLE.o: h00vars.h
156RELSLT.o: h00vars.h
157RELTGE.o: h00vars.h
158RELTGT.o: h00vars.h
159RELTLE.o: h00vars.h
160RELTLT.o: h00vars.h
161REMOVE.o: h00vars.h
162RESET.o: h00vars.h
163REWRITE.o: h00vars.h
164SEED.o: h00vars.h
165STLIM.o: h00vars.h
166TEOF.o: h00vars.h
167TEOLN.o: h00vars.h
168UNIT.o: h00vars.h
169WRITEC.o: h00vars.h
170WRITEF.o: h00vars.h
171WRITES.o: h00vars.h
172WRITLN.o: h00vars.h
173GETNAME.o: h00vars.h
174GETNAME.o: libpc.h
175IOSYNC.o: h00vars.h
176PCEXIT.o: h00vars.h
177PCLOSE.o: h00vars.h
178PCLOSE.o: libpc.h
179PCSTART.o: h00vars.h
180PCSTART.o: libpc.h
181PFCLOSE.o: h00vars.h
182PFCLOSE.o: libpc.h
183PERROR.o: h00vars.h
184PFLUSH.o: h00vars.h
185PMFLUSH.o: h00vars.h
186UNSYNC.o: h00vars.h
187APPEND.o: h00vars.h
188SEEK.o: h00vars.h
189TELL.o: h00vars.h
190# DEPENDENCIES MUST END AT END OF FILE
191# IF YOU PUT STUFF HERE IT WILL GO AWAY
192# see make depend above
193