|
|
1.1 root 1: #
2: # Copyright (c) 1986, 1988 Regents of the University of California.
3: # All rights reserved.
4: #
5: # Redistribution and use in source and binary forms are permitted
6: # provided that the above copyright notice and this paragraph are
7: # duplicated in all such forms and that any documentation,
8: # advertising materials, and other materials related to such
9: # distribution and use acknowledge that the software was developed
10: # by the University of California, Berkeley. The name of the
11: # University may not be used to endorse or promote products derived
12: # from this software without specific prior written permission.
13: # THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
14: # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
15: # WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
16: #
17: # @(#)Makefile 4.18 (Berkeley) 6/30/88
18: #
19: # This makefile is designed to be run in one of three ways:
20: #
21: # make clean
22: # make depend
23: # make build
24: # make installsrc
25: # This is the most rigorous way to rebuild the source tree.
26: # The first two steps will clean the source tree and remake the dependencies.
27: # The `make build' will compile and install the libraries and the compiler
28: # twice before building the rest of the sources. The `make installsrc' will
29: # then install the remaining binaries.
30: #
31: # make libthenall
32: # make installsrc
33: # The `make libthenall' will compile and install the libraries, compile
34: # and install the compiler and then compile everything else. Note,
35: # however, that the libraries will have been built with the old compiler.
36: # The `make installsrc' will then install the remaining binaries.
37: #
38: # make all
39: # make install
40: # The `make all' (the default) will compile everything, and install
41: # nothing. The `make install' will then install everything.
42: #
43: # C library options: passed to libc makefile.
44: # See lib/libc/Makefile for explanation.
45: #
46: # HOSTLOOKUP must be either named or hosttable.
47: # DFLMON must be either mon.o or gmon.o.
48: # DEFS may include -DLIBC_SCCS, -DSYSLIBC_SCCS, both, or neither.
49: #
50: DEFS= -DLIBC_SCCS
51: DFLMON= mon.o
52: HOSTLOOKUP= named
53: LIBCDEFS= HOSTLOOKUP=${HOSTLOOKUP} DFLMON=${DFLMON} DEFS="${DEFS}"
54:
55: # global flags
56: # SRC_MFLAGS are used on makes in command source directories,
57: # but not in library or compiler directories that will be installed
58: # for use in compiling everything else.
59: #
60: DESTDIR=
61: CFLAGS= -O
62: SRC_MFLAGS= -k
63:
64: LIBDIR= lib usr.lib
65: # order is important, old and man must be #1 and #2
66: SRCDIR= old man bin usr.bin etc ucb new games local
67:
68: all: ${LIBDIR} ${SRCDIR}
69:
70: libthenall: buildlib1 buildlib3 src
71:
72: build: buildlib1 buildlib2 buildlib3 src
73:
74: src: ${SRCDIR}
75:
76: lib: FRC
77: cd lib/libc; make ${MFLAGS} ${LIBCDEFS}
78: cd lib; make ${MFLAGS} pcc cpp c2
79:
80: usr.lib ${SRCDIR}: FRC
81: @echo
82: @echo === compiling $@
83: cd $@; make ${MFLAGS} ${SRC_MFLAGS}
84:
85: buildlib1: FRC
86: @echo === installing /usr/include
87: cd include; make ${MFLAGS} DESTDIR=${DESTDIR} install
88: @echo
89: @echo === compiling libc.a
90: cd lib/libc; make ${MFLAGS} ${LIBCDEFS}
91: @echo === installing /lib/libc.a
92: cd lib/libc; make ${MFLAGS} DESTDIR=${DESTDIR} install
93: @echo
94: @echo === compiling C compiler
95: cd lib; make ${MFLAGS} pcc cpp c2
96: @echo
97: @echo === installing C compiler
98: cd lib/pcc; make ${MFLAGS} DESTDIR=${DESTDIR} install
99: cd lib/cpp; make ${MFLAGS} DESTDIR=${DESTDIR} install
100: cd lib/c2; make ${MFLAGS} DESTDIR=${DESTDIR} install
101: @echo
102:
103: buildlib2: FRC
104: @echo === cleaning lib
105: cd lib; make ${MFLAGS} clean
106: @echo === re-compiling libc.a
107: cd lib/libc; make ${MFLAGS} ${LIBCDEFS}
108: @echo === re-installing /lib/libc.a
109: cd lib/libc; make ${MFLAGS} DESTDIR=${DESTDIR} install
110: @echo
111: @echo === re-compiling C compiler
112: cd lib; make ${MFLAGS} pcc cpp c2
113: @echo === re-installing C compiler
114: cd lib/pcc; make ${MFLAGS} DESTDIR=${DESTDIR} install
115: cd lib/cpp; make ${MFLAGS} DESTDIR=${DESTDIR} install
116: cd lib/c2; make ${MFLAGS} DESTDIR=${DESTDIR} install
117: @echo
118:
119: buildlib3: FRC
120: @echo === compiling usr.lib
121: cd usr.lib; make ${MFLAGS} ${SRC_MFLAGS}
122: @echo === installing /usr/lib
123: cd usr.lib; make ${MFLAGS} ${SRC_MFLAGS} DESTDIR=${DESTDIR} install
124: @echo === done with libraries
125: @echo
126:
127: install: FRC
128: -for i in ${LIBDIR} ${SRCDIR}; do \
129: echo; \
130: echo === installing $$i; \
131: (cd $$i; \
132: make ${MFLAGS} ${SRC_MFLAGS} DESTDIR=${DESTDIR} install); \
133: done
134:
135: installsrc: FRC
136: -for i in ${SRCDIR}; do \
137: echo; \
138: echo === installing $$i; \
139: (cd $$i; \
140: make ${MFLAGS} ${SRC_MFLAGS} DESTDIR=${DESTDIR} install); \
141: done
142:
143: depend: FRC
144: for i in ${LIBDIR} ${SRCDIR}; do \
145: echo; \
146: echo === doing dependencies for $$i; \
147: (cd $$i; make ${MFLAGS} depend); \
148: done
149:
150: tags: FRC
151: for i in include lib usr.lib; do \
152: echo; \
153: echo === making tags for $$i; \
154: (cd $$i; make ${MFLAGS} TAGSFILE=../tags tags); \
155: done
156: sort -u +0 -1 -o tags tags
157:
158: clean: FRC
159: for i in ${LIBDIR} ${SRCDIR}; do \
160: echo; \
161: echo === cleaning $$i; \
162: (cd $$i; make -k ${MFLAGS} clean); \
163: done
164:
165: FRC:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.