|
|
1.1 root 1: NOTANGLE=notangle
2: NOWEAVE=noweave
3: AWK=nawk
4: CC=cc
5: CPP=/lib/cpp
6:
7: WARNS=@echo -n "" # no warning message by default
8:
9: .SUFFIXES: .nw .sml .sig .awk .tex .dvi .s .print
10:
11: .nw.sml:
12: $(NOTANGLE) $*.nw > $*.sml
13:
14: .nw.sig:
15: $(NOTANGLE) -Rsignature $*.nw > $*.sig
16:
17: .nw.s:
18: $(NOTANGLE) $*.nw > $*.s
19:
20: .nw.awk:
21: $(NOTANGLE) $*.nw > $*.awk
22:
23: .nw.tex:
24: $(NOWEAVE) $*.nw > $*.tex
25:
26: .tex.dvi:
27: tex $*.tex
28:
29: .nw.dvi:
30: $(NOWEAVE) $*.nw > $*.tex
31: tex $*.tex
32:
33:
34: #SUN3
35: #MACHINE = M68
36: #DEFS = -DBSD -DSUN3
37: #CFL = -n -Bstatic -f68881
38: #ASMBLR = as
39:
40: #SONY
41: #MACHINE = M68
42: #DEFS = -DBSD
43: #CFL =
44: #ASMBLR = /mnt/brown/toe/gas/a68 # the GNU assembler, that is
45:
46: #SUN4
47: #MACHINE = SPARC
48: #DEFS = -DBSD
49: #CFL = -n -Bstatic
50: #ASMBLR = as
51:
52: #ENCORE
53: #MACHINE = NS32
54: #DEFS = -DBSD
55: #CFL =
56: #ASMBLR = as -j
57:
58: #NEXT
59: #MACHINE = M68
60: #DEFS = -DBSD -DMACH
61: #CFL =
62: #ASMBLR = as
63:
64: #VAXBSD
65: #MACHINE = VAX
66: #DEFS = -DBSD '-DMODIR="mo.vax"'
67: #CFL =
68: #ASMBLR = as
69:
70: #VAXV9
71: #MACHINE = VAX
72: #DEFS = -DV9
73: #CFL =
74: #ASMBLR = as
75:
76: #PMAX
77: MACHINE = MIPS
78: DEFS = -DBSD '-DMODIR="mo.mips"'
79: ASMBLR = as
80: WARNS =@echo 'Expect exactly one warning about a macro instruction using $$at'
81:
82: DEFINES = -D$(MACHINE) $(DEFS)
83: CFLAGS = -g $(CFL) $(DEFINES)
84: #CFLAGS = -O $(CFL) $(DEFINES)
85:
86: # Other possible #define's:
87: # PROFILE: for a run which counts allocs.
88: # GCDEBUG: print extra information during garbage collection,
89: # examine the to_space after a collection for stray pointers,
90: # and check create_b and create_s for zero allocation.
91: # GCPROFILE: for a run which prints out cumulative garbage collector
92: # information as it exits.
93:
94: run: run.o gc.o callgc.o prim.o prof.o export.o objects.o cstruct.o trace.o allmo.o cache.o
95: $(CC) $(CFLAGS) -o run.mips run.o gc.o callgc.o prim.o prof.o export.o objects.o cstruct.o trace.o cache.o -lc allmo.o
96: nm run.mips | sort > loadmap
97:
98: allmo.o: allmo.s
99: TMPDIR=/usr/tmp/ ; export TMPDIR ; $(ASMBLR) $(DEFINES) $(CFLAGS) -o allmo.o allmo.s
100:
101: allmo.s: STUB.allmo.s
102: /bin/cp STUB.allmo.s allmo.s
103:
104: linkdata: linkdata.c
105: $(CC) $(CFLAGS) -o linkdata linkdata.c
106:
107: prim.o: $(MACHINE).prim.s tags.h prof.h ml.h prim.h
108: $(CC) $(CFLAGS) -E $(MACHINE).prim.s | sed '/^#.*$$/d' > prim.s
109: # make sure there is no line number info; it breaks dbx
110: $(WARNS)
111: $(ASMBLR) $(CFLAGS) -o prim.o prim.s
112:
113: callgc.o objects.o gc.o run.o trace.o: descriptor.h tags.h
114:
115: callgc.o run.o export.o objects.o: ml.h
116:
117: prof.o: prof.h
118:
119: clean:
120: rm -f *.o lint.out prim.s linkdata allmo.s
121:
122: lint:
123: lint $(DEFINES) run.c gc.c callgc.c prof.c export.c objects.c cstruct.c trace.c | tee lint.out
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.