|
|
1.1 root 1: # @(#)Makefile 4.6 (Berkeley) 7/15/83
2: #
3: # make file for debugger "dbx"
4: #
5: # The file "defs.h" is included by all.
6: #
7: # N.B.:
8: # My version of cerror automatically catches certain errors
9: # such as out of memory, I/O error. If you re-make this with
10: # the standard cerror, the program could fault unexpectedly.
11: #
12:
13: .SUFFIXES:
14: .SUFFIXES: .h .c .s .o
15:
16: AOUT = tdbx
17: DESTDIR =
18: DEST = ${DESTDIR}/usr/ucb/dbx
19:
20: LIBRARIES =
21:
22: CC = cc
23: CFLAGS = # -g
24: LDFLAGS = -g
25:
26: OBJ = \
27: y.tab.o \
28: asm.o \
29: events.o \
30: c.o \
31: cerror.o \
32: check.o \
33: coredump.o \
34: debug.o \
35: eval.o \
36: fortran.o \
37: keywords.o \
38: languages.o \
39: library.o \
40: lists.o \
41: machine.o \
42: main.o \
43: mappings.o \
44: names.o \
45: object.o \
46: operators.o \
47: pascal.o \
48: printsym.o \
49: process.o \
50: runtime.o \
51: scanner.o \
52: source.o \
53: symbols.o \
54: tree.o \
55: ops.o
56:
57: HDR = \
58: asm.h \
59: events.h \
60: c.h \
61: check.h \
62: coredump.h \
63: eval.h \
64: fortran.h \
65: keywords.h \
66: languages.h \
67: lists.h \
68: machine.h \
69: main.h \
70: mappings.h \
71: names.h \
72: object.h \
73: operators.h \
74: pascal.h \
75: printsym.h \
76: process.h \
77: runtime.h \
78: source.h \
79: scanner.h \
80: symbols.h \
81: tree.h \
82: ops.h
83:
84: SRC = \
85: defs.h \
86: commands.y \
87: asm.c \
88: events.c \
89: c.c \
90: cerror.s \
91: check.c \
92: coredump.c \
93: debug.c \
94: eval.c \
95: fortran.c \
96: keywords.c \
97: languages.c \
98: library.c \
99: lists.c \
100: machine.c \
101: main.c \
102: mappings.c \
103: names.c \
104: object.c \
105: operators.c \
106: pascal.c \
107: printsym.c \
108: process.c \
109: runtime.c \
110: scanner.c \
111: source.c \
112: symbols.c \
113: tree.c \
114: ops.c
115:
116: .c.o:
117: @echo "compiling $*.c"
118: @${CC} ${CFLAGS} -c $*.c
119:
120: .s.o:
121: @echo "assembling $*.s"
122: @${CC} -c $*.s
123:
124: .c.h:
125: ./makedefs -f $*.c $*.h
126:
127: ${AOUT}: makedefs mkdate ${HDR} ${OBJ}
128: @rm -f date.c
129: @./mkdate > date.c
130: @echo "linking"
131: @${CC} ${LDFLAGS} date.c ${OBJ} ${LIBRARIES} -o ${AOUT}
132:
133: profile: ${HDR} ${OBJ}
134: @rm -f date.c
135: @./mkdate > date.c
136: @echo "linking with -p"
137: @${CC} ${LDFLAGS} -p date.c ${OBJ} ${LIBRARIES} -o ${AOUT}
138:
139: y.tab.c: commands.y
140: yacc -d commands.y
141:
142: makedefs: makedefs.c library.o cerror.o
143: ${CC} makedefs.c library.o cerror.o -o makedefs
144:
145: mkdate: mkdate.c
146: ${CC} mkdate.c -o mkdate
147:
148: print:
149: @echo "don't print it, it's too long"
150:
151: #
152: # Don't worry about the removal of header files, they're created from
153: # the source files.
154: #
155:
156: clean:
157: rm -f ${HDR} ${OBJ} y.tab.c y.tab.h \
158: ${AOUT} mkdate mkdate.o makedefs makedefs.o date.c core
159:
160: install:
161: install ${AOUT} ${DEST}
162:
163: #
164: # Create a tar file called "tape" containing relevant files.
165: #
166:
167: tape:
168: tar cfv tape Makefile READ_ME TO_DO ${SRC} makedefs.c mkdate.c
169:
170: #
171: # Header dependencies are purposely incomplete since header files
172: # are "written" every time the accompanying source file changes even if
173: # the resulting contents of the header don't change. The alternative is
174: # to force a "makedefs" to be invoked for every header file each time dbx
175: # is made.
176: #
177: # Also, there should be a dependency of scanner.o and keywords.o on y.tab.h
178: # but misfortunately silly make does a "makedefs y.tab.c y.tab.h" which
179: # destroys y.tab.h.
180: #
181:
182: symbols.o tree.o check.o eval.o events.o: operators.h
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.