|
|
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 \
1.1.1.2 ! root 56: ${CFILES} ${MCFILES} ../machine/swapgeneric.c ioconf.c | \
1.1 root 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
1.1.1.2 ! root 103: grep '^#include' ${MCFILES} >> edfiles
1.1 root 104: cat edfiles | grep -v '<' | \
105: sed -e 's/:[^"]*"\([^"]*\)".*/: \1/' \
106: -e 's/\.c/.o/' \
107: -e 's,../[a-zA-Z]*/,,' | \
108: awk ' { if ($$1 != prev) { print rec; rec = $$0; prev = $$1; } \
109: else { if (length(rec $$2) > 78) { print rec; rec = $$0; } \
110: else rec = rec " " $$2 } } \
111: END { print rec } ' > makedep
112: echo '$$r makedep' >>eddep
113: echo '/^# DO NOT DELETE THIS LINE/+1,$$d' >eddep
114: echo '$$r makedep' >>eddep
115: echo 'w' >>eddep
116: cp makefile makefile.bak
117: ed - makefile < eddep
118: rm edfiles eddep makedep
119:
120:
121: links:
122: egrep '#if' ${CFILES} | sed -f ../conf/defines | \
123: sed -e 's/:.*//' -e 's/\.c/.o/' | sort -u > dontlink
1.1.1.2 ! root 124: egrep '#if' ${MCFILES} | sed -f ../conf/defines | \
! 125: sed -e 's/:.*//' -e 's/\.c/.o/' | sort -u >> dontlink
1.1 root 126: echo ${CFILES} | tr -s ' ' '\12' | sed 's/\.c/.o/' | \
127: sort -u | comm -23 - dontlink | \
128: sed 's,../.*/\(.*.o\),rm -f \1;ln -s ../GENERIC/\1 \1,' > makelinks
1.1.1.2 ! root 129: echo ${MCFILES} | tr -s ' ' '\12' | sed 's/\.c/.o/' | \
! 130: sort -u | comm -23 - dontlink | \
! 131: sed 's,../.*/\(.*.o\),rm -f \1;ln -s ../GENERIC/\1 \1,' >> makelinks
1.1 root 132: echo 'rm -f udiv.o;ln -s ../GENERIC/udiv.o udiv.o' >> makelinks
133: echo 'rm -f urem.o;ln -s ../GENERIC/urem.o urem.o' >> makelinks
134: sh makelinks && rm -f dontlink
135:
136: tags:
1.1.1.2 ! root 137: /usr/ucb/ctags ${CFILES} ${MCFILES}
1.1 root 138:
139: print:
140: @pr -f makefile ../sys/TODO linterrs
1.1.1.2 ! root 141: @/usr/ucb/ctags -x ${CFILES} ${MCFILES} | pr -f -h XREF
1.1 root 142: @(size vmunix *.o) | pr -f -h sizes
143: @ls -ls | pr -f
144: @cd ../h; ls -ls | pr -f ; pr -f *.m *.h
145: @echo 'once upon a time ...'
146: @cd ../sys; pr -f asm.sed Locore.c scb.s locore.s
1.1.1.2 ! root 147: @pr -f ${CFILES} ${MCFILES}
1.1 root 148:
149: ioconf.o: ioconf.c ../h/param.h ../machine/pte.h ../h/buf.h ../h/map.h \
150: ../h/vm.h ../vba/vbavar.h
151:
152: param.c: ../conf/param.c
153: rm -f param.c
154: cp ../conf/param.c .
155:
156: param.o: param.c makefile
157: ${CC} -I. -c ${CFLAGS} ${PARAM} param.c
158:
159: # for uname system call
160:
161: sys5_name.o: ../sys/sys5_name.c makefile
162: ${CC} -I. -c -O ${COPTS} \
163: -DSYS5_SYS=\"`expr $(SYS5_SYS) : '\(.\{1,8\}\)'`\" \
164: -DSYS5_NODE=\"`expr $(SYS5_NODE) : '\(.\{1,8\}\)'`\" \
165: -DSYS5_REL=\"`expr $(SYS5_REL) : '\(.\{1,8\}\)'`\" \
166: -DSYS5_VER=\"`expr $(SYS5_VER) : '\(.\{1,8\}\)'`\" \
167: -DSYS5_MACH=\"`expr $(SYS5_MACH) : '\(.\{1,8\}\)'`\" \
168: ../sys/sys5_name.c
169:
170: %RULES
171:
172: # DO NOT DELETE THIS LINE -- make depend uses it
173:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.