|
|
1.1 root 1: # makefile.tahoe 6.3 9/25/83
2: #
3: # Makefile for 4.2 BSD
4: #
5: # This makefile is constructed from a machine description:
6: # config machine
7: # Most changes should be made in the machine description
8: # /sys/conf/``machineid''
9: # after which you should do
10: # config machineid
11: # Generic makefile changes should be made in
12: # /sys/conf/makefile
13: # after which config should be rerun for all machines.
14: #
15: # N.B.: NO DEPENDENCIES ON FOLLOWING FLAGS ARE VISIBLE TO MAKEFILE
16: # IF YOU CHANGE THE DEFINITION OF ANY OF THESE RECOMPILE EVERYTHING
17: #
18: # -DTRACE compile in kernel tracing hooks
19: # -DQUOTA compile in file system quotas
20: # -DAUDITTRAIL compile with audit trail hooks
21: # -DSWABIPS compile in code to byte swap ip packets on 3Mb/s Ethernet
22: #
23: DESTDIR=
24: AS=/bin/as
25: CC=/bin/cc
26: LD=/bin/ld
27: INCLDIR=${DESTDIR}/usr/include
28: LIBDIR=${DESTDIR}/lib
29: ULIBDIR=${DESTDIR}/usr/lib
30:
31: LCC=/bin/cc
32: TOUCH= touch -c
33:
34: COPTS= ${IDENT} -DKERNEL
35: CFLAGS= -O ${COPTS}
36:
37: LIBSYS = ${LIBDIR}/libc.a
38: SYS5_SYS = unix
39: SYS5_NODE = unix
40: SYS5_REL = 4.2/Vr2
41: SYS5_VER = Power6
42: SYS5_MACH = Power6
43:
44: %OBJS
45:
46: %CFILES
47:
48: %LOAD
49:
50: clean:
51: rm -f eddep *vmunix tags *.o locore.i [a-tv-z]*.s \
52: errs linterrs makelinks
53:
54: lint: /tmp
55: @lint -hbxn -I. -DGENERIC ${COPTS} ../machine/Locore.c \
56: ${CFILES} ../machine/swapgeneric.c ioconf.c | \
57: grep -v 'struct/union .* never defined' | \
58: grep -v 'possible pointer alignment problem'
59:
60: ../machine/symbols.sort: ../machine/symbols.raw
61: grep -v '^#' ../machine/symbols.raw \
62: | sed 's/^ //' | sort -u > ../machine/symbols.sort
63:
64: locore.o: assym.s ../machine/scb.s ../machine/locore.s \
65: ubglue.s ../machine/mtpr.h ../machine/trap.h ../machine/psl.h \
66: ../machine/pte.h ../machine/cp.h ../machine/mem.h
67: cat assym.s ../machine/scb.s ../machine/locore.s \
68: ubglue.s > locore.c
69: ${CC} -E -I. -DLOCORE ${COPTS} locore.c > locore.i
70: @echo 'as -o locore.o locore.i'
71: @${AS} -o locore.o locore.i
72: @rm locore.i
73:
74: # the following is necessary because autoconf.o depends on #if GENERIC
75: autoconf.o tu.o: makefile
76:
77: # depend on network configuration
78: af.o : makefile
79: # depend on maxusers
80: assym.s: makefile ../machine/genassym.c
81:
82: assym.s: ../h/param.h ../machine/pte.h ../h/buf.h ../h/vmparam.h \
83: ../h/vmmeter.h ../h/dir.h ../h/cmap.h ../h/map.h ../vba/vbavar.h \
84: ../h/proc.h ../h/msgbuf.h ../h/user.h
85: ${LCC} -I${INCLDIR} ${IDENT} ${PARAM} -DKUTIL ../machine/genassym.c; ./a.out >assym.s; rm -f a.out
86:
87: ../h/param.h: ../machine/param.h ../h/signal.h ../h/types.h
88: ${TOUCH} ../h/param.h
89: ../h/tty.h: ../h/ttychars.h ../h/ttydev.h
90: ${TOUCH} ../h/tty.h
91: ../h/ioctl.h: /usr/include/sgtty.h ../h/ttychars.h ../h/ttydev.h
92: ${TOUCH} ../h/ioctl.h
93: ../h/user.h: ../machine/pcb.h ../h/dmap.h ../h/time.h ../h/resource.h \
94: /usr/include/errno.h
95: ${TOUCH} ../h/user.h
96: ../h/vm.h: ../h/vmmac.h ../h/vmmeter.h ../h/vmparam.h ../h/vmsystm.h
97: ${TOUCH} ../h/vm.h
98: ../h/vmparam.h: ../machine/vmparam.h
99: ${TOUCH} ../h/vmparam.h
100:
101: depend:
102: grep '^#include' ${CFILES} > edfiles
103: cat edfiles | grep -v '<' | \
104: sed -e 's/:[^"]*"\([^"]*\)".*/: \1/' \
105: -e 's/\.c/.o/' \
106: -e 's,../[a-zA-Z]*/,,' | \
107: awk ' { if ($$1 != prev) { print rec; rec = $$0; prev = $$1; } \
108: else { if (length(rec $$2) > 78) { print rec; rec = $$0; } \
109: else rec = rec " " $$2 } } \
110: END { print rec } ' > makedep
111: echo '$$r makedep' >>eddep
112: echo '/^# DO NOT DELETE THIS LINE/+1,$$d' >eddep
113: echo '$$r makedep' >>eddep
114: echo 'w' >>eddep
115: cp makefile makefile.bak
116: ed - makefile < eddep
117: rm edfiles eddep makedep
118:
119:
120: links:
121: egrep '#if' ${CFILES} | sed -f ../conf/defines | \
122: sed -e 's/:.*//' -e 's/\.c/.o/' | sort -u > dontlink
123: echo ${CFILES} | tr -s ' ' '\12' | sed 's/\.c/.o/' | \
124: sort -u | comm -23 - dontlink | \
125: sed 's,../.*/\(.*.o\),rm -f \1;ln -s ../GENERIC/\1 \1,' > makelinks
126: echo 'rm -f udiv.o;ln -s ../GENERIC/udiv.o udiv.o' >> makelinks
127: echo 'rm -f urem.o;ln -s ../GENERIC/urem.o urem.o' >> makelinks
128: sh makelinks && rm -f dontlink
129:
130: tags:
131: /usr/ucb/ctags ${CFILES}
132:
133: print:
134: @pr -f makefile ../sys/TODO linterrs
135: @/usr/ucb/ctags -x ${CFILES} | pr -f -h XREF
136: @(size vmunix *.o) | pr -f -h sizes
137: @ls -ls | pr -f
138: @cd ../h; ls -ls | pr -f ; pr -f *.m *.h
139: @echo 'once upon a time ...'
140: @cd ../sys; pr -f asm.sed Locore.c scb.s locore.s
141: @pr -f ${CFILES}
142:
143: ioconf.o: ioconf.c ../h/param.h ../machine/pte.h ../h/buf.h ../h/map.h \
144: ../h/vm.h ../vba/vbavar.h
145:
146: param.c: ../conf/param.c
147: rm -f param.c
148: cp ../conf/param.c .
149:
150: param.o: param.c makefile
151: ${CC} -I. -c ${CFLAGS} ${PARAM} param.c
152:
153: # for uname system call
154:
155: sys5_name.o: ../sys/sys5_name.c makefile
156: ${CC} -I. -c -O ${COPTS} \
157: -DSYS5_SYS=\"`expr $(SYS5_SYS) : '\(.\{1,8\}\)'`\" \
158: -DSYS5_NODE=\"`expr $(SYS5_NODE) : '\(.\{1,8\}\)'`\" \
159: -DSYS5_REL=\"`expr $(SYS5_REL) : '\(.\{1,8\}\)'`\" \
160: -DSYS5_VER=\"`expr $(SYS5_VER) : '\(.\{1,8\}\)'`\" \
161: -DSYS5_MACH=\"`expr $(SYS5_MACH) : '\(.\{1,8\}\)'`\" \
162: ../sys/sys5_name.c
163:
164: %RULES
165:
166: # DO NOT DELETE THIS LINE -- make depend uses it
167:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.