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