# # Copyright (c) 1983 The Regents of the University of California. # All rights reserved. # # Redistribution and use in source and binary forms are permitted # provided that the above copyright notice and this paragraph are # duplicated in all such forms and that any documentation, # advertising materials, and other materials related to such # distribution and use acknowledge that the software was developed # by the University of California, Berkeley. The name of the # University may not be used to endorse or promote products derived # from this software without specific prior written permission. # THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. # # @(#)Makefile 5.18 (Berkeley) 06/29/90 # # The file "defs.h" is included by all. .SUFFIXES: .SUFFIXES: .h .c .s .o .1 .0 AOUT = tdbx DESTDIR = DEST = /usr/bin/dbx CC = cc AS = as # # if you want gripes # CFLAGS = -g '-DMAINTAINER="linton@shasta.stanford.edu"' # CFLAGS = -O # -g LD = cc LDFLAGS = # -g LIBRARIES = # -lPW for IRIS (System V) 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 \ runtime.o \ scanner.o \ source.o \ stabstring.o \ symbols.o \ tree.o \ ops.o HDR = \ asm.h \ events.h \ 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 \ pascal.h \ printsym.h \ process.h \ runtime.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 .s.o: @echo "assembling $*.s" @rm -f tmp @cpp $*.s | egrep -v "^#" > tmp @${AS} -o $*.o tmp @rm -f tmp .c.h: ./makedefs -f $*.c $*.h all ${AOUT}: makedefs mkdate ${HDR} ${OBJ} @rm -f date.c @./mkdate > date.c @echo "linking" @${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 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} -g makedefs.c library.o cerror.o -o makedefs mkdate: mkdate.c ${CC} -g ${CFLAGS} mkdate.c -o mkdate dbx.0: dbx.1 nroff -mandoc dbx.1 > dbx.0 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} mkdate mkdate.o \ makedefs makedefs.o date.c core mon.out prof.out make.out \ cerror.s ops.c machine.c runtime.c date.o @chdir tests; make clean cleandir: clean rm -f dbx.0 tags .depend cleandefs: rm -f ${HDR} y.tab.h testinstall: ${AOUT} test install test: @cd tests; make install: ${AOUT} dbx.0 install -s -o bin -g bin -m 755 ${AOUT} ${DESTDIR}${DEST} install -c -o bin -g bin -m 444 dbx.0 ${DESTDIR}/usr/share/man/cat1 # # Create a tar file called "tape" containing relevant files. # TAPE = f tape tape: @tar c${TAPE} Makefile History READ_ME ${SRC} \ makedefs.c mkdate.c tests pc0mods dbx.1 newdbx.1 dbxstab.5 # # without tests subdirectory # srconlytape: @tar c${TAPE} Makefile History READ_ME ${SRC} \ makedefs.c mkdate.c dbx.1 newdbx.1 dbxstab.5 # # 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