head     1.4;
access   ;
symbols  ;
locks    mark:1.4; strict;
comment  @# @;


1.4
date     86.04.22.13.06.02;  author mark;  state Exp;
branches ;
next     1.3;

1.3
date     86.04.22.12.59.24;  author root;  state Exp;
branches ;
next     1.2;

1.2
date     86.04.01.16.44.39;  author root;  state Exp;
branches ;
next     1.1;

1.1
date     86.03.11.10.38.18;  author root;  state Exp;
branches ;
next     ;


desc
@@


1.4
log
@added date.o and rslts to make clean.
@
text
@#	Makefile	4.9	84/06/23
#
# make file for debugger "dbx"
#
# The file "defs.h" is included by all.
#

.SUFFIXES:
.SUFFIXES: .h .c .s .o

AOUT	= dbx
DESTDIR=
DEST	= ${DESTDIR}/usr/ucb/dbx

LIBRARIES =

CC	= cc
OPTS	= 
CFLAGS	= -DIS68K $(OPTS)
LDFLAGS	= $(OPTS)
MDFLAGS =

OBJ = \
    y.tab.o \
    asm.o \
    events.o \
    c.o \
    cerror.o \
    check.o \
    coredump.o \
    debug.o \
    eval.o \
    fortran.o \
    keywords.o \
    languages.o \
    library.o \
    lists.o \
    machine.o \
    main.o \
    mappings.o \
    modula-2.o \
    names.o \
    object.o \
    operators.o \
    pascal.o \
    printsym.o \
    process.o \
    re.o \
    runtime.o \
    scanner.o \
    source.o \
    stabstring.o \
    symbols.o \
    tree.o \
    stub.o \
    ops.o \
    bus.o

HDR = \
    defs.h \
    asm.h \
    events.h \
    c.h \
    check.h \
    coredump.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 \
    pascal.h \
    printsym.h \
    process.h \
    re.h \
    runtime.h \
    scanner.h \
    source.h \
    stabstring.h \
    symbols.h \
    tree.h \
    ops.h

SRC = \
    asm.c \
    events.c \
    c.c \
    cerror.s \
    check.c \
    coredump.c \
    debug.c \
    eval.c \
    fortran.c \
    keywords.c \
    languages.c \
    library.c \
    lists.c \
    machine.c \
    main.c \
    mappings.c \
    modula-2.c \
    names.c \
    object.c \
    operators.c \
    pascal.c \
    printsym.c \
    process.c \
    re.c \
    runtime.c \
    scanner.c \
    source.c \
    symbols.c \
    tree.c \
    stub.c \
    ops.c \
    bus.s

.c.o:
#	@@echo "compiling $*.c"
#	@@${CC} ${CFLAGS} -c $*.c
	${CC} ${CFLAGS} -c $*.c

.s.o:
#	@@echo "assembling $*.s"
#	@@${CC}  -c $*.s
	${CC}  -c $*.s

.c.h:
	./makedefs $(MDFLAGS) $*.c $*.h

all: makedefs mkdate ${AOUT}

${AOUT}: ${HDR} ${OBJ}
	@@rm -f date.c
	@@./mkdate > date.c
	@@echo "linking"
	@@${CC} ${LDFLAGS} date.c ${OBJ} ${LIBRARIES} -o ${AOUT}
	@@echo "done"

profile: ${HDR} ${OBJ}
	@@rm -f date.c
	@@./mkdate > date.c
	@@echo "linking with -p"
	@@${CC} ${LDFLAGS} -p date.c ${OBJ} ${LIBRARIES} -o ${AOUT}

y.tab.c: commands.y
	@@echo "expect 2 shift/reduce conflicts"
	yacc -d commands.y

makedefs: makedefs.o library.o cerror.o
	${CC} -O makedefs.o 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"

#
# 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} \
	    mkdate mkdate.o makedefs makedefs.o date.c core mon.out prof.out \
	    rslts date.o

lint:
	lint -hxc -Dtws -Diws $(SRC) y.tab.c

testinstall: ${AOUT} test install

test:
	@@chdir tests; make

install: ${AOUT}
	install ${AOUT} ${DEST}

#
# Create a tar file called "tape" containing relevant files.
#

TAPE = tape

tape:
	tar cfv ${TAPE} \
	    Makefile ${SRC} makedefs.c mkdate.c tests/ pchanges ptests

#
# Header dependencies are purposely incomplete since header files
# are "written" every time the accompanying source file changes even if
# the resulting contents of the header don't change.  The alternative is
# to force a "makedefs" to be invoked for every header file each time dbx
# is made.
#
# Also, there should be a dependency of scanner.o and keywords.o on y.tab.h
# but misfortunately silly make does a "makedefs y.tab.c y.tab.h" which
# destroys y.tab.h.
#

symbols.o tree.o check.o eval.o events.o: operators.h

y.tab.h: y.tab.c
	touch y.tab.h

c.h:		tree.h
coredump.h:	machine.h
eval.h:		machine.h
events.h:	symbols.h
keywords.h:	scanner.h
machine.h:	source.h
machine.h:	symbols.h
mappings.h:	machine.h
mappings.h:	source.h
mappings.h:	symbols.h
object.h:	languages.h
object.h:	symbols.h
process.h:	machine.h
runtime.h:	machine.h
source.h:	lists.h
symbols.h:	machine.h
symbols.h:	names.h
symbols.h:	languages.h
symbols.h:	tree.h
tree.h:		lists.h
tree.h:		operators.h
tree.h:		symbols.h
tree.h:		events.h

asm.o:	defs.h
asm.o:	symbols.h
asm.o:	asm.h
asm.o:	languages.h
asm.o:	tree.h
asm.o:	eval.h
asm.o:	operators.h
asm.o:	mappings.h
asm.o:	process.h
asm.o:	runtime.h
asm.o:	machine.h
c.o:	defs.h
c.o:	symbols.h
c.o:	printsym.h
c.o:	languages.h
c.o:	c.h
c.o:	tree.h
c.o:	eval.h
c.o:	operators.h
c.o:	mappings.h
c.o:	process.h
c.o:	runtime.h
c.o:	machine.h
c.o:	tree.h
check.o:	defs.h
check.o:	tree.h
check.o:	operators.h
check.o:	events.h
check.o:	symbols.h
check.o:	scanner.h
check.o:	source.h
check.o:	object.h
check.o:	mappings.h
check.o:	process.h
coredump.o:	defs.h
coredump.o:	coredump.h
coredump.o:	machine.h
coredump.o:	object.h
coredump.o:	main.h
coredump.o:	machine.h
debug.o:	defs.h
debug.o:	tree.h
debug.o:	operators.h
debug.o:	eval.h
debug.o:	events.h
debug.o:	symbols.h
debug.o:	scanner.h
debug.o:	source.h
debug.o:	object.h
debug.o:	mappings.h
debug.o:	process.h
debug.o:	machine.h
eval.o:	defs.h
eval.o:	tree.h
eval.o:	operators.h
eval.o:	eval.h
eval.o:	events.h
eval.o:	symbols.h
eval.o:	scanner.h
eval.o:	source.h
eval.o:	object.h
eval.o:	mappings.h
eval.o:	process.h
eval.o:	runtime.h
eval.o:	machine.h
eval.o:	machine.h
events.o:	defs.h
events.o:	events.h
events.o:	main.h
events.o:	symbols.h
events.o:	tree.h
events.o:	eval.h
events.o:	source.h
events.o:	mappings.h
events.o:	runtime.h
events.o:	process.h
events.o:	machine.h
events.o:	lists.h
events.o:	symbols.h
fortran.o:	defs.h
fortran.o:	symbols.h
fortran.o:	printsym.h
fortran.o:	languages.h
fortran.o:	fortran.h
fortran.o:	tree.h
fortran.o:	eval.h
fortran.o:	operators.h
fortran.o:	mappings.h
fortran.o:	process.h
fortran.o:	runtime.h
fortran.o:	machine.h
keywords.o:	defs.h
keywords.o:	keywords.h
keywords.o:	scanner.h
keywords.o:	names.h
keywords.o:	symbols.h
keywords.o:	tree.h
keywords.o:	y.tab.h
keywords.o:	scanner.h
languages.o:	defs.h
languages.o:	languages.h
languages.o:	c.h
languages.o:	pascal.h
languages.o:	modula-2.h
languages.o:	asm.h
lists.o:	defs.h
lists.o:	lists.h
machine.o:	defs.h
machine.o:	machine.h
machine.o:	process.h
machine.o:	runtime.h
machine.o:	events.h
machine.o:	main.h
machine.o:	symbols.h
machine.o:	source.h
machine.o:	mappings.h
machine.o:	object.h
machine.o:	ops.h
machine.o:	source.h
machine.o:	symbols.h
main.o:	defs.h
main.o:	main.h
main.o:	symbols.h
main.o:	scanner.h
main.o:	process.h
main.o:	runtime.h
main.o:	source.h
main.o:	object.h
main.o:	mappings.h
makedefs.o:	defs.h
mappings.o:	defs.h
mappings.o:	mappings.h
mappings.o:	symbols.h
mappings.o:	source.h
mappings.o:	object.h
mappings.o:	machine.h
mappings.o:	machine.h
mappings.o:	source.h
mappings.o:	symbols.h
modula-2.o:	defs.h
modula-2.o:	symbols.h
modula-2.o:	modula-2.h
modula-2.o:	languages.h
modula-2.o:	tree.h
modula-2.o:	eval.h
modula-2.o:	mappings.h
modula-2.o:	process.h
modula-2.o:	runtime.h
modula-2.o:	machine.h
names.o:	defs.h
names.o:	names.h
object.o:	defs.h
object.o:	object.h
object.o:	stabstring.h
object.o:	main.h
object.o:	symbols.h
object.o:	names.h
object.o:	languages.h
object.o:	mappings.h
object.o:	lists.h
object.o:	languages.h
object.o:	symbols.h
operators.o:	defs.h
operators.o:	operators.h
ops.o:	defs.h
ops.o:	machine.h
ops.o:	mappings.h
ops.o:	ops.h
pascal.o:	defs.h
pascal.o:	symbols.h
pascal.o:	pascal.h
pascal.o:	languages.h
pascal.o:	tree.h
pascal.o:	eval.h
pascal.o:	mappings.h
pascal.o:	process.h
pascal.o:	runtime.h
pascal.o:	machine.h
printsym.o:	defs.h
printsym.o:	symbols.h
printsym.o:	languages.h
printsym.o:	printsym.h
printsym.o:	tree.h
printsym.o:	eval.h
printsym.o:	mappings.h
printsym.o:	process.h
printsym.o:	runtime.h
printsym.o:	machine.h
printsym.o:	names.h
printsym.o:	main.h
process.o:	defs.h
process.o:	process.h
process.o:	machine.h
process.o:	events.h
process.o:	tree.h
process.o:	eval.h
process.o:	operators.h
process.o:	source.h
process.o:	object.h
process.o:	mappings.h
process.o:	main.h
process.o:	coredump.h
process.o:	machine.h
re.o:	defs.h
re.o:	re.h
runtime.o:	defs.h
runtime.o:	runtime.h
runtime.o:	process.h
runtime.o:	machine.h
runtime.o:	events.h
runtime.o:	mappings.h
runtime.o:	symbols.h
runtime.o:	tree.h
runtime.o:	eval.h
runtime.o:	operators.h
runtime.o:	object.h
runtime.o:	main.h
runtime.o:	machine.h
scanner.o:	defs.h
scanner.o:	scanner.h
scanner.o:	main.h
scanner.o:	keywords.h
scanner.o:	tree.h
scanner.o:	symbols.h
scanner.o:	names.h
scanner.o:	y.tab.h
source.o:	defs.h
source.o:	source.h
source.o:	object.h
source.o:	mappings.h
source.o:	machine.h
source.o:	lists.h
source.o:	re.h
stabstring.o:	defs.h
stabstring.o:	stabstring.h
stabstring.o:	object.h
stabstring.o:	main.h
stabstring.o:	symbols.h
stabstring.o:	names.h
stabstring.o:	languages.h
stub.o:		defs.h
stub.o:		main.h
symbols.o:	defs.h
symbols.o:	symbols.h
symbols.o:	languages.h
symbols.o:	printsym.h
symbols.o:	tree.h
symbols.o:	operators.h
symbols.o:	eval.h
symbols.o:	mappings.h
symbols.o:	events.h
symbols.o:	process.h
symbols.o:	runtime.h
symbols.o:	machine.h
symbols.o:	names.h
symbols.o:	machine.h
symbols.o:	names.h
symbols.o:	languages.h
symbols.o:	tree.h
tree.o:	defs.h
tree.o:	tree.h
tree.o:	operators.h
tree.o:	eval.h
tree.o:	events.h
tree.o:	symbols.h
tree.o:	scanner.h
tree.o:	source.h
tree.o:	object.h
tree.o:	mappings.h
tree.o:	process.h
tree.o:	machine.h
tree.o:	lists.h
tree.o:	operators.h
tree.o:	symbols.h
tree.o:	events.h
y.tab.o: defs.h
y.tab.o: symbols.h
y.tab.o: operators.h
y.tab.o: tree.h
y.tab.o: process.h
y.tab.o: source.h
y.tab.o: scanner.h
y.tab.o: names.h
y.tab.o: lists.h
@


1.3
log
@corrected dependencies for makedefs.
@
text
@d172 2
a173 1
	    mkdate mkdate.o makedefs makedefs.o date.c core mon.out prof.out
@


1.2
log
@debug flag remoc
debug flag removed.
@
text
@d144 1
a144 1
	@@echo "done WITH -G VERSION"
d156 2
a157 2
makedefs: makedefs.c library.o cerror.o
	${CC} -O makedefs.c library.o cerror.o -o makedefs
@


1.1
log
@Initial revision
@
text
@a0 5
#
# $Header$
#
# $Log$
#
d18 1
a18 1
OPTS	= -O
d56 2
a57 1
    ops.o
d60 1
a90 1
    defs.h \
d121 2
a122 1
    ops.c
d144 1
a144 1
	@@echo "done"
d156 2
a157 2
makedefs: makedefs.o library.o cerror.o
	${CC} makedefs.o library.o cerror.o -o makedefs
@
