|
|
1.1 root 1: # /usr/src/c/Makefile 9/28/92
2: # Assumes $(SRC) defines root libc source directory, e.g. /usr/src/c.
3: # To build new C compiler objects, move to an empty object directory and type:
4: # export SRC=/usr/src/c (or other pathname as appropriate)
5: # . $SRC/.profile (to set exported shell variables)
6: # make dirs (to build subdirectories)
7: # make (to build compiler)
8: # .profile sets exported shell variables required by subdirectory Makefiles:
9: # MCH machine type
10: # AR librarian
11: # CFLAGS to -I compiler headers
12: # CLIB path to common library
13: # OUTPUT output writer
14: # TABGEN path to table generator executable
15: # TFLAGS flags for table generator
16: # X object file extension
17: # Takes about 20 minutes from scratch on 20 MHz 386 with RAM disk cc.
18:
19: # Primary target.
20: # Build unstripped executables cc, cpp, cc[0123] linked to directory bin.
21: # Also builds common library common/lib.a, table generator coh/tabgen,
22: # code table sources n1/macros.c and m1/patern.c.
23: all:
24: cd common; make -e SRCPATH=$(SRC)/common:$(SRC)/common/$(MCH)
25: cd coh; make -e SRCPATH=$(SRC)/coh
26: cd cpp; make -e SRCPATH=$(SRC)/cpp
27: cd n0; make -e SRCPATH=$(SRC)/n0:$(SRC)/n0/$(MCH)
28: cd n1; make -e SRCPATH=$(SRC)/n1/$(MCH):$(SRC)/n1/$(MCH)/tables
29: cd n1; make -e SRCPATH=$(SRC)/n1:$(SRC)/n1/$(MCH)
30: cd n2; make -e SRCPATH=$(SRC)/n2:$(SRC)/n2/$(MCH)
31: cd n3; make -e SRCPATH=$(SRC)/n3:$(SRC)/n3/$(MCH)
32: ln -f coh/cc cpp/cpp n0/cc0 n1/cc1 n2/cc2 n3/cc3 bin
33: : Done.
34:
35: # Make monolithic cc.
36: mcc:
37: cd common; make -e SRCPATH=$(SRC)/common:$(SRC)/common/$(MCH)
38: cd cpp; make -e SRCPATH=$(SRC)/cpp
39: cd n0; make -e SRCPATH=$(SRC)/n0:$(SRC)/n0/$(MCH) cc0.a
40: cd n1; make -e SRCPATH=$(SRC)/n1/$(MCH):$(SRC)/n1/$(MCH)/tables
41: cd n1; make -e SRCPATH=$(SRC)/n1:$(SRC)/n1/$(MCH) cc1.a
42: cd n2; make -e SRCPATH=$(SRC)/n2:$(SRC)/n2/$(MCH) cc2.a
43: cd n3; make -e SRCPATH=$(SRC)/n3:$(SRC)/n3/$(MCH) cc3.a
44: cd coh; make -e SRCPATH=$(SRC)/coh mcc
45: ln -f coh/mcc bin
46: : Done.
47:
48: # Strip executables.
49: strip:
50: strip bin/cc bin/cpp bin/cc0 bin/cc1 bin/cc2 bin/cc3
51:
52: # Build subdirectories.
53: dirs:
54: mkdir bin coh common cpp n0 n1 n2 n3
55:
56: # Build tabgen.
57: tabgen:
58: cd coh; make -e SRCPATH=$(SRC)/coh tabgen
59:
60: # end of /usr/src/c/Makefile
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.