| 1 | .SUFFIXES: .c .o .s .E |
| 2 | |
| 3 | # |
| 4 | # Need to include from the current directory because "qt.h" |
| 5 | # will include <qtmd.h>. |
| 6 | # |
| 7 | CFLAGS = -I. -g |
| 8 | |
| 9 | # |
| 10 | # Fix this to be something meaningful for your system. |
| 11 | # |
| 12 | DEST = /dev/null |
| 13 | |
| 14 | DOC = users.tout |
| 15 | |
| 16 | EXTHDRS = /usr/include/stdio.h |
| 17 | |
| 18 | HDRS = qt.h \ |
| 19 | qtmd.h \ |
| 20 | stp.h |
| 21 | |
| 22 | LDFLAGS = $(CFLAGS) |
| 23 | |
| 24 | EXTLIBS = |
| 25 | |
| 26 | LIBS = libstp.a libqt.a |
| 27 | |
| 28 | LINKER = $(CC) |
| 29 | |
| 30 | MAKEFILE = Makefile |
| 31 | |
| 32 | M = Makefile configuration |
| 33 | |
| 34 | OBJS = qtmdb.o \ |
| 35 | meas.o |
| 36 | |
| 37 | QTOBJS = qt.o qtmds.o qtmdc.o |
| 38 | |
| 39 | STPOBJS = stp.o |
| 40 | |
| 41 | PR = -Pps |
| 42 | |
| 43 | PRINT = pr |
| 44 | |
| 45 | PROGRAM = run |
| 46 | |
| 47 | SRCS = meas.c \ |
| 48 | qt.c \ |
| 49 | qtmdc.c \ |
| 50 | qtmds.s \ |
| 51 | qtmdb.s |
| 52 | |
| 53 | TMP_INIT = tmp.init |
| 54 | TMP_SWAP = tmp.swap |
| 55 | |
| 56 | .DEFAULT: |
| 57 | co -q $@ |
| 58 | |
| 59 | .c.E: force |
| 60 | $(CC) $(CFLAGS) -E $*.c > $*.E |
| 61 | |
| 62 | all: libqt.a libstp.a $(PROGRAM) $(M) |
| 63 | |
| 64 | libqt.a: $(QTOBJS) $(M) |
| 65 | ar crv libqt.a $(QTOBJS) |
| 66 | ranlib libqt.a |
| 67 | |
| 68 | libstp.a: $(STPOBJS) $(M) |
| 69 | ar crv libstp.a $(STPOBJS) |
| 70 | ranlib libstp.a |
| 71 | |
| 72 | $(PROGRAM): $(OBJS) $(LIBS) $(M) |
| 73 | @echo "Loading $(PROGRAM) ... " |
| 74 | # ld -o $(PROGRAM) /lib/crt0.o $(OBJS) -lc |
| 75 | $(LINKER) $(LDFLAGS) $(OBJS) $(LIBS) $(EXTLIBS) -o $(PROGRAM) |
| 76 | @echo "done" |
| 77 | |
| 78 | clean: |
| 79 | rm -f $(OBJS) $(PROGRAM) $(TMP_INIT) $(TMP_SWAP) $(DOC) |
| 80 | rm -f libqt.a libstp.a |
| 81 | rm -f $(QTOBJS) $(STPOBJS) |
| 82 | |
| 83 | depend:; @mkmf -f $(MAKEFILE) PROGRAM=$(PROGRAM) DEST=$(DEST) |
| 84 | |
| 85 | doc: users.ms raw |
| 86 | time/assim < raw | grep "^init" | sed 's/^init //' > $(TMP_INIT) |
| 87 | time/assim < raw | grep "^swap" | sed 's/^swap //' > $(TMP_SWAP) |
| 88 | soelim users.ms | tbl $(PR) | troff -t $(PR) -ms > $(DOC) |
| 89 | |
| 90 | index:; @ctags -wx $(HDRS) $(SRCS) |
| 91 | |
| 92 | print:; @$(PRINT) $(HDRS) $(SRCS) |
| 93 | |
| 94 | program: $(PROGRAM) |
| 95 | |
| 96 | tags: $(HDRS) $(SRCS); @ctags $(HDRS) $(SRCS) |
| 97 | |
| 98 | update: $(DEST)/$(PROGRAM) |
| 99 | |
| 100 | $(DEST)/$(PROGRAM): $(SRCS) $(LIBS) $(HDRS) $(EXTHDRS) |
| 101 | @make -f $(MAKEFILE) DEST=$(DEST) install |
| 102 | |
| 103 | QT_H = qt.h $(QTMD_H) |
| 104 | QTMD_H = qtmd.h |
| 105 | |
| 106 | ### |
| 107 | qtmdb.o: $(M) qtmdb.s b.h |
| 108 | meas.o: $(M) meas.c /usr/include/stdio.h $(QT_H) b.h stp.h |
| 109 | qt.o: $(M) qt.c $(QT_H) |
| 110 | stp.o: $(M) stp.c stp.h $(QT_H) |
| 111 | qtmds.o: $(M) qtmds.s |
| 112 | qtmdc.o: $(M) qtmdc.c $(QT_H) |