-# @(#)Makefile 4.2 (Berkeley) %G%
+#
+# Copyright (c) 1983 Regents of the University of California.
+# All rights reserved. The Berkeley software License Agreement
+# specifies the terms and conditions for redistribution.
+#
+# @(#)Makefile 5.8 (Berkeley) %G%
#
# make file for debugger "dbx"
#
# The file "defs.h" is included by all.
#
-# N.B.:
-# My version of cerror automatically catches certain errors
-# such as out of memory, I/O error. If you re-make this with
-# the standard cerror, the program could fault unexpectedly.
-#
.SUFFIXES:
.SUFFIXES: .h .c .s .o
AOUT = tdbx
-DESTDIR =
-DEST = ${DESTDIR}/usr/ucb/dbx
+DESTDIR =
+DEST = /usr/ucb/dbx
-LIBRARIES =
+# Install the mail address of the person maintaining dbx below
+# as -DMAINTAINER. A null string disables gripes.
CC = cc
-CFLAGS = # -g
-LDFLAGS = -g
+CFLAGS = '-DMAINTAINER=""' -O
+
+LD = cc
+LDFLAGS =
+LIBRARIES =
+
+# LD = /bin/oldld
+# LDFLAGS = -X /lib/crt0.o
+# LIBRARIES = -lg -lc
OBJ = \
y.tab.o \
cerror.o \
check.o \
coredump.o \
+ debug.o \
eval.o \
+ fortran.o \
keywords.o \
languages.o \
library.o \
machine.o \
main.o \
mappings.o \
+ modula-2.o \
names.o \
object.o \
operators.o \
runtime.o \
scanner.o \
source.o \
+ stabstring.o \
symbols.o \
tree.o \
ops.o
c.h \
check.h \
coredump.h \
+ debug.h \
eval.h \
+ fortran.h \
keywords.h \
languages.h \
lists.h \
machine.h \
main.h \
mappings.h \
+ modula-2.h \
names.h \
object.h \
operators.h \
printsym.h \
process.h \
runtime.h \
- source.h \
scanner.h \
+ source.h \
+ stabstring.h \
symbols.h \
tree.h \
ops.h
+SRC = \
+ defs.h \
+ commands.y \
+ asm.c \
+ events.c \
+ c.c \
+ cerror.${MACHINE}.s \
+ check.c \
+ coredump.c \
+ debug.c \
+ eval.c \
+ fortran.c \
+ keywords.c \
+ languages.c \
+ library.c \
+ lists.c \
+ main.c \
+ mappings.c \
+ modula-2.c \
+ names.c \
+ object.c \
+ operators.c \
+ pascal.c \
+ printsym.c \
+ process.c \
+ scanner.c \
+ source.c \
+ stabstring.c \
+ symbols.c \
+ tree.c \
+ ${MACHINE}.c \
+ runtime.${MACHINE}.c \
+ ops.${MACHINE}.c
+
.c.o:
@echo "compiling $*.c"
@${CC} ${CFLAGS} -c $*.c
.c.h:
./makedefs -f $*.c $*.h
-${AOUT}: makedefs ${HDR} ${OBJ}
+${AOUT}: makedefs mkdate ${HDR} ${OBJ}
+ @rm -f date.c
+ @./mkdate > date.c
@echo "linking"
- @${CC} ${LDFLAGS} ${OBJ} ${LIBRARIES} -o ${AOUT}
+ @${CC} ${CFLAGS} -c date.c
+ @${LD} ${LDFLAGS} date.o ${OBJ} ${LIBRARIES} -o ${AOUT}
profile: ${HDR} ${OBJ}
+ @rm -f date.c
+ @./mkdate > date.c
@echo "linking with -p"
- @${CC} ${LDFLAGS} -p ${OBJ} ${LIBRARIES} -o ${AOUT}
+ @${CC} ${LDFLAGS} -p date.c ${OBJ} ${LIBRARIES} -o ${AOUT}
y.tab.c: commands.y
+ @echo "expect 2 shift/reduce conflicts"
yacc -d commands.y
+cerror.s: cerror.${MACHINE}.s
+ @rm -f cerror.s
+ @ln -s cerror.${MACHINE}.s cerror.s
+
+machine.c: ${MACHINE}.c
+ @rm -f machine.c
+ @ln -s ${MACHINE}.c machine.c
+
+ops.c: ops.${MACHINE}.c
+ @rm -f ops.c
+ @ln -s ops.${MACHINE}.c ops.c
+
+runtime.c: runtime.${MACHINE}.c
+ @rm -f runtime.c
+ @ln -s runtime.${MACHINE}.c runtime.c
+
makedefs: makedefs.c library.o cerror.o
- ${CC} makedefs.c library.o cerror.o -o makedefs
+ ${CC} -O makedefs.c library.o cerror.o -o makedefs
+
+mkdate: mkdate.c
+ ${CC} -O mkdate.c -o mkdate
print:
@echo "don't print it, it's too long"
+depend:
+
#
# Don't worry about the removal of header files, they're created from
# the source files.
#
clean:
- rm -f ${HDR} ${OBJ} y.tab.c y.tab.h ${AOUT} core
+ rm -f ${HDR} ${OBJ} y.tab.c y.tab.h ${AOUT} mkdate mkdate.o \
+ makedefs makedefs.o date.c core mon.out prof.out make.out \
+ cerror.s ops.c machine.c runtime.c
+
+cleandefs:
+ rm -f ${HDR} y.tab.h
+
+testinstall: ${AOUT} test install
+
+test:
+ @chdir tests; make
+
+install: ${AOUT}
+ install -s ${AOUT} ${DESTDIR}/${DEST}
+
+#
+# Create a tar file called "tape" containing relevant files.
+#
+
+TAPE = tape
-install:
- install -s ${AOUT} ${DEST}
+tape:
+ @tar cf ${TAPE} \
+ Makefile History version READ_ME ${SRC} \
+ makedefs.c mkdate.c tests pchanges ptests
#
# Header dependencies are purposely incomplete since header files