Makefile revision 5356
1169695Skan#	from: @(#)Makefile	5.11 (Berkeley) 5/21/91
2169695Skan#	$Id: Makefile,v 1.95 1994/12/28 13:54:06 ache Exp $
3169695Skan
4169695Skan# disktab may be wrong -- hcx9 is a tahoe, but gets its own.
5169695Skan# -rw-r--r--
6169695SkanBINOWN= root
7169695SkanBINGRP= wheel
8169695SkanBIN1=   aliases csh.cshrc csh.login csh.logout dm.conf \
9169695Skan	ftpusers gettytab group hosts host.conf hosts.equiv hosts.lpd \
10169695Skan	inetd.conf login.access motd netstart \
11169695Skan	networks phones printcap profile protocols rc rc.local rc.serial \
12169695Skan	remote security services shells \
13169695Skan	syslog.conf ttys etc.${MACHINE}/disktab rpc make.conf \
14169695Skan	${.CURDIR}/../gnu/usr.bin/man/manpath/manpath.config \
15169695Skan	${.CURDIR}/../usr.bin/mail/misc/mail.rc
16169695Skan
17169695Skan# -rw-rw-rw-
18169695SkanBIN2=	motd
19169695Skan
20169695Skan# -rwxr-xr-x root.wheel, for the new cron root.wheel
21169695SkanBIN3=	daily weekly monthly
22169695Skan
23169695SkanCLEANFILES+=	*.c *.o *.lo
24169695SkanCLEANFILES+=	filesystem filesystem.cache filesystem.mk
25169695SkanCLEANFILES+=	kcopy kcopy.cache kcopy.mk
26169695Skan
27169695SkanMAKEDEVS=	(cd ${MOUNT}/dev; \
28169695Skan		    sh ${DESTDIR}/dev/MAKEDEV std; \
29169695Skan		    rm -rf fd; \
30169695Skan		    sh ${DESTDIR}/dev/MAKEDEV fd0 fd1; \
31169695Skan		    rm -rf fd0?* rfd0?* fd1?* rfd1?*; \
32169695Skan		    sh ${DESTDIR}/dev/MAKEDEV wd0 wd1 sd0 sd1 cd0 mcd0 mcd1; \
33169695Skan		    rm -rf *wd[01][ijklm] rmcd*)
34169695Skan
35169695SkanZIPNSPLIT=	gzip --no-name -9 -c | split -b 240640 -
36169695Skan
37169695SkanMTREE=	BSD.local.dist BSD.root.dist BSD.usr.dist BSD.var.dist
38169695SkanNAMEDB=	localhost.rev named.boot root.cache
39169695SkanPCS=	pcs750.bin
40169695SkanWCS1=	wcs fppwcs poc poc1 poc2 fppoc
41169695SkanWCS2=	fpevent fppwcs fppwcs_dual hdcwcs load_diags start_fpp wcs wcs_dual
42169695Skan
43169695Skan# Special top level files for FreeBSD
44169695SkanCOPYRIGHT=	COPYRIGHT
45169695SkanFREEBSD=	
46169695SkanFREEBSD+=	${COPYRIGHT}
47169695Skan#
48169695Skan# Floppy drive name, mount point, type and parameters for building Floppies
49169695SkanFLOPPY?=	fd0
50169695SkanMOUNT?=		/mnt
51169695SkanFLOPPY_TYPE?=	fd1440
52169695SkanFLOPPY_BS?=	18b
53169695SkanFLOPPY_TRACKS?=	160
54169695Skan#
55169695SkanMDEC=		usr/mdec/bootfd usr/mdec/fdboot
56169695SkanMDEC+=		usr/mdec/bootsd usr/mdec/sdboot
57169695SkanMDEC+=		usr/mdec/bootwd usr/mdec/wdboot
58169695Skan#
59169695SkanKC_DIRS=	bin dev mnt sbin etc
60169695SkanKC_FILES=	${COPYRIGHT}
61169695SkanKC_LINKS=	bin/[ bin/cp bin/echo bin/sh bin/test
62169695SkanKC_LINKS+=	sbin/fsck sbin/halt sbin/init
63169695SkanKC_LINKS+=	sbin/mount sbin/mount_cd9660
64169695SkanKC_LINKS+=	sbin/umount
65169695Skan#
66169695SkanCD_DIRS=	etc usr
67169695Skan#
68169695SkanFILESYSTEM_DIRS=	bin dev etc mnt proc sbin usr usr/bin usr/mdec usr/sbin
69169695SkanFILESYSTEM_TREES=	dev
70169695SkanFILESYSTEM_FILES=	${COPYRIGHT}
71169695SkanFILESYSTEM_FILES+=	dev/MAKEDEV
72169695SkanFILESYSTEM_FILES+=	etc/group
73169695SkanFILESYSTEM_FILES+=	etc/master.passwd etc/passwd etc/pwd.db
74169695SkanFILESYSTEM_FILES+=	${MDEC}
75169695SkanFILESYSTEM_LINKS=	bin/[ bin/expr bin/ls bin/mkdir bin/rm
76169695SkanFILESYSTEM_LINKS+=	bin/sh bin/sync bin/test
77169695SkanFILESYSTEM_LINKS+=	sbin/disklabel sbin/fdisk sbin/halt sbin/init
78169695SkanFILESYSTEM_LINKS+=	sbin/mount
79169695SkanFILESYSTEM_LINKS+=	sbin/newfs
80169695SkanFILESYSTEM_LINKS+=	sbin/umount
81169695SkanFILESYSTEM_LINKS+=	usr/bin/cpio
82169695SkanFILESYSTEM_LINKS+=	usr/bin/gunzip usr/bin/gzcat usr/bin/gzip usr/bin/zcat
83169695SkanFILESYSTEM_LINKS+=	usr/sbin/bad144
84169695SkanFILESYSTEM_CPIO=	.profile
85169695SkanFILESYSTEM_CPIO+=	root/.profile
86169695SkanFILESYSTEM_CPIO+=	bin/[
87169695SkanFILESYSTEM_CPIO+=	bin/chmod bin/cat bin/cp bin/df bin/expr bin/ls
88169695SkanFILESYSTEM_CPIO+=	bin/ln bin/mkdir bin/mv bin/rm bin/sync
89169695SkanFILESYSTEM_CPIO+=	bin/test
90169695SkanFILESYSTEM_CPIO+=	etc/spwd.db
91169695SkanFILESYSTEM_CPIO+=	sbin/disklabel sbin/fdisk sbin/halt sbin/init
92169695SkanFILESYSTEM_CPIO+=	sbin/mount
93169695SkanFILESYSTEM_CPIO+=	sbin/newfs
94169695SkanFILESYSTEM_CPIO+=	sbin/umount
95169695SkanFILESYSTEM_CPIO_DIRS=	root
96169695Skan
97169695SkanCPIO_FILES=	${COPYRIGHT}
98169695SkanCPIO_CPIO=	bin/dd bin/ps bin/pwd bin/stty
99169695SkanCPIO_CPIO+=	etc/protocols etc/remote etc/services
100169695SkanCPIO_CPIO+=	etc/termcap
101169695SkanCPIO_CPIO+=	sbin/dmesg
102169695SkanCPIO_CPIO+=	sbin/ifconfig sbin/fsck sbin/mknod sbin/mount_cd9660
103169695SkanCPIO_CPIO+=	sbin/mount_procfs
104169695SkanCPIO_CPIO+=	sbin/reboot sbin/route sbin/slattach
105169695SkanCPIO_CPIO+=	usr/bin/awk usr/bin/chgrp usr/bin/cpio usr/bin/ex usr/bin/ftp
106169695SkanCPIO_CPIO+=	usr/bin/gunzip usr/bin/gzcat usr/bin/gzip
107169695SkanCPIO_CPIO+=	usr/bin/more usr/bin/tar usr/bin/tip
108169695SkanCPIO_CPIO+=	usr/bin/vi usr/bin/view usr/bin/zcat
109169695SkanCPIO_CPIO+=	usr/lib/libc.so.*
110169695SkanCPIO_CPIO+=	usr/lib/libcurses.so.*
111169695SkanCPIO_CPIO+=	usr/lib/libgcc.so.*
112169695SkanCPIO_CPIO+=	usr/lib/libm.so.*
113169695SkanCPIO_CPIO+=	usr/lib/libtermcap.so.*
114169695SkanCPIO_CPIO+=	usr/lib/libutil.so.*
115169695SkanCPIO_CPIO+=	usr/libexec/ld.so
116169695SkanCPIO_CPIO+=	usr/sbin/bad144 usr/sbin/chown
117169695SkanCPIO_CPIO+=	usr/share/misc/termcap
118169695SkanCPIO_CPIO_DIRS=		tmp usr/lib usr/libexec usr/share usr/share/misc
119169695SkanCPIO_CPIO_DIRS+=	var var/tmp var/run var/spool var/spool/lock
120169695Skan
121169695SkanSCRYPT_LIB=	lib/libcrypt
122169695SkanDESCRYPT_LIB=	secure/lib/libcrypt
123169695SkanCRYPT_SRCS=	bin/ed bin/rcp
124169695SkanCRYPT_SRCS+=	sbin/init
125169695Skan.if !defined(NOCRYPT)
126169695SkanCRYPT_SRCS+=	secure
127169695Skan.endif
128169695SkanCRYPT_DIRS=	bin sbin usr usr/bin usr/lib
129169695Skan
130169695Skanall depend etc install lint:
131169695Skan
132169695Skanscrypt:
133169695Skan	rm -f ${LIBCRYPT};
134169695Skan	(cd ${.CURDIR}/../${SCRYPT_LIB}; \
135169695Skan		${MAKE} cleandir obj depend all install)
136169695Skan	for i in ${CRYPT_SRCS}; do \
137169695Skan		cd ${.CURDIR}/../$$i; \
138169695Skan		${MAKE} cleandir obj depend all; \
139169695Skan	done
140169695Skan
141169695Skandescrypt:
142169695Skan	rm -f ${LIBCRYPT};
143169695Skan	(cd ${.CURDIR}/../${DESCRYPT_LIB}; \
144169695Skan		${MAKE} cleandir obj depend all install)
145169695Skan	for i in ${CRYPT_SRCS}; do \
146169695Skan		cd ${.CURDIR}/../$$i; \
147169695Skan		${MAKE} cleandir obj depend all; \
148169695Skan	done
149169695Skan
150169695Skandistribute:
151169695Skan	cd ${.CURDIR} ; ${MAKE} distribution DESTDIR=${RELEASEDIR}/bindist
152169695Skan	
153169695Skandistribution:
154169695Skan	(cd ${.CURDIR}; \
155169695Skan	install -c -o ${BINOWN} -g ${BINGRP} -m 644 ${BIN1} ${DESTDIR}/etc; \
156169695Skan	install -c -o ${BINOWN} -g ${BINGRP} -m 666 ${BIN2} ${DESTDIR}/etc; \
157169695Skan	install -c -o ${BINOWN} -g ${BINGRP} -m 755 ${BIN3} ${DESTDIR}/etc; \
158169695Skan	install -c -o ${BINOWN} -g ${BINGRP} -m 644 crontab ${DESTDIR}/etc; \
159169695Skan	install -c -o ${BINOWN} -g ${BINGRP} -m 600 /dev/null \
160169695Skan	    ${DESTDIR}/var/cron/log; \
161169695Skan	install -c -o ${BINOWN} -g ${BINGRP} -m 600 \
162169695Skan	    master.passwd ${DESTDIR}/etc; \
163169695Skan	pwd_mkdb -p -d ${DESTDIR}/etc ${DESTDIR}/etc/master.passwd; \
164169695Skan	install -c -o ${BINOWN} -g ${BINGRP} -m 555 \
165169695Skan	     MAKEDEV.local etc.${MACHINE}/MAKEDEV ${DESTDIR}/dev )
166169695Skan	(cd ${DESTDIR}/dev; sh MAKEDEV all) ;
167169695Skan	(cd ${.CURDIR}/root; \
168169695Skan		install -c -o ${BINOWN} -g ${BINGRP} -m 644 dot.cshrc \
169169695Skan		    ${DESTDIR}/root/.cshrc; \
170169695Skan		install -c -o ${BINOWN} -g ${BINGRP} -m 644 dot.klogin \
171169695Skan		    ${DESTDIR}/root/.klogin; \
172169695Skan		install -c -o ${BINOWN} -g ${BINGRP} -m 644 dot.login \
173169695Skan		    ${DESTDIR}/root/.login; \
174169695Skan		install -c -o ${BINOWN} -g ${BINGRP} -m 644 dot.profile \
175169695Skan		    ${DESTDIR}/root/.profile; \
176169695Skan		rm -f ${DESTDIR}/.cshrc ${DESTDIR}/.profile; \
177169695Skan		ln ${DESTDIR}/root/.cshrc ${DESTDIR}/.cshrc; \
178169695Skan		ln ${DESTDIR}/root/.profile ${DESTDIR}/.profile)
179169695Skan	cd ${.CURDIR}/mtree; install -c -o ${BINOWN} -g ${BINGRP} -m 444 \
180169695Skan	    ${MTREE} ${DESTDIR}/etc/mtree
181169695Skan	cd ${.CURDIR}/namedb; install -c -o ${BINOWN} -g ${BINGRP} -m 644 \
182169695Skan	    ${NAMEDB} ${DESTDIR}/etc/namedb
183169695Skan	install -c -o ${BINOWN} -g operator -m 664 /dev/null \
184169695Skan	    ${DESTDIR}/etc/dumpdates
185169695Skan	install -c -o nobody -g ${BINGRP} -m 664 /dev/null \
186169695Skan	    ${DESTDIR}/var/db/locate.database
187169695Skan	install -c -o ${BINOWN} -g ${BINGRP} -m 664 /dev/null \
188169695Skan	    ${DESTDIR}/var/log/lpd-errs
189169695Skan	install -c -o ${BINOWN} -g ${BINGRP} -m 664 /dev/null \
190169695Skan	    ${DESTDIR}/var/log/maillog
191169695Skan	install -c -o ${BINOWN} -g ${BINGRP} -m 664 /dev/null \
192169695Skan	    ${DESTDIR}/var/log/lastlog
193169695Skan	install -c -o ${BINOWN} -g ${BINGRP} -m 664 /dev/null \
194169695Skan	    ${DESTDIR}/var/log/messages
195169695Skan	install -c -o ${BINOWN} -g ${BINGRP} -m 664 /dev/null \
196169695Skan	    ${DESTDIR}/var/log/wtmp
197169695Skan	install -c -o ${BINOWN} -g ${BINGRP} -m 664 /dev/null \
198169695Skan	    ${DESTDIR}/var/run/utmp
199169695Skan	install -c -o ${BINOWN} -g ${BINGRP} -m 664 ${.CURDIR}/minfree \
200169695Skan	    ${DESTDIR}/var/crash
201169695Skan	(cd ${.CURDIR}/etc.${MACHINE}; install -c -o ${BINOWN} -g ${BINGRP} \
202169695Skan	    -m 444 fstab.* ${DESTDIR}/etc)
203169695Skan	(cd ${.CURDIR}/../usr.sbin/sendmail/src; \
204169695Skan	    ${MAKE} obj; \
205169695Skan	    ${MAKE} all; \
206169695Skan	    ${MAKE} install; \
207169695Skan	 cd ../cf/cf; \
208169695Skan	    ${MAKE} obj; \
209169695Skan	    ${MAKE} freefall.cf; \
210169695Skan	    install -o ${BINOWN} -g ${BINGRP} -m 644 obj/freefall.cf \
211169695Skan	        ${DESTDIR}/etc/sendmail.cf)
212169695Skan	(cd ${.CURDIR}/..; \
213169695Skan	    install -c -o ${BINOWN} -g ${BINGRP} -m 444 ${FREEBSD} ${DESTDIR}/)
214169695Skan	(cd ${.CURDIR}/../share/man; ${MAKE} makedb; )
215169695Skan
216169695Skancrunch:
217169695Skan	crunchgen ${.CURDIR}/../usr.sbin/crunch/examples/kcopy.conf
218169695Skan	${MAKE} -f kcopy.mk objs exe
219169695Skan	crunchgen ${.CURDIR}/../usr.sbin/crunch/examples/filesystem.conf
220169695Skan	${MAKE} -f filesystem.mk objs exe
221169695Skan
222169695Skanextract:
223169695Skan	install -c -o ${BINOWN} -g ${BINGRP} -m 555 \
224169695Skan	    ${.CURDIR}/etc.i386/EXTRACT_bin.sh \
225169695Skan	    ${RELEASEDIR}/tarballs/bindist/EXTRACT.sh
226169695Skan	install -c -o ${BINOWN} -g ${BINGRP} -m 555 \
227169695Skan	    ${.CURDIR}/etc.i386/EXTRACT_src.sh \
228169695Skan	    ${RELEASEDIR}/tarballs/bindist/EXTRACT.sh
229169695Skan	install -c -o ${BINOWN} -g ${BINGRP} -m 555 \
230169695Skan	    ${.CURDIR}/etc.i386/EXTRACT_secr.sh \
231169695Skan	    ${RELEASEDIR}/tarballs/bindist/EXTRACT.sh
232169695Skan
233169695Skanhcx9-distribution:
234169695Skan	(cd ${.CURDIR}/etc.tahoe; install -c -o ${BINOWN} -g ${BINGRP} \
235169695Skan	    -m 444 ${WCS2} ${DESTDIR}/)
236169695Skan
237169695Skankcopy-kernels: ${.CURDIR}/../sys/i386/conf/GENERIC
238169695Skan	(cd ${.CURDIR}/../sys/compile; rm -rf GENERIC)
239169695Skan	(cd ${.CURDIR}/../sys/i386/conf; config GENERIC)
240169695Skan	(cd ${.CURDIR}/../sys/compile/GENERIC; ${MAKE} depend; ${MAKE} all; \
241169695Skan	    install -c -o ${BINOWN} -g ${BINGRP} -m 755 kernel \
242169695Skan	        ${DESTDIR}/kernel.GENERIC)
243169695Skan
244169695Skankcopy-floppy:
245169695Skan	echo y | fdformat ${FLOPPY}
246169695Skan	disklabel -w -r -B -b ${DESTDIR}/usr/mdec/fdboot \
247169695Skan		-s ${DESTDIR}/usr/mdec/bootfd ${FLOPPY} ${FLOPPY_TYPE}
248169695Skan	newfs -b 4096 -c 80 -f 512 -i 8192 -m 0 -o space \
249169695Skan		r${FLOPPY} ${FLOPPY_TYPE}
250169695Skan	mount /dev/${FLOPPY} ${MOUNT}
251169695Skan	chown ${BINOWN}.${BINGRP} ${MOUNT}/.
252169695Skan	chmod 755 ${MOUNT}/.
253169695Skan	(cd ${DESTDIR}/; \
254169695Skan	    ls -d ${KC_DIRS} | cpio -pdamuv ${MOUNT})
255169695Skan	${MAKEDEVS}
256169695Skan	(cd ${DESTDIR}/; \
257169695Skan	    ls ${KC_FILES} | cpio -pdamuv ${MOUNT})
258169695Skan	install -c -o ${BINOWN} -g ${BINGRP} -m 755 \
259169695Skan	    ${.CURDIR}/etc.i386/kc.profile ${MOUNT}/etc/rc
260169695Skan	install -c -o ${BINOWN} -g ${BINGRP} -m 755 \
261169695Skan	    kcopy ${MOUNT}/bin/kcopy
262169695Skan	(cd ${MOUNT}/; \
263169695Skan	    for i in ${KC_LINKS}; do \
264169695Skan		ln bin/kcopy $$i; \
265169695Skan	    done)
266169695Skan
267169695Skankcopy.flp:
268169695Skan	(cd ${.CURDIR}; ${MAKE} kcopy-floppy)
269169695Skan	(cd ${.CURDIR}/../sys/compile/GENERIC; \
270169695Skan	    install -c -o ${BINOWN} -g ${BINGRP} -m 755 kernel ${MOUNT}/)
271169695Skan	df -ik ${MOUNT}
272	# XXX umount is returning 1 for some reason :-(
273	-umount /dev/${FLOPPY}
274	fsck /dev/r${FLOPPY}
275	dd if=/dev/r${FLOPPY} of=${RELEASEDIR}/floppies/kcopy.flp \
276		bs=${FLOPPY_BS} count=${FLOPPY_TRACKS}
277	gzip --no-name -9 -c ${RELEASEDIR}/floppies/kcopy.flp \
278		>${RELEASEDIR}/floppies/kcopy.flp.gz &
279
280cdins-floppy:
281	(cd ${.CURDIR}; ${MAKE} kcopy-floppy)
282	(cd ${DESTDIR}/; \
283	    ls -d ${CD_DIRS} | cpio -pdamuv ${MOUNT})
284	(cd ${MOUNT}/usr; \
285	    ln -s /cdrom/filesys/usr/libexec libexec; \
286	    ln -s /cdrom/filesys/usr/lib lib)
287	mkdir ${MOUNT}/cdrom
288	chown ${BINOWN}.${BINGRP} ${MOUNT}/cdrom
289	chmod 755 ${MOUNT}/cdrom
290	#install -c -o ${BINOWN} -g ${BINGRP} -m 755 \
291	#    ${.CURDIR}/etc.i386/cdinst1.profile ${MOUNT}/.profile
292	install -c -o ${BINOWN} -g ${BINGRP} -m 755 \
293	    ${.CURDIR}/etc.i386/cdinst1.install ${MOUNT}/install
294	ln ${MOUNT}/install ${MOUNT}/etc/rc
295	
296cdins.flp:
297	(cd ${.CURDIR}; ${MAKE} kcopy-floppy)
298	(cd ${.CURDIR}/../sys/compile/GENERIC; \
299	    install -c -o ${BINOWN} -g ${BINGRP} -m 755 kernel ${MOUNT}/)
300	df -ik ${MOUNT}
301	# XXX umount is returning 1 for some reason :-(
302	-umount /dev/${FLOPPY}
303	fsck /dev/r${FLOPPY}
304	dd if=/dev/r${FLOPPY} of=${RELEASEDIR}/floppies/cdins.flp \
305		bs=${FLOPPY_BS} count=${FLOPPY_TRACKS}
306	gzip --no-name -9 -c ${RELEASEDIR}/floppies/cdins.flp \
307		>${RELEASEDIR}/floppies/cdins.flp.gz &
308
309filesyst.flp:
310	echo y | fdformat ${FLOPPY}
311	disklabel -w -r -B -b ${DESTDIR}/usr/mdec/fdboot \
312		-s ${DESTDIR}/usr/mdec/bootfd ${FLOPPY} ${FLOPPY_TYPE}
313	newfs -b 4096 -c 80 -f 512 -i 10240 -m 0 -o space \
314		r${FLOPPY}  ${FLOPPY_TYPE}
315	mount /dev/${FLOPPY}  ${MOUNT}
316	chown ${BINOWN}.${BINGRP} ${MOUNT}/.
317	chmod 755 ${MOUNT}/.
318	(cd ${DESTDIR}/; \
319	    ls -d ${FILESYSTEM_DIRS} | cpio -pdamuv ${MOUNT})
320	${MAKEDEVS}
321	(cd ${DESTDIR}/; \
322	    ls ${FILESYSTEM_FILES} | cpio -pdamuv ${MOUNT}; \
323	    (find ${FILESYSTEM_CPIO}; ls -d ${FILESYSTEM_CPIO_DIRS}) | \
324		cpio -H newc --block-size=16 -oav | \
325		gzip -9 >${MOUNT}/inst1.cpio.gz)
326	#install -c -o ${BINOWN} -g ${BINGRP} -m 755 \
327	#    ${.CURDIR}/etc.i386/inst1.profile ${MOUNT}/.profile
328	install -c -o ${BINOWN} -g ${BINGRP} -m 755 \
329	    ${.CURDIR}/etc.i386/inst1.install ${MOUNT}/install
330	ln ${MOUNT}/install ${MOUNT}/etc/rc
331	install -c -o ${BINOWN} -g ${BINGRP} -m 755 \
332	    filesystem ${MOUNT}/bin/filesystem
333	(cd ${MOUNT}/; \
334	    for i in ${FILESYSTEM_LINKS}; do \
335		ln bin/filesystem $$i; \
336	    done)
337	(cd ${MOUNT}/; \
338	    ls ${FILESYSTEM_FILES} >/tmp/filelist; \
339	    ls ${FILESYSTEM_LINKS} >>/tmp/filelist; \
340	    ls -d ${FILESYSTEM_DIRS} >>/tmp/filelist; \
341	    find ${FILESYSTEM_TREES} >>/tmp/filelist; \
342	    sort -u -r /tmp/filelist >filelist; \
343	    rm /tmp/filelist)
344	df -ik ${MOUNT}
345	# XXX umount is returning 1 for some reason :-(
346	-umount /dev/${FLOPPY}
347	fsck /dev/r${FLOPPY}
348	dd if=/dev/r${FLOPPY} of=${RELEASEDIR}/floppies/filesyst.flp \
349		bs=${FLOPPY_BS} count=${FLOPPY_TRACKS}
350	gzip --no-name -9 -c ${RELEASEDIR}/floppies/filesyst.flp \
351		>${RELEASEDIR}/floppies/filesyst.flp.gz &
352
353cpio.flp:
354	echo y | fdformat ${FLOPPY}
355	disklabel -w -r -B -b ${DESTDIR}/usr/mdec/fdboot \
356		-s ${DESTDIR}/usr/mdec/bootfd ${FLOPPY} ${FLOPPY_TYPE}
357	newfs -b 4096 -c 80 -f 512 -i 65536 -m 0 -o space \
358			r${FLOPPY}  ${FLOPPY_TYPE}
359	mount /dev/${FLOPPY} ${MOUNT}
360	chown ${BINOWN}.${BINGRP} ${MOUNT}/.
361	chmod 755 ${MOUNT}/.
362	(cd ${DESTDIR}/; \
363		ls ${CPIO_FILES} | cpio -pdamuv ${MOUNT})
364	#
365	# XXX This ugliness is because the default termcap file is simply too
366	# big and we don't need such a hugh one for the initial installation,
367	# yet we want the symlink in /etc to point to the right place so we
368	# need to install the smaller one in the same location.
369	#
370	mv ${DESTDIR}/usr/share/misc/termcap ${DESTDIR}/usr/share/misc/otermcap
371	install -c -o ${BINOWN} -g ${BINGRP} -m 755 \
372	    ${.CURDIR}/termcap.small ${DESTDIR}/usr/share/misc/termcap
373	(cd ${DESTDIR}/; \
374	    (find ${CPIO_CPIO}; ls -d ${CPIO_CPIO_DIRS}) | \
375		cpio -H newc --block-size=16 -oav | \
376		gzip -9 >${MOUNT}/inst2.cpio.gz)
377	# XXX cpio is done, put everything back in shape for the bindist.
378	mv ${DESTDIR}/usr/share/misc/otermcap ${DESTDIR}/usr/share/misc/termcap
379	install -c -o ${BINOWN} -g ${BINGRP} -m 755 \
380	    ${.CURDIR}/etc.i386/cpio.rc ${MOUNT}/rc
381	install -c -o ${BINOWN} -g ${BINGRP} -m 755 \
382	    ${.CURDIR}/etc.i386/cpio.install ${MOUNT}/install
383	install -c -o ${BINOWN} -g ${BINGRP} -m 755 \
384	    ${.CURDIR}/etc.i386/cpio.magic ${MOUNT}/magic
385	df -ik ${MOUNT}
386	# XXX umount is returning 1 for some reason :-(
387	-umount /dev/${FLOPPY}
388	fsck /dev/r${FLOPPY}
389	dd if=/dev/r${FLOPPY} of=${RELEASEDIR}/floppies/cpio.flp \
390		bs=${FLOPPY_BS} count=${FLOPPY_TRACKS}
391	gzip --no-name -9 -c ${RELEASEDIR}/floppies/cpio.flp \
392		>${RELEASEDIR}/floppies/cpio.flp.gz &
393
394bin-tarball:
395	(cd ${DESTDIR}; \
396		tar cf - . | \
397		${ZIPNSPLIT} ${RELEASEDIR}/tarballs/bindist/bin_tgz.)
398
399src-clean:
400	#(cd ${DESTDIR}/usr/src; make cleandist)
401	find ${DESTDIR}/usr/src -name obj | xargs -n30 rm -rf
402	rm -rf ${DESTDIR}/usr/src/sys/compile/*
403	chown -R bin:bin ${DESTDIR}/usr/src
404	chmod -R og-w ${DESTDIR}/usr/src
405
406srcbase-tarball:
407	(cd ${DESTDIR}; \
408		tar --exclude CVS -cf - usr/src/[A-Z]* | \
409		${ZIPNSPLIT} ${RELEASEDIR}/tarballs/srcdist/base.)
410
411srcbin-tarball:
412	(cd ${DESTDIR}; \
413		tar --exclude CVS -cf - usr/src/bin | \
414		${ZIPNSPLIT} ${RELEASEDIR}/tarballs/srcdist/srcbin.)
415
416srcetc-tarball:
417	(cd ${DESTDIR}; \
418		tar --exclude CVS -cf - usr/src/etc | \
419		${ZIPNSPLIT} ${RELEASEDIR}/tarballs/srcdist/etc.)
420
421srcgames-tarball:
422	(cd ${DESTDIR}; \
423		tar --exclude CVS -cf - usr/src/games | \
424		${ZIPNSPLIT} ${RELEASEDIR}/tarballs/srcdist/games.)
425
426srcgnu-tarball:
427	(cd ${DESTDIR}; \
428		tar --exclude CVS -cf - usr/src/gnu | \
429		${ZIPNSPLIT} ${RELEASEDIR}/tarballs/srcdist/gnu.)
430
431srcinclude-tarball:
432	(cd ${DESTDIR}; \
433		tar --exclude CVS -cf - usr/src/include | \
434		${ZIPNSPLIT} ${RELEASEDIR}/tarballs/srcdist/include.)
435
436srclib-tarball:
437	(cd ${DESTDIR}; \
438		tar --exclude CVS -cf - \
439		usr/src/lib | \
440		${ZIPNSPLIT} ${RELEASEDIR}/tarballs/srcdist/lib.)
441
442srclibexec-tarball:
443	(cd ${DESTDIR}; \
444		tar --exclude CVS -cf - usr/src/libexec | \
445		${ZIPNSPLIT} ${RELEASEDIR}/tarballs/srcdist/libexec.)
446
447srcrelease-tarball:
448	(cd ${DESTDIR}; \
449		tar --exclude CVS -cf - usr/src/release | \
450		${ZIPNSPLIT} ${RELEASEDIR}/tarballs/srcdist/release.)
451
452srcsbin-tarball:
453	(cd ${DESTDIR}; \
454		tar --exclude CVS -cf - usr/src/sbin | \
455		${ZIPNSPLIT} ${RELEASEDIR}/tarballs/srcdist/sbin.)
456
457srcsecure-tarball:
458	(cd ${DESTDIR}; \
459		tar --exclude CVS -cf - usr/src/secure | \
460		${ZIPNSPLIT} ${RELEASEDIR}/tarballs/secrdist/secure.)
461
462srcebones-tarball:
463	(cd ${DESTDIR}; \
464		tar --exclude CVS -cf - usr/src/eBones | \
465		${ZIPNSPLIT} ${RELEASEDIR}/tarballs/secrdist/ebones.)
466
467srckerberos-tarball:
468	(cd ${DESTDIR}; \
469		tar --exclude CVS -cf - usr/src/kerberosIV | \
470		${ZIPNSPLIT} ${RELEASEDIR}/tarballs/secrdist/kerberos.)
471
472srcshare-tarball:
473	(cd ${DESTDIR}; \
474		tar --exclude CVS -cf - usr/src/share | \
475		${ZIPNSPLIT} ${RELEASEDIR}/tarballs/srcdist/share.)
476
477srcsys-tarball:
478	(cd ${DESTDIR}; \
479		tar --exclude CVS -cf - usr/src/sys usr/src/lkm | \
480		${ZIPNSPLIT} ${RELEASEDIR}/tarballs/srcdist/sys.)
481
482srcusrbin-tarball:
483	(cd ${DESTDIR}; \
484		tar --exclude CVS -cf - usr/src/usr.bin | \
485		${ZIPNSPLIT} ${RELEASEDIR}/tarballs/srcdist/usrbin.)
486
487srcusrsbin-tarball:
488	(cd ${DESTDIR}; \
489		tar --exclude CVS -cf - usr/src/usr.sbin | \
490		${ZIPNSPLIT} ${RELEASEDIR}/tarballs/srcdist/usrsbin.)
491
492src-tarball: src-clean srcbase-tarball srcbin-tarball \
493	srcetc-tarball srcgames-tarball srcgnu-tarball srcinclude-tarball \
494	srclib-tarball srcsecure-tarball srclibexec-tarball srcsbin-tarball \
495	srcshare-tarball srcsys-tarball srcusrbin-tarball srcusrsbin-tarball \
496	srcrelease-tarball srcebones-tarball srckerberos-tarball
497
498des-tarball:
499	rm -rf ${RELEASEDIR}/tmpdes
500	mkdir ${RELEASEDIR}/tmpdes
501	for i in ${CRYPT_DIRS}; do \
502		cd ${RELEASEDIR}/tmpdes; \
503		mkdir $$i; \
504		chown ${BINOWN}.${GRPOWN} $$i; \
505		chmod 755 $$i; \
506	done
507	# This is ugly, it force installs a /usr/lib/libcrypt.a so
508	# that the other makes will be built with des.
509	#
510	(set -x ; cd ${.CURDIR}/../${DESCRYPT_LIB}; \
511		NOCRYPT=; \
512		unset NOCRYPT; \
513		DESTDIR=; export DESTDIR; \
514		${MAKE} cleandir obj depend all install; \
515		NOMAN=noman; export NOMAN; \
516		DESTDIR=${RELEASEDIR}/tmpdes; export DESTDIR; \
517		${MAKE} cleandir obj depend all install)
518	for i in ${CRYPT_SRCS}; do \
519		NOCRYPT=; \
520		unset NOCRYPT; \
521		DESTDIR=${RELEASEDIR}/tmpdes; export DESTDIR; \
522		NOMAN=noman; export NOMAN; \
523		cd ${.CURDIR}/../$$i; \
524		${MAKE} cleandir obj depend all install; \
525	done
526	(cd ${RELEASEDIR}/tmpdes; \
527		tar cf - . | \
528			${ZIPNSPLIT} ${RELEASEDIR}/tarballs/secrdist/des_tgz.)
529	rm -rf ${RELEASEDIR}/tmpdes
530
531distrib-dirs:
532	#
533	# XXX The mtree commands need to be redone so that a status of 0 or
534	# 2 is okay, but a status of 1 causes the make to abort.
535	#
536	# XXX This will currently error out if you have a procfs mounted,
537	# unmount it to get past this problem until procfs is fixed.
538	#
539	mtree -deU -f ${.CURDIR}/mtree/BSD.root.dist -p ${DESTDIR}/
540	mtree -deU -f ${.CURDIR}/mtree/BSD.var.dist -p ${DESTDIR}/var
541	mtree -deU -f ${.CURDIR}/mtree/BSD.usr.dist -p ${DESTDIR}/usr
542.if defined(MAKE_LOCAL)
543	mtree -deU -f ${.CURDIR}/mtree/BSD.local.dist -p ${DESTDIR}/usr/local
544.endif
545	cd ${DESTDIR}/; rm -f ${DESTDIR}/sys; ln -s usr/src/sys sys
546
547floppies:	kcopy.flp filesyst.flp cpio.flp cdins.flp
548
549release:	release-dirs distribution crunch extract kcopy-kernels \
550		floppies bin-tarball des-tarball clean
551
552release-dirs:
553	chflags -R noschg ${RELEASEDIR}/
554	rm -rf ${RELEASEDIR}/*
555	mtree -d -U -f ${.CURDIR}/mtree/BSD.release.dist -p ${RELEASEDIR}
556
557.include <bsd.prog.mk>
558