Makefile revision 2906
1#	from: @(#)Makefile	5.11 (Berkeley) 5/21/91
2#	$Id: Makefile,v 1.82 1994/09/15 04:44:03 rgrimes Exp $
3
4# disktab may be wrong -- hcx9 is a tahoe, but gets its own.
5# -rw-r--r--
6BINOWN= root
7BINGRP= wheel
8BIN1=	etc.${MACHINE}/disktab \
9	${.CURDIR}/../gnu/usr.bin/man/manpath/manpath.config \
10	${.CURDIR}/../usr.bin/mail/misc/mail.rc
11
12# -rw-rw-rw-
13BIN2=	motd
14
15# -rwxr-xr-x root.wheel, for the new cron root.wheel
16BIN3=	daily weekly monthly
17
18CLEANFILES+=	*.c *.o *.lo
19CLEANFILES+=	filesystem filesystem.cache filesystem.mk
20CLEANFILES+=	kcopy kcopy.cache kcopy.mk
21
22MAKEDEVS=	(cd ${MOUNT}/dev; \
23		    sh ${DESTDIR}/dev/MAKEDEV std; \
24		    rm -rf fd; \
25		    sh ${DESTDIR}/dev/MAKEDEV fd0 fd1; \
26		    rm -rf fd0?* rfd0?* fd1?* rfd1?*; \
27		    sh ${DESTDIR}/dev/MAKEDEV wd0 wd1 sd0 sd1 cd0 mcd0 mcd1; \
28		    rm -rf *wd[01][ijklm] rmcd*)
29
30ZIPNSPLIT=	gzip --no-name -9 -c | split -b 240640 -
31
32MTREE=	BSD.local.dist BSD.root.dist BSD.usr.dist BSD.var.dist
33NAMEDB=	localhost.rev named.boot root.cache
34PCS=	pcs750.bin
35WCS1=	wcs fppwcs poc poc1 poc2 fppoc
36WCS2=	fpevent fppwcs fppwcs_dual hdcwcs load_diags start_fpp wcs wcs_dual
37
38# Special top level files for FreeBSD
39COPYRIGHT=	COPYRIGHT
40FREEBSD=	
41FREEBSD+=	${COPYRIGHT}
42#
43# Floppy drive name, mount point, type and parameters for building Floppies
44FLOPPY?=	fd0
45MOUNT?=		/mnt
46FLOPPY_TYPE?=	fd1200
47FLOPPY_BS?=	15b
48FLOPPY_TRACKS?=	160
49#
50MDEC=		usr/mdec/bootfd usr/mdec/fdboot
51MDEC+=		usr/mdec/bootsd usr/mdec/sdboot
52MDEC+=		usr/mdec/bootwd usr/mdec/wdboot
53#
54KC_DIRS=	bin dev mnt sbin
55KC_FILES=	${COPYRIGHT}
56KC_LINKS=	bin/[ bin/cp bin/echo bin/sh bin/test
57KC_LINKS+=	sbin/fsck sbin/halt sbin/init
58KC_LINKS+=	sbin/mount sbin/mount_cd9660
59KC_LINKS+=	sbin/umount
60#
61CD_DIRS=	etc usr
62#
63FILESYSTEM_DIRS=	bin dev etc mnt proc sbin usr usr/bin usr/mdec usr/sbin
64FILESYSTEM_TREES=	dev
65FILESYSTEM_FILES=	${COPYRIGHT}
66FILESYSTEM_FILES+=	dev/MAKEDEV
67FILESYSTEM_FILES+=	etc/group
68FILESYSTEM_FILES+=	etc/master.passwd etc/passwd etc/pwd.db
69FILESYSTEM_FILES+=	${MDEC}
70FILESYSTEM_LINKS=	bin/[ bin/expr bin/ls bin/mkdir bin/rm
71FILESYSTEM_LINKS+=	bin/sh bin/sync bin/test
72FILESYSTEM_LINKS+=	sbin/disklabel sbin/fdisk sbin/halt sbin/init
73FILESYSTEM_LINKS+=	sbin/mount
74FILESYSTEM_LINKS+=	sbin/newfs
75FILESYSTEM_LINKS+=	sbin/umount
76FILESYSTEM_LINKS+=	usr/bin/cpio
77FILESYSTEM_LINKS+=	usr/bin/gunzip usr/bin/gzcat usr/bin/gzip usr/bin/zcat
78FILESYSTEM_LINKS+=	usr/sbin/bad144
79FILESYSTEM_CPIO=	.profile
80FILESYSTEM_CPIO+=	root/.profile
81FILESYSTEM_CPIO+=	bin/[
82FILESYSTEM_CPIO+=	bin/chmod bin/cat bin/cp bin/df bin/expr bin/ls
83FILESYSTEM_CPIO+=	bin/ln bin/mkdir bin/mv bin/rm bin/sync
84FILESYSTEM_CPIO+=	bin/test
85FILESYSTEM_CPIO+=	etc/spwd.db
86FILESYSTEM_CPIO+=	sbin/disklabel sbin/fdisk sbin/halt sbin/init
87FILESYSTEM_CPIO+=	sbin/mount
88FILESYSTEM_CPIO+=	sbin/newfs
89FILESYSTEM_CPIO+=	sbin/umount
90FILESYSTEM_CPIO_DIRS=	root
91
92CPIO_FILES=	${COPYRIGHT}
93CPIO_CPIO=	bin/dd bin/ps bin/pwd bin/stty
94CPIO_CPIO+=	etc/protocols etc/remote etc/services
95CPIO_CPIO+=	etc/termcap
96CPIO_CPIO+=	sbin/dmesg
97CPIO_CPIO+=	sbin/ifconfig sbin/fsck sbin/mknod sbin/mount_cd9660
98CPIO_CPIO+=	sbin/mount_procfs
99CPIO_CPIO+=	sbin/reboot sbin/route sbin/slattach
100CPIO_CPIO+=	usr/bin/awk usr/bin/chgrp usr/bin/cpio usr/bin/ex usr/bin/ftp
101CPIO_CPIO+=	usr/bin/gunzip usr/bin/gzcat usr/bin/gzip
102CPIO_CPIO+=	usr/bin/more usr/bin/tar usr/bin/tip
103CPIO_CPIO+=	usr/bin/vi usr/bin/view usr/bin/zcat
104CPIO_CPIO+=	usr/lib/libc.so.*
105CPIO_CPIO+=	usr/lib/libcurses.so.*
106CPIO_CPIO+=	usr/lib/libgcc.so.*
107CPIO_CPIO+=	usr/lib/libm.so.*
108CPIO_CPIO+=	usr/lib/libtermcap.so.*
109CPIO_CPIO+=	usr/lib/libutil.so.*
110CPIO_CPIO+=	usr/libexec/ld.so
111CPIO_CPIO+=	usr/sbin/bad144 usr/sbin/chown
112CPIO_CPIO+=	usr/share/misc/termcap
113CPIO_CPIO_DIRS=		tmp usr/lib usr/libexec usr/share usr/share/misc
114CPIO_CPIO_DIRS+=	var var/tmp var/run var/spool var/spool/lock
115
116SCRYPT_LIB=	lib/libcrypt
117DESCRYPT_LIB=	secure/lib/libcrypt
118CRYPT_SRCS=	bin/ed bin/rcp
119CRYPT_SRCS+=	sbin/init
120CRYPT_SRCS+=	secure/usr.bin/bdes
121CRYPT_DIRS=	bin sbin usr usr/bin usr/lib
122
123all depend etc install lint:
124
125scrypt:
126	rm -f ${LIBCRYPT};
127	(cd ${.CURDIR}/../${SCRYPT_LIB}; \
128		${MAKE} cleandir obj depend all install)
129	for i in ${CRYPT_SRCS}; do \
130		cd ${.CURDIR}/../$$i; \
131		${MAKE} cleandir obj depend all; \
132	done
133
134descrypt:
135	rm -f ${LIBCRYPT};
136	(cd ${.CURDIR}/../${DESCRYPT_LIB}; \
137		${MAKE} cleandir obj depend all install)
138	for i in ${CRYPT_SRCS}; do \
139		cd ${.CURDIR}/../$$i; \
140		${MAKE} cleandir obj depend all; \
141	done
142	
143	
144distribution: distrib-dirs
145	(cd ${.CURDIR}/../share/examples; ${MAKE} install-etc)
146	(cd ${.CURDIR}; \
147	install -c -o ${BINOWN} -g ${BINGRP} -m 644 ${BIN1} ${DESTDIR}/etc; \
148	install -c -o ${BINOWN} -g ${BINGRP} -m 666 ${BIN2} ${DESTDIR}/etc; \
149	install -c -o ${BINOWN} -g ${BINGRP} -m 755 ${BIN3} ${DESTDIR}/etc; \
150	install -c -o ${BINOWN} -g ${BINGRP} -m 644 crontab ${DESTDIR}/etc; \
151	install -c -o ${BINOWN} -g ${BINGRP} -m 600 /dev/null \
152	    ${DESTDIR}/var/cron/log; \
153	install -c -o ${BINOWN} -g ${BINGRP} -m 600 \
154	    master.passwd ${DESTDIR}/etc; \
155	pwd_mkdb -p -d ${DESTDIR}/etc ${DESTDIR}/etc/master.passwd; \
156	install -c -o ${BINOWN} -g ${BINGRP} -m 555 \
157	     MAKEDEV.local etc.${MACHINE}/MAKEDEV ${DESTDIR}/dev )
158.if defined(CDROMDIST)
159	(cd ${DESTDIR}/dev; sh MAKEDEV all) ;
160.endif
161	(cd ${.CURDIR}/root; \
162		install -c -o ${BINOWN} -g ${BINGRP} -m 644 dot.cshrc \
163		    ${DESTDIR}/root/.cshrc; \
164		install -c -o ${BINOWN} -g ${BINGRP} -m 644 dot.klogin \
165		    ${DESTDIR}/root/.klogin; \
166		install -c -o ${BINOWN} -g ${BINGRP} -m 644 dot.login \
167		    ${DESTDIR}/root/.login; \
168		install -c -o ${BINOWN} -g ${BINGRP} -m 644 dot.profile \
169		    ${DESTDIR}/root/.profile; \
170		rm -f ${DESTDIR}/.cshrc ${DESTDIR}/.profile; \
171		ln ${DESTDIR}/root/.cshrc ${DESTDIR}/.cshrc; \
172		ln ${DESTDIR}/root/.profile ${DESTDIR}/.profile)
173	cd ${.CURDIR}/mtree; install -c -o ${BINOWN} -g ${BINGRP} -m 444 \
174	    ${MTREE} ${DESTDIR}/etc/mtree
175	cd ${.CURDIR}/namedb; install -c -o ${BINOWN} -g ${BINGRP} -m 644 \
176	    ${NAMEDB} ${DESTDIR}/etc/namedb
177	install -c -o ${BINOWN} -g operator -m 664 /dev/null \
178	    ${DESTDIR}/etc/dumpdates
179	install -c -o nobody -g ${BINGRP} -m 664 /dev/null \
180	    ${DESTDIR}/var/db/locate.database
181	install -c -o ${BINOWN} -g ${BINGRP} -m 664 /dev/null \
182	    ${DESTDIR}/var/log/lpd-errs
183	install -c -o ${BINOWN} -g ${BINGRP} -m 664 /dev/null \
184	    ${DESTDIR}/var/log/maillog
185	install -c -o ${BINOWN} -g ${BINGRP} -m 664 /dev/null \
186	    ${DESTDIR}/var/log/lastlog
187	install -c -o ${BINOWN} -g ${BINGRP} -m 664 /dev/null \
188	    ${DESTDIR}/var/log/messages
189	install -c -o ${BINOWN} -g ${BINGRP} -m 664 /dev/null \
190	    ${DESTDIR}/var/log/wtmp
191	install -c -o ${BINOWN} -g ${BINGRP} -m 664 /dev/null \
192	    ${DESTDIR}/var/run/utmp
193	install -c -o ${BINOWN} -g ${BINGRP} -m 664 ${.CURDIR}/minfree \
194	    ${DESTDIR}/var/crash
195	(cd ${.CURDIR}/etc.${MACHINE}; install -c -o ${BINOWN} -g ${BINGRP} \
196	    -m 444 fstab.* ${DESTDIR}/etc)
197.if defined(NOCRYPT)
198	(cd ${.CURDIR}; ${MAKE} scrypt)
199	(cd ${.CURDIR}/..; ${MAKE} install)
200.else
201	(cd ${.CURDIR}; ${MAKE} descrypt)
202	(cd ${.CURDIR}/..; ${MAKE} install)
203.endif
204	(cd ${.CURDIR}/../usr.sbin/sendmail/src; \
205	    ${MAKE} install; \
206	 cd ../cf/cf; \
207	    ${MAKE} obj; \
208	    ${MAKE} freefall.cf; \
209	    install -o ${BINOWN} -g ${BINGRP} -m 644 obj/freefall.cf \
210	        ${DESTDIR}/etc/sendmail.cf)
211	(cd ${.CURDIR}/..; \
212	    install -c -o ${BINOWN} -g ${BINGRP} -m 444 ${FREEBSD} ${DESTDIR}/)
213	(cd ${.CURDIR}/../share/man; ${MAKE} makedb; )
214.if ${MACHINE} == "tahoe"
215	(cd ${.CURDIR}/etc.tahoe; install -c -o ${BINOWN} -g ${BINGRP} \
216	    -m 444 ${WCS1} ${DESTDIR}/)
217.endif
218.if ${MACHINE} == "vax"
219	(cd ${.CURDIR}/etc.vax; install -c -o ${BINOWN} -g ${BINGRP} \
220	    -m 444 ${PCS} ${DESTDIR}/)
221.endif
222
223crunch:
224	crunchgen ${.CURDIR}/../usr.sbin/crunch/examples/kcopy.conf
225	${MAKE} -f kcopy.mk objs exe
226	crunchgen ${.CURDIR}/../usr.sbin/crunch/examples/filesystem.conf
227	${MAKE} -f filesystem.mk objs exe
228
229extract:
230	install -c -o ${BINOWN} -g ${BINGRP} -m 555 \
231	    ${.CURDIR}/etc.i386/EXTRACT_bin.sh \
232	    ${RELEASEDIR}/tarballs/bindist/EXTRACT.sh
233	install -c -o ${BINOWN} -g ${BINGRP} -m 555 \
234	    ${.CURDIR}/etc.i386/EXTRACT_src.sh \
235	    ${RELEASEDIR}/tarballs/bindist/EXTRACT.sh
236	install -c -o ${BINOWN} -g ${BINGRP} -m 555 \
237	    ${.CURDIR}/etc.i386/EXTRACT_secr.sh \
238	    ${RELEASEDIR}/tarballs/bindist/EXTRACT.sh
239
240hcx9-distribution:
241	(cd ${.CURDIR}/etc.tahoe; install -c -o ${BINOWN} -g ${BINGRP} \
242	    -m 444 ${WCS2} ${DESTDIR}/)
243
244kcopy-kernels: ${.CURDIR}/../sys/i386/conf/GENERICAH ${.CURDIR}/../sys/i386/conf/GENERICBT
245	(cd ${.CURDIR}/../sys/compile; rm -rf GENERICAH GENERICBT)
246	(cd ${.CURDIR}/../sys/i386/conf; config GENERICAH; config GENERICBT)
247	(cd ${.CURDIR}/../sys/compile/GENERICAH; ${MAKE} depend; ${MAKE} all; \
248	    install -c -o ${BINOWN} -g ${BINGRP} -m 755 kernel \
249	        ${DESTDIR}/kernel.GENERICAH)
250	(cd ${.CURDIR}/../sys/compile/GENERICBT; ${MAKE} depend; ${MAKE} all; \
251	    install -c -o ${BINOWN} -g ${BINGRP} -m 755 kernel \
252	        ${DESTDIR}/kernel.GENERICBT)
253
254kcopy-floppy:
255	disklabel -w -r -B -b ${DESTDIR}/usr/mdec/fdboot \
256		-s ${DESTDIR}/usr/mdec/bootfd ${FLOPPY} ${FLOPPY_TYPE}
257	newfs -b 4096 -c 80 -f 512 -i 8192 -m 0 -o space \
258		r${FLOPPY} ${FLOPPY_TYPE}
259	mount /dev/${FLOPPY} ${MOUNT}
260	chown ${BINOWN}.${BINGRP} ${MOUNT}/.
261	chmod 755 ${MOUNT}/.
262	(cd ${DESTDIR}/; \
263	    ls -d ${KC_DIRS} | cpio -pdamuv ${MOUNT})
264	${MAKEDEVS}
265	(cd ${DESTDIR}/; \
266	    ls ${KC_FILES} | cpio -pdamuv ${MOUNT})
267	install -c -o ${BINOWN} -g ${BINGRP} -m 755 \
268	    ${.CURDIR}/etc.i386/kc.profile ${MOUNT}/.profile
269	install -c -o ${BINOWN} -g ${BINGRP} -m 755 \
270	    kcopy ${MOUNT}/bin/kcopy
271	(cd ${MOUNT}/; \
272	    for i in ${KC_LINKS}; do \
273		ln bin/kcopy $$i; \
274	    done)
275
276kcopy_ah.flp:
277	(cd ${.CURDIR}; ${MAKE} kcopy-floppy)
278	(cd ${.CURDIR}/../sys/compile/GENERICAH; \
279	    install -c -o ${BINOWN} -g ${BINGRP} -m 755 kernel ${MOUNT}/)
280	df -ik ${MOUNT}
281	# XXX umount is returning 1 for some reason :-(
282	-umount /dev/${FLOPPY}
283	fsck /dev/r${FLOPPY}
284	dd if=/dev/r${FLOPPY} of=${RELEASEDIR}/floppies/kcopy_ah.flp \
285		bs=${FLOPPY_BS} count=${FLOPPY_TRACKS}
286	gzip --no-name -9 -c ${RELEASEDIR}/floppies/kcopy_ah.flp \
287		>${RELEASEDIR}/floppies/kcopy_ah.flp.gz &
288
289kcopy_bt.flp:
290	(cd ${.CURDIR}; ${MAKE} kcopy-floppy)
291	(cd ${.CURDIR}/../sys/compile/GENERICBT; \
292	    install -c -o ${BINOWN} -g ${BINGRP} -m 755 kernel ${MOUNT}/)
293	df -ik ${MOUNT}
294	# XXX umount is returning 1 for some reason :-(
295	-umount /dev/${FLOPPY}
296	fsck /dev/r${FLOPPY}
297	dd if=/dev/r${FLOPPY} of=${RELEASEDIR}/floppies/kcopy_bt.flp \
298		bs=${FLOPPY_BS} count=${FLOPPY_TRACKS}
299	gzip --no-name -9 -c ${RELEASEDIR}/floppies/kcopy_bt.flp \
300		>${RELEASEDIR}/floppies/kcopy_bt.flp.gz &
301
302cdins-floppy:
303	(cd ${.CURDIR}; ${MAKE} kcopy-floppy)
304	(cd ${DESTDIR}/; \
305	    ls -d ${CD_DIRS} | cpio -pdamuv ${MOUNT})
306	(cd ${MOUNT}/usr; \
307	    ln -s /cdrom/filesys/usr/libexec libexec; \
308	    ln -s /cdrom/filesys/usr/lib lib)
309	mkdir ${MOUNT}/cdrom
310	chown ${BINOWN}.${BINGRP} ${MOUNT}/cdrom
311	chmod 755 ${MOUNT}/cdrom
312	install -c -o ${BINOWN} -g ${BINGRP} -m 755 \
313	    ${.CURDIR}/etc.i386/cdinst1.profile ${MOUNT}/.profile
314	install -c -o ${BINOWN} -g ${BINGRP} -m 755 \
315	    ${.CURDIR}/etc.i386/cdinst1.install ${MOUNT}/install
316	
317cdins_ah.flp:
318	(cd ${.CURDIR}; ${MAKE} kcopy-floppy)
319	(cd ${.CURDIR}/../sys/compile/GENERICAH; \
320	    install -c -o ${BINOWN} -g ${BINGRP} -m 755 kernel ${MOUNT}/)
321	df -ik ${MOUNT}
322	# XXX umount is returning 1 for some reason :-(
323	-umount /dev/${FLOPPY}
324	fsck /dev/r${FLOPPY}
325	dd if=/dev/r${FLOPPY} of=${RELEASEDIR}/floppies/cdins_ah.flp \
326		bs=${FLOPPY_BS} count=${FLOPPY_TRACKS}
327	gzip --no-name -9 -c ${RELEASEDIR}/floppies/cdins_ah.flp \
328		>${RELEASEDIR}/floppies/cdins_ah.flp.gz &
329
330cdins_bt.flp:
331	(cd ${.CURDIR}; ${MAKE} kcopy-floppy)
332	(cd ${.CURDIR}/../sys/compile/GENERICBT; \
333	    install -c -o ${BINOWN} -g ${BINGRP} -m 755 kernel ${MOUNT}/)
334	df -ik ${MOUNT}
335	# XXX umount is returning 1 for some reason :-(
336	-umount /dev/${FLOPPY}
337	fsck /dev/r${FLOPPY}
338	dd if=/dev/r${FLOPPY} of=${RELEASEDIR}/floppies/cdins_bt.flp \
339		bs=${FLOPPY_BS} count=${FLOPPY_TRACKS}
340	gzip --no-name -9 -c ${RELEASEDIR}/floppies/cdins_bt.flp \
341		>${RELEASEDIR}/floppies/cdins_bt.flp.gz &
342
343filesyst.flp:
344	disklabel -w -r -B -b ${DESTDIR}/usr/mdec/fdboot \
345		-s ${DESTDIR}/usr/mdec/bootfd ${FLOPPY} ${FLOPPY_TYPE}
346	newfs -b 4096 -c 80 -f 512 -i 10240 -m 0 -o space \
347		r${FLOPPY}  ${FLOPPY_TYPE}
348	mount /dev/${FLOPPY}  ${MOUNT}
349	chown ${BINOWN}.${BINGRP} ${MOUNT}/.
350	chmod 755 ${MOUNT}/.
351	(cd ${DESTDIR}/; \
352	    ls -d ${FILESYSTEM_DIRS} | cpio -pdamuv ${MOUNT})
353	${MAKEDEVS}
354	(cd ${DESTDIR}/; \
355	    ls ${FILESYSTEM_FILES} | cpio -pdamuv ${MOUNT}; \
356	    (find ${FILESYSTEM_CPIO}; ls -d ${FILESYSTEM_CPIO_DIRS}) | \
357		cpio -H newc --block-size=16 -oav | \
358		gzip -9 >${MOUNT}/inst1.cpio.gz)
359	install -c -o ${BINOWN} -g ${BINGRP} -m 755 \
360	    ${.CURDIR}/etc.i386/inst1.profile ${MOUNT}/.profile
361	install -c -o ${BINOWN} -g ${BINGRP} -m 755 \
362	    ${.CURDIR}/etc.i386/inst1.install ${MOUNT}/install
363	install -c -o ${BINOWN} -g ${BINGRP} -m 755 \
364	    filesystem ${MOUNT}/bin/filesystem
365	(cd ${MOUNT}/; \
366	    for i in ${FILESYSTEM_LINKS}; do \
367		ln bin/filesystem $$i; \
368	    done)
369	(cd ${MOUNT}/; \
370	    ls ${FILESYSTEM_FILES} >/tmp/filelist; \
371	    ls ${FILESYSTEM_LINKS} >>/tmp/filelist; \
372	    ls -d ${FILESYSTEM_DIRS} >>/tmp/filelist; \
373	    find ${FILESYSTEM_TREES} >>/tmp/filelist; \
374	    sort -u -r /tmp/filelist >filelist; \
375	    rm /tmp/filelist)
376	df -ik ${MOUNT}
377	# XXX umount is returning 1 for some reason :-(
378	-umount /dev/${FLOPPY}
379	fsck /dev/r${FLOPPY}
380	dd if=/dev/r${FLOPPY} of=${RELEASEDIR}/floppies/filesyst.flp \
381		bs=${FLOPPY_BS} count=${FLOPPY_TRACKS}
382	gzip --no-name -9 -c ${RELEASEDIR}/floppies/filesyst.flp \
383		>${RELEASEDIR}/floppies/filesyst.flp.gz &
384
385cpio.flp:
386	disklabel -w -r -B -b ${DESTDIR}/usr/mdec/fdboot \
387		-s ${DESTDIR}/usr/mdec/bootfd ${FLOPPY} ${FLOPPY_TYPE}
388	newfs -b 4096 -c 80 -f 512 -i 65536 -m 0 -o space \
389			r${FLOPPY}  ${FLOPPY_TYPE}
390	mount /dev/${FLOPPY} ${MOUNT}
391	chown ${BINOWN}.${BINGRP} ${MOUNT}/.
392	chmod 755 ${MOUNT}/.
393	(cd ${DESTDIR}/; \
394		ls ${CPIO_FILES} | cpio -pdamuv ${MOUNT})
395	#
396	# XXX This ugliness is because the default termcap file is simply too
397	# big and we don't need such a hugh one for the initial installation,
398	# yet we want the symlink in /etc to point to the right place so we
399	# need to install the smaller one in the same location.
400	#
401	mv ${DESTDIR}/usr/share/misc/termcap ${DESTDIR}/usr/share/misc/otermcap
402	install -c -o ${BINOWN} -g ${BINGRP} -m 755 \
403	    ${.CURDIR}/termcap.small ${DESTDIR}/usr/share/misc/termcap
404	(cd ${DESTDIR}/; \
405	    (find ${CPIO_CPIO}; ls -d ${CPIO_CPIO_DIRS}) | \
406		cpio -H newc --block-size=16 -oav | \
407		gzip -9 >${MOUNT}/inst2.cpio.gz)
408	# XXX cpio is done, put everything back in shape for the bindist.
409	mv ${DESTDIR}/usr/share/misc/otermcap ${DESTDIR}/usr/share/misc/termcap
410	install -c -o ${BINOWN} -g ${BINGRP} -m 755 \
411	    ${.CURDIR}/etc.i386/cpio.rc ${MOUNT}/rc
412	install -c -o ${BINOWN} -g ${BINGRP} -m 755 \
413	    ${.CURDIR}/etc.i386/cpio.install ${MOUNT}/install
414	install -c -o ${BINOWN} -g ${BINGRP} -m 755 \
415	    ${.CURDIR}/etc.i386/cpio.magic ${MOUNT}/magic
416	df -ik ${MOUNT}
417	# XXX umount is returning 1 for some reason :-(
418	-umount /dev/${FLOPPY}
419	fsck /dev/r${FLOPPY}
420	dd if=/dev/r${FLOPPY} of=${RELEASEDIR}/floppies/cpio.flp \
421		bs=${FLOPPY_BS} count=${FLOPPY_TRACKS}
422	gzip --no-name -9 -c ${RELEASEDIR}/floppies/cpio.flp \
423		>${RELEASEDIR}/floppies/cpio.flp.gz &
424
425bin-tarball:
426	(cd ${DESTDIR}; \
427		tar cf - . | \
428		${ZIPNSPLIT} ${RELEASEDIR}/tarballs/bindist/bin_tgz.)
429
430src-clean:
431	find ${DESTDIR}/usr/src -name obj | xargs -n30 rm -rf
432	(cd ${DESTDIR}/usr/src; make cleandist)
433	rm -rf ${DESTDIR}/usr/src/sys/compile/*
434	chown -R bin:bin ${DESTDIR}/usr/src
435	chmod -R og-w ${DESTDIR}/usr/src
436
437srcbase-tarball:
438	(cd ${DESTDIR}; \
439		tar --exclude CVS -cf - usr/src/[A-Z]* | \
440		${ZIPNSPLIT} ${RELEASEDIR}/tarballs/srcdist/base.)
441
442srcbin-tarball:
443	(cd ${DESTDIR}; \
444		tar --exclude CVS -cf - usr/src/bin | \
445		${ZIPNSPLIT} ${RELEASEDIR}/tarballs/srcdist/srcbin.)
446
447srcetc-tarball:
448	(cd ${DESTDIR}; \
449		tar --exclude CVS -cf - usr/src/etc | \
450		${ZIPNSPLIT} ${RELEASEDIR}/tarballs/srcdist/etc.)
451
452srcgames-tarball:
453	(cd ${DESTDIR}; \
454		tar --exclude CVS -cf - usr/src/games | \
455		${ZIPNSPLIT} ${RELEASEDIR}/tarballs/srcdist/games.)
456
457srcgnu-tarball:
458	(cd ${DESTDIR}; \
459		tar --exclude CVS -cf - usr/src/gnu | \
460		${ZIPNSPLIT} ${RELEASEDIR}/tarballs/srcdist/gnu.)
461
462srcinclude-tarball:
463	(cd ${DESTDIR}; \
464		tar --exclude CVS -cf - usr/src/include | \
465		${ZIPNSPLIT} ${RELEASEDIR}/tarballs/srcdist/include.)
466
467srclib-tarball:
468	(cd ${DESTDIR}; \
469		tar --exclude usr/src/${CRYPT_LIB} --exclude CVS -cf - \
470		usr/src/lib | \
471		${ZIPNSPLIT} ${RELEASEDIR}/tarballs/srcdist/lib.)
472
473srclibcrypt-tarball:
474	(cd ${DESTDIR}; \
475		tar --exclude CVS -cf - usr/src/${CRYPT_LIB} | \
476		${ZIPNSPLIT} ${RELEASEDIR}/tarballs/secrdist/libcrypt.)
477
478srclibexec-tarball:
479	(cd ${DESTDIR}; \
480		tar --exclude CVS -cf - usr/src/libexec | \
481		${ZIPNSPLIT} ${RELEASEDIR}/tarballs/srcdist/libexec.)
482
483srcsbin-tarball:
484	(cd ${DESTDIR}; \
485		tar --exclude CVS -cf - usr/src/sbin | \
486		${ZIPNSPLIT} ${RELEASEDIR}/tarballs/srcdist/sbin.)
487
488srcshare-tarball:
489	(cd ${DESTDIR}; \
490		tar --exclude CVS -cf - usr/src/share | \
491		${ZIPNSPLIT} ${RELEASEDIR}/tarballs/srcdist/share.)
492
493srcsys-tarball:
494	(cd ${DESTDIR}; \
495		tar --exclude CVS -cf - usr/src/sys | \
496		${ZIPNSPLIT} ${RELEASEDIR}/tarballs/srcdist/sys.)
497
498srcusrbin-tarball:
499	(cd ${DESTDIR}; \
500		tar --exclude CVS -cf - usr/src/usr.bin | \
501		${ZIPNSPLIT} ${RELEASEDIR}/tarballs/srcdist/usrbin.)
502
503srcusrsbin-tarball:
504	(cd ${DESTDIR}; \
505		tar --exclude CVS -cf - usr/src/usr.sbin | \
506		${ZIPNSPLIT} ${RELEASEDIR}/tarballs/srcdist/usrsbin.)
507
508src-tarball: src-clean srcbase-tarball srcbin-tarball \
509	srcetc-tarball srcgames-tarball srcgnu-tarball srcinclude-tarball \
510	srclib-tarball srclibcrypt-tarball srclibexec-tarball srcsbin-tarball \
511	srcshare-tarball srcsys-tarball srcusrbin-tarball srcusrsbin-tarball
512
513des-tarball:
514	rm -rf ${RELEASEDIR}/tmpdes
515	mkdir ${RELEASEDIR}/tmpdes
516	for i in ${CRYPT_DIRS}; do \
517		cd ${RELEASEDIR}/tmpdes; \
518		mkdir $$i; \
519		chown ${BINOWN}.${GRPOWN} $$i; \
520		chmod 755 $$i; \
521	done
522	# This is ugly, it force installs a /usr/lib/libcrypt.a so
523	# that the other makes will be built with des.
524	#
525	(cd ${.CURDIR}/../${CRYPT_LIB}; \
526		unset NOCRYPT; \
527		DESTDIR=; export DESTDIR; \
528		${MAKE} cleandir obj depend all install; \
529		NOMAN=noman; export NOMAN; \
530		DESTDIR=${RELEASEDIR}/tmpdes; export DESTDIR; \
531		${MAKE} cleandir obj depend all install)
532	for i in ${CRYPT_SRCS}; do \
533		unset NOCRYPT; \
534		DESTDIR=${RELEASEDIR}/tmpdes; export DESTDIR; \
535		NOMAN=noman; export NOMAN; \
536		cd ${.CURDIR}/../$$i; \
537		${MAKE} cleandir obj depend all install; \
538	done
539	(cd ${RELEASEDIR}/tmpdes; \
540		tar cf - . | \
541			${ZIPNSPLIT} ${RELEASEDIR}/tarballs/secrdist/des_tgz.)
542	rm -rf ${RELEASEDIR}/tmpdes
543
544distrib-dirs:
545	#
546	# XXX The mtree commands need to be redone so that a status of 0 or
547	# 2 is okay, but a status of 1 causes the make to abort.
548	#
549	mtree -d -u -f ${.CURDIR}/mtree/BSD.root.dist -p ${DESTDIR}/
550	mtree -d -u -f ${.CURDIR}/mtree/BSD.var.dist -p ${DESTDIR}/var
551	mtree -d -u -f ${.CURDIR}/mtree/BSD.usr.dist -p ${DESTDIR}/usr
552.if defined(CDROMDIST)
553	mtree -d -u -f ${.CURDIR}/mtree/BSD.local.dist -p ${DESTDIR}/usr/local
554.endif
555	cd ${DESTDIR}/; rm -f ${DESTDIR}/sys; ln -s usr/src/sys sys
556
557floppies:	kcopy_ah.flp kcopy_bt.flp filesyst.flp cpio.flp \
558		cdins_ah.flp cdins_bt.flp
559
560release:	release-dirs distribution crunch extract kcopy-kernels \
561		floppies bin-tarball des-tarball clean
562
563release-dirs:
564	chflags -R noschg ${RELEASEDIR}/
565	rm -rf ${RELEASEDIR}/*
566	mtree -d -u -f ${.CURDIR}/mtree/BSD.release.dist -p ${RELEASEDIR}
567
568.include <bsd.prog.mk>
569