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