1# 2# Copyright (c) 1983 Regents of the University of California. 3# All rights reserved. The Berkeley software License Agreement 4# specifies the terms and conditions for redistribution. 5# 6# @(#)Makefile 5.12 (Berkeley) 06/10/88 7# 8# make file for debugger "dbx" 9# 10# The file "defs.h" is included by all. 11# 12 13.SUFFIXES: 14.SUFFIXES: .h .c .s .o 15 16AOUT = tdbx 17DESTDIR = 18DEST = /usr/ucb/dbx 19 20CC = cc 21AS = as 22# 23# if you want gripes 24# CFLAGS = -g '-DMAINTAINER="linton@shasta.stanford.edu"' 25# 26CFLAGS = -O # -g 27 28LD = cc 29LDFLAGS = # -g 30LIBRARIES = # -lPW for IRIS (System V) 31 32OBJ = \ 33 y.tab.o \ 34 asm.o \ 35 events.o \ 36 c.o \ 37 cerror.o \ 38 check.o \ 39 coredump.o \ 40 debug.o \ 41 eval.o \ 42 fortran.o \ 43 keywords.o \ 44 languages.o \ 45 library.o \ 46 lists.o \ 47 machine.o \ 48 main.o \ 49 mappings.o \ 50 modula-2.o \ 51 names.o \ 52 object.o \ 53 operators.o \ 54 pascal.o \ 55 printsym.o \ 56 process.o \ 57 runtime.o \ 58 scanner.o \ 59 source.o \ 60 stabstring.o \ 61 symbols.o \ 62 tree.o \ 63 ops.o 64 65HDR = \ 66 asm.h \ 67 events.h \ 68 c.h \ 69 check.h \ 70 coredump.h \ 71 debug.h \ 72 eval.h \ 73 fortran.h \ 74 keywords.h \ 75 languages.h \ 76 lists.h \ 77 machine.h \ 78 main.h \ 79 mappings.h \ 80 modula-2.h \ 81 names.h \ 82 object.h \ 83 operators.h \ 84 pascal.h \ 85 printsym.h \ 86 process.h \ 87 runtime.h \ 88 scanner.h \ 89 source.h \ 90 stabstring.h \ 91 symbols.h \ 92 tree.h \ 93 ops.h 94 95SRC = \ 96 defs.h \ 97 commands.y \ 98 asm.c \ 99 events.c \ 100 c.c \ 101 cerror.${MACHINE}.s \ 102 check.c \ 103 coredump.c \ 104 debug.c \ 105 eval.c \ 106 fortran.c \ 107 keywords.c \ 108 languages.c \ 109 library.c \ 110 lists.c \ 111 main.c \ 112 mappings.c \ 113 modula-2.c \ 114 names.c \ 115 object.c \ 116 operators.c \ 117 pascal.c \ 118 printsym.c \ 119 process.c \ 120 scanner.c \ 121 source.c \ 122 stabstring.c \ 123 symbols.c \ 124 tree.c \ 125 ${MACHINE}.c \ 126 runtime.${MACHINE}.c \ 127 ops.${MACHINE}.c 128 129.c.o: 130 @echo "compiling $*.c" 131 @${CC} ${CFLAGS} -c $*.c 132 133.s.o: 134 @echo "assembling $*.s" 135 @rm -f tmp 136 @/lib/cpp $*.s | grep -v "^#" > tmp 137 @${AS} -o $*.o tmp 138 @rm -f tmp 139 140.c.h: 141 ./makedefs -f $*.c $*.h 142 143${AOUT}: makedefs mkdate ${HDR} ${OBJ} 144 @rm -f date.c 145 @./mkdate > date.c 146 @echo "linking" 147 @${CC} ${CFLAGS} -c date.c 148 @${LD} ${LDFLAGS} date.o ${OBJ} ${LIBRARIES} -o ${AOUT} 149 150profile: ${HDR} ${OBJ} 151 @rm -f date.c 152 @./mkdate > date.c 153 @echo "linking with -p" 154 @${CC} ${LDFLAGS} -p date.c ${OBJ} ${LIBRARIES} -o ${AOUT} 155 156y.tab.c: commands.y 157 @echo "expect 2 shift/reduce conflicts" 158 yacc -d commands.y 159 160cerror.s: cerror.${MACHINE}.s 161 @rm -f cerror.s 162 @ln -s cerror.${MACHINE}.s cerror.s 163 164machine.c: ${MACHINE}.c 165 @rm -f machine.c 166 @ln -s ${MACHINE}.c machine.c 167 168ops.c: ops.${MACHINE}.c 169 @rm -f ops.c 170 @ln -s ops.${MACHINE}.c ops.c 171 172runtime.c: runtime.${MACHINE}.c 173 @rm -f runtime.c 174 @ln -s runtime.${MACHINE}.c runtime.c 175 176makedefs: makedefs.c library.o cerror.o 177 ${CC} -g makedefs.c library.o cerror.o -o makedefs 178 179mkdate: mkdate.c 180 ${CC} -g ${CFLAGS} mkdate.c -o mkdate 181 182print: 183 @echo "don't print it, it's too long" 184 185depend: 186 187# 188# Don't worry about the removal of header files, they're created from 189# the source files. 190# 191 192clean: 193 rm -f ${HDR} ${OBJ} y.tab.c y.tab.h ${AOUT} mkdate mkdate.o \ 194 makedefs makedefs.o date.c core mon.out prof.out make.out \ 195 cerror.s ops.c machine.c runtime.c date.o 196 @chdir tests; make clean 197 198cleandefs: 199 rm -f ${HDR} y.tab.h 200 201testinstall: ${AOUT} test install 202 203test: 204 @cd tests; make 205 206install: ${AOUT} 207 install -s -o bin -g bin -m 755 ${AOUT} ${DESTDIR}${DEST} 208 209# 210# Create a tar file called "tape" containing relevant files. 211# 212 213TAPE = f tape 214 215tape: 216 @tar c${TAPE} Makefile History READ_ME ${SRC} \ 217 makedefs.c mkdate.c tests pc0mods dbx.1 newdbx.1 dbxstab.5 218 219# 220# without tests subdirectory 221# 222srconlytape: 223 @tar c${TAPE} Makefile History READ_ME ${SRC} \ 224 makedefs.c mkdate.c dbx.1 newdbx.1 dbxstab.5 225 226# 227# Header dependencies are purposely incomplete since header files 228# are "written" every time the accompanying source file changes even if 229# the resulting contents of the header don't change. The alternative is 230# to force a "makedefs" to be invoked for every header file each time dbx 231# is made. 232# 233# Also, there should be a dependency of scanner.o and keywords.o on y.tab.h 234# but misfortunately silly make does a "makedefs y.tab.c y.tab.h" which 235# destroys y.tab.h. 236# 237 238symbols.o tree.o check.o eval.o events.o: operators.h 239