Commit | Line | Data |
---|---|---|
e1f4dbca | 1 | # Makefile 4.9 84/06/23 |
723343f2 SL |
2 | # |
3 | # make file for debugger "dbx" | |
4 | # | |
5 | # The file "defs.h" is included by all. | |
6 | # | |
723343f2 SL |
7 | |
8 | .SUFFIXES: | |
9 | .SUFFIXES: .h .c .s .o | |
10 | ||
11 | AOUT = tdbx | |
e1f4dbca SL |
12 | DESTDIR= |
13 | DEST = ${DESTDIR}/usr/ucb/dbx | |
723343f2 SL |
14 | |
15 | LIBRARIES = | |
16 | ||
17 | CC = cc | |
4c9eaad8 | 18 | CFLAGS = -g |
5eba90cc | 19 | LDFLAGS = -g |
723343f2 SL |
20 | |
21 | OBJ = \ | |
22 | y.tab.o \ | |
23 | asm.o \ | |
24 | events.o \ | |
25 | c.o \ | |
26 | cerror.o \ | |
27 | check.o \ | |
28 | coredump.o \ | |
8b890eea | 29 | debug.o \ |
723343f2 | 30 | eval.o \ |
8b890eea | 31 | fortran.o \ |
723343f2 SL |
32 | keywords.o \ |
33 | languages.o \ | |
34 | library.o \ | |
35 | lists.o \ | |
36 | machine.o \ | |
37 | main.o \ | |
38 | mappings.o \ | |
2fd0f574 | 39 | modula-2.o \ |
723343f2 SL |
40 | names.o \ |
41 | object.o \ | |
42 | operators.o \ | |
43 | pascal.o \ | |
44 | printsym.o \ | |
45 | process.o \ | |
2b8f421b | 46 | re.o \ |
723343f2 SL |
47 | runtime.o \ |
48 | scanner.o \ | |
49 | source.o \ | |
2fd0f574 | 50 | stabstring.o \ |
723343f2 SL |
51 | symbols.o \ |
52 | tree.o \ | |
53 | ops.o | |
54 | ||
55 | HDR = \ | |
56 | asm.h \ | |
57 | events.h \ | |
58 | c.h \ | |
59 | check.h \ | |
60 | coredump.h \ | |
61 | eval.h \ | |
8b890eea | 62 | fortran.h \ |
723343f2 SL |
63 | keywords.h \ |
64 | languages.h \ | |
65 | lists.h \ | |
66 | machine.h \ | |
67 | main.h \ | |
68 | mappings.h \ | |
2fd0f574 | 69 | modula-2.h \ |
723343f2 SL |
70 | names.h \ |
71 | object.h \ | |
72 | operators.h \ | |
73 | pascal.h \ | |
74 | printsym.h \ | |
75 | process.h \ | |
2b8f421b | 76 | re.h \ |
723343f2 | 77 | runtime.h \ |
723343f2 | 78 | scanner.h \ |
2fd0f574 SL |
79 | source.h \ |
80 | stabstring.h \ | |
723343f2 SL |
81 | symbols.h \ |
82 | tree.h \ | |
83 | ops.h | |
84 | ||
c64c6a16 ML |
85 | SRC = \ |
86 | defs.h \ | |
87 | commands.y \ | |
88 | asm.c \ | |
89 | events.c \ | |
90 | c.c \ | |
91 | cerror.s \ | |
92 | check.c \ | |
93 | coredump.c \ | |
94 | debug.c \ | |
95 | eval.c \ | |
96 | fortran.c \ | |
97 | keywords.c \ | |
98 | languages.c \ | |
99 | library.c \ | |
100 | lists.c \ | |
101 | machine.c \ | |
102 | main.c \ | |
103 | mappings.c \ | |
2fd0f574 | 104 | modula-2.c \ |
c64c6a16 ML |
105 | names.c \ |
106 | object.c \ | |
107 | operators.c \ | |
108 | pascal.c \ | |
109 | printsym.c \ | |
110 | process.c \ | |
2b8f421b | 111 | re.c \ |
c64c6a16 ML |
112 | runtime.c \ |
113 | scanner.c \ | |
114 | source.c \ | |
115 | symbols.c \ | |
116 | tree.c \ | |
117 | ops.c | |
118 | ||
723343f2 SL |
119 | .c.o: |
120 | @echo "compiling $*.c" | |
121 | @${CC} ${CFLAGS} -c $*.c | |
122 | ||
123 | .s.o: | |
124 | @echo "assembling $*.s" | |
125 | @${CC} -c $*.s | |
126 | ||
127 | .c.h: | |
128 | ./makedefs -f $*.c $*.h | |
129 | ||
1c39daec ML |
130 | ${AOUT}: makedefs mkdate ${HDR} ${OBJ} |
131 | @rm -f date.c | |
132 | @./mkdate > date.c | |
723343f2 | 133 | @echo "linking" |
1c39daec | 134 | @${CC} ${LDFLAGS} date.c ${OBJ} ${LIBRARIES} -o ${AOUT} |
723343f2 SL |
135 | |
136 | profile: ${HDR} ${OBJ} | |
1c39daec ML |
137 | @rm -f date.c |
138 | @./mkdate > date.c | |
723343f2 | 139 | @echo "linking with -p" |
1c39daec | 140 | @${CC} ${LDFLAGS} -p date.c ${OBJ} ${LIBRARIES} -o ${AOUT} |
723343f2 SL |
141 | |
142 | y.tab.c: commands.y | |
2fd0f574 | 143 | @echo "expect 2 shift/reduce conflicts" |
723343f2 SL |
144 | yacc -d commands.y |
145 | ||
146 | makedefs: makedefs.c library.o cerror.o | |
2fd0f574 | 147 | ${CC} -g makedefs.c library.o cerror.o -o makedefs |
723343f2 | 148 | |
1c39daec | 149 | mkdate: mkdate.c |
2fd0f574 | 150 | ${CC} -g mkdate.c -o mkdate |
1c39daec | 151 | |
723343f2 SL |
152 | print: |
153 | @echo "don't print it, it's too long" | |
154 | ||
155 | # | |
156 | # Don't worry about the removal of header files, they're created from | |
157 | # the source files. | |
158 | # | |
159 | ||
160 | clean: | |
2fd0f574 SL |
161 | rm -f ${HDR} ${OBJ} y.tab.c y.tab.h ${AOUT} \ |
162 | mkdate mkdate.o makedefs makedefs.o date.c core mon.out prof.out | |
723343f2 | 163 | |
2fd0f574 SL |
164 | testinstall: ${AOUT} test install |
165 | ||
166 | test: | |
167 | @chdir tests; make | |
168 | ||
169 | install: ${AOUT} | |
513d5497 | 170 | install ${AOUT} ${DEST} |
723343f2 | 171 | |
c64c6a16 ML |
172 | # |
173 | # Create a tar file called "tape" containing relevant files. | |
174 | # | |
175 | ||
2fd0f574 SL |
176 | TAPE = tape |
177 | ||
c64c6a16 | 178 | tape: |
2fd0f574 SL |
179 | tar cfv ${TAPE} \ |
180 | Makefile ${SRC} makedefs.c mkdate.c tests/ pchanges ptests | |
c64c6a16 | 181 | |
723343f2 SL |
182 | # |
183 | # Header dependencies are purposely incomplete since header files | |
184 | # are "written" every time the accompanying source file changes even if | |
185 | # the resulting contents of the header don't change. The alternative is | |
186 | # to force a "makedefs" to be invoked for every header file each time dbx | |
187 | # is made. | |
188 | # | |
189 | # Also, there should be a dependency of scanner.o and keywords.o on y.tab.h | |
190 | # but misfortunately silly make does a "makedefs y.tab.c y.tab.h" which | |
191 | # destroys y.tab.h. | |
192 | # | |
193 | ||
194 | symbols.o tree.o check.o eval.o events.o: operators.h |