|
|
1.1 root 1: # Copyright (c) 1982 Regents of the University of California.
2: # All rights reserved. The Berkeley software License Agreement
3: # specifies the terms and conditions for redistribution.
4: #
5: # @(#)Makefile 1.17 (Berkeley) 4/25/86
6: #
7: # make file for pdx
8: #
9: # For best results edit this file in vi with tabstop=4.
10: #
11: # The file "defs.h" is included by all, it has most of the type
12: # declarations (since you can't have forward type references in C).
13: # It also defines various things of general use and includes <stdio.h>.
14: #
15: # The file "library.c" contains routines which are generally useful
16: # and are independent from pdx.
17: #
18: # N.B.: My version of cerror in "cerror.s" automatically catches certain errors
19: # such as out of memory, I/O error. If you re-make pdx with
20: # the standard cerror, the program could fault unexpectedly.
21: #
22: # Also, this makefile contains almost NO HEADER DEPENDENCIES. So
23: # if you modify a header file in a non-trivial way, you need
24: # to touch the C files that include it.
25: #
26:
27: DESTDIR =
28: HOME = /usr/src/ucb/pdx
29: LIB = library.o cerror.o
30: SRCDIR = ../src/
31: INSTALL = ${DESTDIR}/usr/ucb/pdx
32:
33: RM = /bin/rm -f
34: CFLAGS = -Disvaxpx -I.. -I../${SRCDIR} -DOBJ -DADDR32 -O
35: LDFLAGS = # -i for pdp-11
36:
37: .c.o:
38: @echo "compiling $*.c"
39: @csh -f -c ' \
40: set a=$*.c; \
41: if ($$a:h != $$a) cd $$a:h; \
42: ${CC} ${CFLAGS} -c $$a:t \
43: '
44:
45: .s.o:
46: @echo "assembling $*.s"
47: @cc -c $*.s
48:
49: #
50: # source directory specifications
51: #
52:
53: MAIN = main/
54: SYMTAB = symtab/
55: SOURCE = source/
56: COMMAND = command/
57: TREE = tree/
58: SYM = sym/
59: BREAKPOINT = breakpoint/
60: RUNTIME = runtime/
61: OBJECT = object/
62: MAPPINGS = mappings/
63: PROCESS = process/
64: MACHINE = machine/
65:
66: BPOBJ =\
67: ${BREAKPOINT}bp.o\
68: ${BREAKPOINT}bpact.o\
69: ${BREAKPOINT}fixbps.o\
70: ${BREAKPOINT}status.o\
71: ${BREAKPOINT}printnews.o\
72: ${BREAKPOINT}setbps.o\
73: ${BREAKPOINT}trinfo.o\
74: ${BREAKPOINT}trcond.o
75:
76: OBJOBJ =\
77: ${OBJECT}readobj.o\
78: ${OBJECT}readsym.o\
79: ${OBJECT}maketypes.o
80:
81: MAPOBJ =\
82: ${MAPPINGS}functab.o\
83: ${MAPPINGS}objaddr.o\
84: ${MAPPINGS}srcfile.o\
85: ${MAPPINGS}srcline.o
86:
87: CMDOBJ =\
88: ${COMMAND}y.tab.o\
89: ${COMMAND}lex.yy.o\
90: ${COMMAND}remake.o
91:
92: RUNTIMEOBJ =\
93: ${RUNTIME}frame.o\
94: ${RUNTIME}wheredump.o\
95: ${RUNTIME}isactive.o\
96: ${RUNTIME}address.o\
97: ${RUNTIME}callproc.o\
98: ${RUNTIME}entry.o
99:
100: MACHOBJ =\
101: ${MACHINE}nextaddr.o\
102: ${MACHINE}setbp.o\
103: ${MACHINE}optab.o\
104: ${MACHINE}printdata.o\
105: ${MACHINE}printerror.o\
106: ${MACHINE}printinst.o\
107: ${MACHINE}pxerrors.o
108:
109: PROCOBJ =\
110: ${PROCESS}runcont.o\
111: ${PROCESS}pstatus.o\
112: ${PROCESS}rdwr.o\
113: ${PROCESS}resume.o\
114: ${PROCESS}start.o\
115: ${PROCESS}step.o\
116: ${PROCESS}ptrace.o
117:
118: SYMOBJ =\
119: ${SYM}predicates.o\
120: ${SYM}attributes.o\
121: ${SYM}printdecl.o\
122: ${SYM}which.o\
123: ${SYM}print.o\
124: ${SYM}printval.o\
125: ${SYM}tree.o
126:
127: TREEOBJ =\
128: ${TREE}build.o\
129: ${TREE}eval.o\
130: ${TREE}opinfo.o\
131: ${TREE}prtree.o\
132: ${TREE}tfree.o\
133: ${TREE}tr_equal.o\
134: ${TREE}tracestop.o\
135: ${TREE}misc.o\
136: ${TREE}assign.o
137:
138: OBJS =\
139: ${MAIN}main.o\
140: ${SYMTAB}symtab.o\
141: ${SOURCE}source.o\
142: ${CMDOBJ}\
143: ${TREEOBJ}\
144: ${SYMOBJ}\
145: ${BPOBJ}\
146: ${RUNTIMEOBJ}\
147: ${OBJOBJ}\
148: ${MAPOBJ}\
149: ${PROCOBJ}\
150: ${MACHOBJ}
151:
152: a.out: ${OBJS} ${LIB}
153: @echo "linking"
154: @cc ${LDFLAGS} ${OBJS} ${LIB}
155:
156: profile: ${OBJS}
157: @echo "linking with -p"
158: @cc ${LDFLAGS} -p ${OBJS} ${LIB}
159:
160: ${COMMAND}y.tab.o: ${COMMAND}grammar.yacc
161: cd ${COMMAND}; yacc -d grammar.yacc; cc -c ${CFLAGS} y.tab.c
162: ${RM} ${COMMAND}y.tab.c
163:
164: ${COMMAND}lex.yy.o: ${COMMAND}token.lex ${COMMAND}y.tab.h
165: cd ${COMMAND}; lex token.lex; cc -c ${CFLAGS} lex.yy.c
166: ${RM} ${COMMAND}lex.yy.c
167:
168: ${BPOBJ}: ${BREAKPOINT}bp.rep
169: ${RUNTIMEOBJ}: ${RUNTIME}frame.rep
170: ${PROCOBJ}: ${PROCESS}process.rep
171: ${SYMOBJ}: ${SYM}sym.rep
172: ${TREEOBJ}: ${TREE}tree.rep
173: ${OBJOBJ}: ${OBJECT}objsym.rep
174: ${OBJECT}readobj.o ${OBJECT}readsym.o: ${SRCDIR}objfmt.h
175:
176: install: a.out
177: install -s a.out ${INSTALL}
178:
179: clean:
180: ${RM} a.out *.o */*.o
181:
182: #
183: # Warning: This will produce a very long listing. You would be better
184: # off just looking at things on-line.
185: #
186:
187: print:
188: pr *.h [a-z]*/*.{h,rep,yacc,lex,c}
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.