|
|
1.1 ! root 1: # Copyright (c) 1982 Regents of the University of California ! 2: # ! 3: # @(#)Makefile 1.13 (Berkeley) 2/8/83 ! 4: # ! 5: # make file for pdx ! 6: # ! 7: # For best results edit this file in vi with tabstop=4. ! 8: # ! 9: # The file "defs.h" is included by all, it has most of the type ! 10: # declarations (since you can't have forward type references in C). ! 11: # It also defines various things of general use and includes <stdio.h>. ! 12: # ! 13: # The file "library.c" contains routines which are generally useful ! 14: # and are independent from pdx. ! 15: # ! 16: # N.B.: My version of cerror in "cerror.s" automatically catches certain errors ! 17: # such as out of memory, I/O error. If you re-make pdx with ! 18: # the standard cerror, the program could fault unexpectedly. ! 19: # ! 20: # Also, this makefile contains almost NO HEADER DEPENDENCIES. So ! 21: # if you modify a header file in a non-trivial way, you need ! 22: # to touch the C files that include it. ! 23: # ! 24: ! 25: DESTDIR = ! 26: HOME = /usr/src/ucb/pdx ! 27: LIB = library.o cerror.o ! 28: SRCDIR = ../src/ ! 29: INSTALL = ${DESTDIR}/usr/ucb/pdx ! 30: ! 31: RM = /bin/rm -f ! 32: CFLAGS = -Disvaxpx -I.. -I../${SRCDIR} -DOBJ -DADDR32 -O ! 33: LDFLAGS = # -i for pdp-11 ! 34: ! 35: .c.o: ! 36: @echo "compiling $*.c" ! 37: @csh -f -c ' \ ! 38: set a=$*.c; \ ! 39: if ($$a:h != $$a) chdir $$a:h; \ ! 40: ${CC} ${CFLAGS} -c $$a:t \ ! 41: ' ! 42: ! 43: .s.o: ! 44: @echo "assembling $*.s" ! 45: @cc -c $*.s ! 46: ! 47: # ! 48: # source directory specifications ! 49: # ! 50: ! 51: MAIN = main/ ! 52: SYMTAB = symtab/ ! 53: SOURCE = source/ ! 54: COMMAND = command/ ! 55: TREE = tree/ ! 56: SYM = sym/ ! 57: BREAKPOINT = breakpoint/ ! 58: RUNTIME = runtime/ ! 59: OBJECT = object/ ! 60: MAPPINGS = mappings/ ! 61: PROCESS = process/ ! 62: MACHINE = machine/ ! 63: ! 64: BPOBJ =\ ! 65: ${BREAKPOINT}bp.o\ ! 66: ${BREAKPOINT}bpact.o\ ! 67: ${BREAKPOINT}fixbps.o\ ! 68: ${BREAKPOINT}status.o\ ! 69: ${BREAKPOINT}printnews.o\ ! 70: ${BREAKPOINT}setbps.o\ ! 71: ${BREAKPOINT}trinfo.o\ ! 72: ${BREAKPOINT}trcond.o ! 73: ! 74: OBJOBJ =\ ! 75: ${OBJECT}readobj.o\ ! 76: ${OBJECT}readsym.o\ ! 77: ${OBJECT}maketypes.o ! 78: ! 79: MAPOBJ =\ ! 80: ${MAPPINGS}functab.o\ ! 81: ${MAPPINGS}objaddr.o\ ! 82: ${MAPPINGS}srcfile.o\ ! 83: ${MAPPINGS}srcline.o ! 84: ! 85: CMDOBJ =\ ! 86: ${COMMAND}y.tab.o\ ! 87: ${COMMAND}lex.yy.o\ ! 88: ${COMMAND}remake.o ! 89: ! 90: RUNTIMEOBJ =\ ! 91: ${RUNTIME}frame.o\ ! 92: ${RUNTIME}wheredump.o\ ! 93: ${RUNTIME}isactive.o\ ! 94: ${RUNTIME}address.o\ ! 95: ${RUNTIME}callproc.o\ ! 96: ${RUNTIME}entry.o ! 97: ! 98: MACHOBJ =\ ! 99: ${MACHINE}nextaddr.o\ ! 100: ${MACHINE}setbp.o\ ! 101: ${MACHINE}optab.o\ ! 102: ${MACHINE}printdata.o\ ! 103: ${MACHINE}printerror.o\ ! 104: ${MACHINE}printinst.o\ ! 105: ${MACHINE}pxerrors.o ! 106: ! 107: PROCOBJ =\ ! 108: ${PROCESS}runcont.o\ ! 109: ${PROCESS}pstatus.o\ ! 110: ${PROCESS}rdwr.o\ ! 111: ${PROCESS}resume.o\ ! 112: ${PROCESS}start.o\ ! 113: ${PROCESS}step.o\ ! 114: ${PROCESS}ptrace.o ! 115: ! 116: SYMOBJ =\ ! 117: ${SYM}predicates.o\ ! 118: ${SYM}attributes.o\ ! 119: ${SYM}printdecl.o\ ! 120: ${SYM}which.o\ ! 121: ${SYM}print.o\ ! 122: ${SYM}printval.o\ ! 123: ${SYM}tree.o ! 124: ! 125: TREEOBJ =\ ! 126: ${TREE}build.o\ ! 127: ${TREE}eval.o\ ! 128: ${TREE}opinfo.o\ ! 129: ${TREE}prtree.o\ ! 130: ${TREE}tfree.o\ ! 131: ${TREE}tr_equal.o\ ! 132: ${TREE}tracestop.o\ ! 133: ${TREE}misc.o\ ! 134: ${TREE}assign.o ! 135: ! 136: OBJS =\ ! 137: ${MAIN}main.o\ ! 138: ${SYMTAB}symtab.o\ ! 139: ${SOURCE}source.o\ ! 140: ${CMDOBJ}\ ! 141: ${TREEOBJ}\ ! 142: ${SYMOBJ}\ ! 143: ${BPOBJ}\ ! 144: ${RUNTIMEOBJ}\ ! 145: ${OBJOBJ}\ ! 146: ${MAPOBJ}\ ! 147: ${PROCOBJ}\ ! 148: ${MACHOBJ} ! 149: ! 150: a.out: ${OBJS} ${LIB} ! 151: @echo "linking" ! 152: @cc ${LDFLAGS} ${OBJS} ${LIB} ! 153: ! 154: profile: ${OBJS} ! 155: @echo "linking with -p" ! 156: @cc ${LDFLAGS} -p ${OBJS} ${LIB} ! 157: ! 158: ${COMMAND}y.tab.o: ${COMMAND}grammar.yacc ! 159: chdir ${COMMAND}; yacc -d grammar.yacc; cc -c ${CFLAGS} y.tab.c ! 160: ${RM} ${COMMAND}y.tab.c ! 161: ! 162: ${COMMAND}lex.yy.o: ${COMMAND}token.lex ${COMMAND}y.tab.h ! 163: chdir ${COMMAND}; lex token.lex; cc -c ${CFLAGS} lex.yy.c ! 164: ${RM} ${COMMAND}lex.yy.c ! 165: ! 166: ${BPOBJ}: ${BREAKPOINT}bp.rep ! 167: ${RUNTIMEOBJ}: ${RUNTIME}frame.rep ! 168: ${PROCOBJ}: ${PROCESS}process.rep ! 169: ${SYMOBJ}: ${SYM}sym.rep ! 170: ${TREEOBJ}: ${TREE}tree.rep ! 171: ${OBJOBJ}: ${OBJECT}objsym.rep ! 172: ${OBJECT}readobj.o ${OBJECT}readsym.o: ${SRCDIR}objfmt.h ! 173: ! 174: install: a.out ! 175: mv a.out ${INSTALL} ! 176: ! 177: clean: ! 178: ${RM} a.out */*.o ! 179: ! 180: # ! 181: # Warning: This will produce a very long listing. You would be better ! 182: # off just looking at things on-line. ! 183: # ! 184: ! 185: print: ! 186: pr *.h [a-z]*/*.{h,rep,yacc,lex,c}
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.