Makefile revision 6744
1#	from: @(#)Makefile	5.11 (Berkeley) 5/21/91
2#	$Id: Makefile,v 1.104 1995/02/25 21:01:48 phk Exp $
3
4# disktab may be wrong -- hcx9 is a tahoe, but gets its own.
5# -rw-r--r--
6BINOWN= root
7BINGRP= wheel
8BIN1=   aliases csh.cshrc csh.login csh.logout dm.conf \
9	ftpusers gettytab group hosts host.conf hosts.equiv hosts.lpd \
10	inetd.conf login.access motd netstart \
11	networks phones printcap profile protocols rc rc.local rc.serial \
12	remote security services shells \
13	syslog.conf ttys etc.${MACHINE}/disktab rpc make.conf \
14	${.CURDIR}/../gnu/usr.bin/man/manpath/manpath.config \
15	${.CURDIR}/../usr.bin/mail/misc/mail.rc
16
17# -rw-rw-rw-
18BIN2=	motd
19
20# -rwxr-xr-x root.wheel, for the new cron root.wheel
21BIN3=	daily weekly monthly
22
23CLEANFILES+=	*.c *.o *.lo
24CLEANFILES+=	filesystem filesystem.cache filesystem.mk
25CLEANFILES+=	kcopy kcopy.cache kcopy.mk
26
27MAKEDEVS=	(cd ${MOUNT}/dev; \
28		    sh ${DESTDIR}/dev/MAKEDEV std; \
29		    rm -rf fd; \
30		    sh ${DESTDIR}/dev/MAKEDEV fd0 fd1; \
31		    rm -rf fd0?* rfd0?* fd1?* rfd1?*; \
32		    sh ${DESTDIR}/dev/MAKEDEV wd0 wd1 sd0 sd1 cd0 mcd0 mcd1; \
33		    rm -rf *wd[01][ijklm] rmcd*)
34
35ZIPNSPLIT=	gzip --no-name -9 -c | split -b 240640 -
36
37MTREE=	BSD.local.dist BSD.root.dist BSD.usr.dist BSD.var.dist
38NAMEDB=	localhost.rev named.boot root.cache
39PPPCNF= ppp.conf.filter.sample ppp.conf.iij ppp.conf.sample \
40	ppp.linkup.sample ppp.secret.sample
41PCS=	pcs750.bin
42WCS1=	wcs fppwcs poc poc1 poc2 fppoc
43WCS2=	fpevent fppwcs fppwcs_dual hdcwcs load_diags start_fpp wcs wcs_dual
44
45# Special top level files for FreeBSD
46COPYRIGHT=	COPYRIGHT
47FREEBSD=	
48FREEBSD+=	${COPYRIGHT}
49#
50# Floppy drive name, mount point, type and parameters for building Floppies
51FLOPPY?=	fd0
52MOUNT?=		/mnt
53FLOPPY_TYPE?=	fd1440
54FLOPPY_BS?=	18b
55FLOPPY_TRACKS?=	160
56#
57MDEC=		usr/mdec/bootfd usr/mdec/fdboot
58MDEC+=		usr/mdec/bootsd usr/mdec/sdboot
59MDEC+=		usr/mdec/bootwd usr/mdec/wdboot
60#
61KC_DIRS=	bin dev mnt sbin etc
62KC_FILES=	${COPYRIGHT}
63KC_LINKS=	bin/[ bin/cp bin/echo bin/sh bin/test
64KC_LINKS+=	sbin/fsck sbin/halt sbin/init
65KC_LINKS+=	sbin/mount sbin/mount_cd9660
66KC_LINKS+=	sbin/umount
67#
68CD_DIRS=	etc usr
69#
70FILESYSTEM_DIRS=	bin dev etc mnt proc sbin usr usr/bin usr/mdec usr/sbin
71FILESYSTEM_TREES=	dev
72FILESYSTEM_FILES=	${COPYRIGHT}
73FILESYSTEM_FILES+=	dev/MAKEDEV
74FILESYSTEM_FILES+=	etc/group
75FILESYSTEM_FILES+=	etc/master.passwd etc/passwd etc/pwd.db
76FILESYSTEM_FILES+=	${MDEC}
77FILESYSTEM_LINKS=	bin/[ bin/expr bin/ls bin/mkdir bin/rm
78FILESYSTEM_LINKS+=	bin/sh bin/sync bin/test
79FILESYSTEM_LINKS+=	sbin/disklabel sbin/fdisk sbin/halt sbin/init
80FILESYSTEM_LINKS+=	sbin/mount
81FILESYSTEM_LINKS+=	sbin/newfs
82FILESYSTEM_LINKS+=	sbin/umount
83FILESYSTEM_LINKS+=	usr/bin/cpio
84FILESYSTEM_LINKS+=	usr/bin/gunzip usr/bin/gzcat usr/bin/gzip usr/bin/zcat
85FILESYSTEM_LINKS+=	usr/sbin/bad144
86FILESYSTEM_CPIO=	.profile
87FILESYSTEM_CPIO+=	root/.profile
88FILESYSTEM_CPIO+=	bin/[
89FILESYSTEM_CPIO+=	bin/chmod bin/cat bin/cp bin/df bin/expr bin/ls
90FILESYSTEM_CPIO+=	bin/ln bin/mkdir bin/mv bin/rm bin/sync
91FILESYSTEM_CPIO+=	bin/test
92FILESYSTEM_CPIO+=	etc/spwd.db
93FILESYSTEM_CPIO+=	sbin/disklabel sbin/fdisk sbin/halt sbin/init
94FILESYSTEM_CPIO+=	sbin/mount
95FILESYSTEM_CPIO+=	sbin/newfs
96FILESYSTEM_CPIO+=	sbin/umount
97FILESYSTEM_CPIO_DIRS=	root
98
99CPIO_FILES=	${COPYRIGHT}
100CPIO_CPIO=	bin/dd bin/ps bin/pwd bin/stty
101CPIO_CPIO+=	etc/protocols etc/remote etc/services
102CPIO_CPIO+=	etc/termcap
103CPIO_CPIO+=	sbin/dmesg
104CPIO_CPIO+=	sbin/ifconfig sbin/fsck sbin/mknod sbin/mount_cd9660
105CPIO_CPIO+=	sbin/mount_procfs
106CPIO_CPIO+=	sbin/reboot sbin/route sbin/slattach
107CPIO_CPIO+=	usr/bin/awk usr/bin/chgrp usr/bin/cpio usr/bin/ex usr/bin/ftp
108CPIO_CPIO+=	usr/bin/gunzip usr/bin/gzcat usr/bin/gzip
109CPIO_CPIO+=	usr/bin/more usr/bin/tar usr/bin/tip
110CPIO_CPIO+=	usr/bin/vi usr/bin/view usr/bin/zcat
111CPIO_CPIO+=	usr/lib/libc.so.*
112CPIO_CPIO+=	usr/lib/libcurses.so.*
113CPIO_CPIO+=	usr/lib/libgcc.so.*
114CPIO_CPIO+=	usr/lib/libm.so.*
115CPIO_CPIO+=	usr/lib/libtermcap.so.*
116CPIO_CPIO+=	usr/lib/libutil.so.*
117CPIO_CPIO+=	usr/libexec/ld.so
118CPIO_CPIO+=	usr/sbin/bad144 usr/sbin/chown
119CPIO_CPIO+=	usr/share/misc/termcap
120CPIO_CPIO_DIRS=		tmp usr/lib usr/libexec usr/share usr/share/misc
121CPIO_CPIO_DIRS+=	var var/tmp var/run var/spool var/spool/lock
122
123SCRYPT_LIB=	lib/libcrypt
124DESCRYPT_LIB=	secure/lib/libcrypt
125CRYPT_SRCS=	bin/ed bin/rcp
126CRYPT_SRCS+=	sbin/init
127.if !defined(NOCRYPT)
128CRYPT_SRCS+=	secure
129.endif
130CRYPT_DIRS=	bin sbin usr usr/bin usr/lib
131
132LATIN1LINKS = \
133	da_DK de_AT de_CH de_DE en_AU en_CA en_GB en_US es_ES fi_FI \
134	fr_BE fr_CA fr_CH fr_FR is_IS it_CH it_IT nl_BE nl_NL no_NO \
135	pt_PT sv_SE
136
137all depend etc install lint:
138
139scrypt:
140	rm -f ${LIBCRYPT};
141	(cd ${.CURDIR}/../${SCRYPT_LIB}; \
142		${MAKE} cleandir obj depend all install)
143	for i in ${CRYPT_SRCS}; do \
144		cd ${.CURDIR}/../$$i; \
145		${MAKE} cleandir obj depend all; \
146	done
147
148descrypt:
149	rm -f ${LIBCRYPT};
150	(cd ${.CURDIR}/../${DESCRYPT_LIB}; \
151		${MAKE} cleandir obj depend all install)
152	for i in ${CRYPT_SRCS}; do \
153		cd ${.CURDIR}/../$$i; \
154		${MAKE} cleandir obj depend all; \
155	done
156
157distribute:
158	cd ${.CURDIR} ; ${MAKE} distribution DESTDIR=${DISTDIR}/bin
159
160distribution:
161	(cd ${.CURDIR}; \
162	install -c -o ${BINOWN} -g ${BINGRP} -m 644 ${BIN1} ${DESTDIR}/etc; \
163	install -c -o ${BINOWN} -g ${BINGRP} -m 666 ${BIN2} ${DESTDIR}/etc; \
164	install -c -o ${BINOWN} -g ${BINGRP} -m 755 ${BIN3} ${DESTDIR}/etc; \
165	install -c -o ${BINOWN} -g ${BINGRP} -m 644 crontab ${DESTDIR}/etc; \
166	install -c -o ${BINOWN} -g ${BINGRP} -m 600 /dev/null \
167	    ${DESTDIR}/var/cron/log; \
168	install -c -o ${BINOWN} -g ${BINGRP} -m 600 \
169	    master.passwd ${DESTDIR}/etc; \
170	pwd_mkdb -p -d ${DESTDIR}/etc ${DESTDIR}/etc/master.passwd; \
171	install -c -o ${BINOWN} -g ${BINGRP} -m 555 \
172	     MAKEDEV.local etc.${MACHINE}/MAKEDEV ${DESTDIR}/dev )
173	(cd ${DESTDIR}/dev; sh MAKEDEV all) ;
174	(cd ${.CURDIR}/root; \
175		install -c -o ${BINOWN} -g ${BINGRP} -m 644 dot.cshrc \
176		    ${DESTDIR}/root/.cshrc; \
177		install -c -o ${BINOWN} -g ${BINGRP} -m 644 dot.klogin \
178		    ${DESTDIR}/root/.klogin; \
179		install -c -o ${BINOWN} -g ${BINGRP} -m 644 dot.login \
180		    ${DESTDIR}/root/.login; \
181		install -c -o ${BINOWN} -g ${BINGRP} -m 644 dot.profile \
182		    ${DESTDIR}/root/.profile; \
183		rm -f ${DESTDIR}/.cshrc ${DESTDIR}/.profile; \
184		ln ${DESTDIR}/root/.cshrc ${DESTDIR}/.cshrc; \
185		ln ${DESTDIR}/root/.profile ${DESTDIR}/.profile)
186	cd ${.CURDIR}/mtree; install -c -o ${BINOWN} -g ${BINGRP} -m 444 \
187	    ${MTREE} ${DESTDIR}/etc/mtree
188	cd ${.CURDIR}/namedb; install -c -o ${BINOWN} -g ${BINGRP} -m 644 \
189	    ${NAMEDB} ${DESTDIR}/etc/namedb
190	cd ${.CURDIR}/ppp; install -c -o ${BINOWN} -g ${BINGRP} -m 644 \
191	    ${PPPCNF} ${DESTDIR}/etc/ppp
192	install -c -o ${BINOWN} -g operator -m 664 /dev/null \
193	    ${DESTDIR}/etc/dumpdates
194	install -c -o nobody -g ${BINGRP} -m 664 /dev/null \
195	    ${DESTDIR}/var/db/locate.database
196	install -c -o ${BINOWN} -g ${BINGRP} -m 664 /dev/null \
197	    ${DESTDIR}/var/log/lpd-errs
198	install -c -o ${BINOWN} -g ${BINGRP} -m 664 /dev/null \
199	    ${DESTDIR}/var/log/maillog
200	install -c -o ${BINOWN} -g ${BINGRP} -m 664 /dev/null \
201	    ${DESTDIR}/var/log/lastlog
202	install -c -o ${BINOWN} -g ${BINGRP} -m 664 /dev/null \
203	    ${DESTDIR}/var/log/messages
204	install -c -o ${BINOWN} -g ${BINGRP} -m 664 /dev/null \
205	    ${DESTDIR}/var/log/wtmp
206	install -c -o ${BINOWN} -g ${BINGRP} -m 664 /dev/null \
207	    ${DESTDIR}/var/run/utmp
208	install -c -o ${BINOWN} -g ${BINGRP} -m 664 ${.CURDIR}/minfree \
209	    ${DESTDIR}/var/crash
210	(cd ${.CURDIR}/etc.${MACHINE}; install -c -o ${BINOWN} -g ${BINGRP} \
211	    -m 444 fstab.* ${DESTDIR}/etc)
212	(cd ${.CURDIR}/../usr.sbin/sendmail/src; \
213	    ${MAKE} obj; \
214	    ${MAKE} all; \
215	    ${MAKE} install; \
216	 cd ../cf/cf; \
217	    ${MAKE} obj; \
218	    ${MAKE} freefall.cf; \
219	    install -o ${BINOWN} -g ${BINGRP} -m 644 obj/freefall.cf \
220	        ${DESTDIR}/etc/sendmail.cf)
221	(cd ${.CURDIR}/..; \
222	    install -c -o ${BINOWN} -g ${BINGRP} -m 444 ${FREEBSD} ${DESTDIR}/)
223	(cd ${.CURDIR}/../share/man; ${MAKE} makedb; )
224
225crunch:
226	crunchgen ${.CURDIR}/../usr.sbin/crunch/examples/kcopy.conf
227	${MAKE} -f kcopy.mk objs exe
228	crunchgen ${.CURDIR}/../usr.sbin/crunch/examples/filesystem.conf
229	${MAKE} -f filesystem.mk objs exe
230
231extract:
232	install -c -o ${BINOWN} -g ${BINGRP} -m 555 \
233	    ${.CURDIR}/etc.i386/EXTRACT_bin.sh \
234	    ${RELEASEDIR}/tarballs/bin/EXTRACT.sh
235	install -c -o ${BINOWN} -g ${BINGRP} -m 555 \
236	    ${.CURDIR}/etc.i386/EXTRACT_src.sh \
237	    ${RELEASEDIR}/tarballs/bin/EXTRACT.sh
238	install -c -o ${BINOWN} -g ${BINGRP} -m 555 \
239	    ${.CURDIR}/etc.i386/EXTRACT_secr.sh \
240	    ${RELEASEDIR}/tarballs/bin/EXTRACT.sh
241
242hcx9-distribution:
243	(cd ${.CURDIR}/etc.tahoe; install -c -o ${BINOWN} -g ${BINGRP} \
244	    -m 444 ${WCS2} ${DESTDIR}/)
245
246kcopy-kernels: ${.CURDIR}/../sys/i386/conf/GENERIC
247	(cd ${.CURDIR}/../sys/compile; rm -rf GENERIC)
248	(cd ${.CURDIR}/../sys/i386/conf; config GENERIC)
249	(cd ${.CURDIR}/../sys/compile/GENERIC; ${MAKE} depend; ${MAKE} all; \
250	    install -c -o ${BINOWN} -g ${BINGRP} -m 755 kernel \
251	        ${DESTDIR}/kernel.GENERIC)
252
253kcopy-floppy:
254	echo y | fdformat ${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}/etc/rc
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.flp:
277	(cd ${.CURDIR}; ${MAKE} kcopy-floppy)
278	(cd ${.CURDIR}/../sys/compile/GENERIC; \
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.flp \
285		bs=${FLOPPY_BS} count=${FLOPPY_TRACKS}
286	gzip --no-name -9 -c ${RELEASEDIR}/floppies/kcopy.flp \
287		>${RELEASEDIR}/floppies/kcopy.flp.gz &
288
289cdins-floppy:
290	(cd ${.CURDIR}; ${MAKE} kcopy-floppy)
291	(cd ${DESTDIR}/; \
292	    ls -d ${CD_DIRS} | cpio -pdamuv ${MOUNT})
293	(cd ${MOUNT}/usr; \
294	    ln -s /cdrom/filesys/usr/libexec libexec; \
295	    ln -s /cdrom/filesys/usr/lib lib)
296	mkdir ${MOUNT}/cdrom
297	chown ${BINOWN}.${BINGRP} ${MOUNT}/cdrom
298	chmod 755 ${MOUNT}/cdrom
299	#install -c -o ${BINOWN} -g ${BINGRP} -m 755 \
300	#    ${.CURDIR}/etc.i386/cdinst1.profile ${MOUNT}/.profile
301	install -c -o ${BINOWN} -g ${BINGRP} -m 755 \
302	    ${.CURDIR}/etc.i386/cdinst1.install ${MOUNT}/install
303	ln ${MOUNT}/install ${MOUNT}/etc/rc
304
305cdins.flp:
306	(cd ${.CURDIR}; ${MAKE} kcopy-floppy)
307	(cd ${.CURDIR}/../sys/compile/GENERIC; \
308	    install -c -o ${BINOWN} -g ${BINGRP} -m 755 kernel ${MOUNT}/)
309	df -ik ${MOUNT}
310	# XXX umount is returning 1 for some reason :-(
311	-umount /dev/${FLOPPY}
312	fsck /dev/r${FLOPPY}
313	dd if=/dev/r${FLOPPY} of=${RELEASEDIR}/floppies/cdins.flp \
314		bs=${FLOPPY_BS} count=${FLOPPY_TRACKS}
315	gzip --no-name -9 -c ${RELEASEDIR}/floppies/cdins.flp \
316		>${RELEASEDIR}/floppies/cdins.flp.gz &
317
318filesyst.flp:
319	echo y | fdformat ${FLOPPY}
320	disklabel -w -r -B -b ${DESTDIR}/usr/mdec/fdboot \
321		-s ${DESTDIR}/usr/mdec/bootfd ${FLOPPY} ${FLOPPY_TYPE}
322	newfs -b 4096 -c 80 -f 512 -i 10240 -m 0 -o space \
323		r${FLOPPY}  ${FLOPPY_TYPE}
324	mount /dev/${FLOPPY}  ${MOUNT}
325	chown ${BINOWN}.${BINGRP} ${MOUNT}/.
326	chmod 755 ${MOUNT}/.
327	(cd ${DESTDIR}/; \
328	    ls -d ${FILESYSTEM_DIRS} | cpio -pdamuv ${MOUNT})
329	${MAKEDEVS}
330	(cd ${DESTDIR}/; \
331	    ls ${FILESYSTEM_FILES} | cpio -pdamuv ${MOUNT}; \
332	    (find ${FILESYSTEM_CPIO}; ls -d ${FILESYSTEM_CPIO_DIRS}) | \
333		cpio -H newc --block-size=16 -oav | \
334		gzip -9 >${MOUNT}/inst1.cpio.gz)
335	#install -c -o ${BINOWN} -g ${BINGRP} -m 755 \
336	#    ${.CURDIR}/etc.i386/inst1.profile ${MOUNT}/.profile
337	install -c -o ${BINOWN} -g ${BINGRP} -m 755 \
338	    ${.CURDIR}/etc.i386/inst1.install ${MOUNT}/install
339	ln ${MOUNT}/install ${MOUNT}/etc/rc
340	install -c -o ${BINOWN} -g ${BINGRP} -m 755 \
341	    filesystem ${MOUNT}/bin/filesystem
342	(cd ${MOUNT}/; \
343	    for i in ${FILESYSTEM_LINKS}; do \
344		ln bin/filesystem $$i; \
345	    done)
346	(cd ${MOUNT}/; \
347	    ls ${FILESYSTEM_FILES} >/tmp/filelist; \
348	    ls ${FILESYSTEM_LINKS} >>/tmp/filelist; \
349	    ls -d ${FILESYSTEM_DIRS} >>/tmp/filelist; \
350	    find ${FILESYSTEM_TREES} >>/tmp/filelist; \
351	    sort -u -r /tmp/filelist >filelist; \
352	    rm /tmp/filelist)
353	df -ik ${MOUNT}
354	# XXX umount is returning 1 for some reason :-(
355	-umount /dev/${FLOPPY}
356	fsck /dev/r${FLOPPY}
357	dd if=/dev/r${FLOPPY} of=${RELEASEDIR}/floppies/filesyst.flp \
358		bs=${FLOPPY_BS} count=${FLOPPY_TRACKS}
359	gzip --no-name -9 -c ${RELEASEDIR}/floppies/filesyst.flp \
360		>${RELEASEDIR}/floppies/filesyst.flp.gz &
361
362cpio.flp:
363	echo y | fdformat ${FLOPPY}
364	disklabel -w -r -B -b ${DESTDIR}/usr/mdec/fdboot \
365		-s ${DESTDIR}/usr/mdec/bootfd ${FLOPPY} ${FLOPPY_TYPE}
366	newfs -b 4096 -c 80 -f 512 -i 65536 -m 0 -o space \
367			r${FLOPPY}  ${FLOPPY_TYPE}
368	mount /dev/${FLOPPY} ${MOUNT}
369	chown ${BINOWN}.${BINGRP} ${MOUNT}/.
370	chmod 755 ${MOUNT}/.
371	(cd ${DESTDIR}/; \
372		ls ${CPIO_FILES} | cpio -pdamuv ${MOUNT})
373	#
374	# XXX This ugliness is because the default termcap file is simply too
375	# big and we don't need such a hugh one for the initial installation,
376	# yet we want the symlink in /etc to point to the right place so we
377	# need to install the smaller one in the same location.
378	#
379	mv ${DESTDIR}/usr/share/misc/termcap ${DESTDIR}/usr/share/misc/otermcap
380	install -c -o ${BINOWN} -g ${BINGRP} -m 755 \
381	    ${.CURDIR}/termcap.small ${DESTDIR}/usr/share/misc/termcap
382	(cd ${DESTDIR}/; \
383	    (find ${CPIO_CPIO}; ls -d ${CPIO_CPIO_DIRS}) | \
384		cpio -H newc --block-size=16 -oav | \
385		gzip -9 >${MOUNT}/inst2.cpio.gz)
386	# XXX cpio is done, put everything back in shape for the bindist.
387	mv ${DESTDIR}/usr/share/misc/otermcap ${DESTDIR}/usr/share/misc/termcap
388	install -c -o ${BINOWN} -g ${BINGRP} -m 755 \
389	    ${.CURDIR}/etc.i386/cpio.rc ${MOUNT}/rc
390	install -c -o ${BINOWN} -g ${BINGRP} -m 755 \
391	    ${.CURDIR}/etc.i386/cpio.install ${MOUNT}/install
392	install -c -o ${BINOWN} -g ${BINGRP} -m 755 \
393	    ${.CURDIR}/etc.i386/cpio.magic ${MOUNT}/magic
394	df -ik ${MOUNT}
395	# XXX umount is returning 1 for some reason :-(
396	-umount /dev/${FLOPPY}
397	fsck /dev/r${FLOPPY}
398	dd if=/dev/r${FLOPPY} of=${RELEASEDIR}/floppies/cpio.flp \
399		bs=${FLOPPY_BS} count=${FLOPPY_TRACKS}
400	gzip --no-name -9 -c ${RELEASEDIR}/floppies/cpio.flp \
401		>${RELEASEDIR}/floppies/cpio.flp.gz &
402
403bin-tarball:
404	(cd ${DESTDIR}; \
405		mkdir -p ${RELEASEDIR}/tarballs/bin; \
406		tar cf - . | \
407		${ZIPNSPLIT} ${RELEASEDIR}/tarballs/bin/bin.)
408
409des-tarball:
410	rm -rf ${RELEASEDIR}/tmpdes
411	mkdir ${RELEASEDIR}/tmpdes
412	for i in ${CRYPT_DIRS}; do \
413		cd ${RELEASEDIR}/tmpdes; \
414		mkdir $$i; \
415		chown ${BINOWN}.${GRPOWN} $$i; \
416		chmod 755 $$i; \
417	done
418	# This is ugly, it force installs a /usr/lib/libcrypt.a so
419	# that the other makes will be built with des.
420	#
421	(set -x ; cd ${.CURDIR}/../${DESCRYPT_LIB}; \
422		NOCRYPT=; \
423		unset NOCRYPT; \
424		DESTDIR=; export DESTDIR; \
425		${MAKE} cleandir obj depend all install; \
426		NOMAN=noman; export NOMAN; \
427		DESTDIR=${RELEASEDIR}/tmpdes; export DESTDIR; \
428		${MAKE} cleandir obj depend all install)
429	for i in ${CRYPT_SRCS}; do \
430		NOCRYPT=; \
431		unset NOCRYPT; \
432		DESTDIR=${RELEASEDIR}/tmpdes; export DESTDIR; \
433		NOMAN=noman; export NOMAN; \
434		cd ${.CURDIR}/../$$i; \
435		${MAKE} cleandir obj depend all install; \
436	done
437	(cd ${RELEASEDIR}/tmpdes; \
438		tar cf - . | \
439			${ZIPNSPLIT} ${RELEASEDIR}/tarballs/secure/des_tgz.)
440	rm -rf ${RELEASEDIR}/tmpdes
441
442distrib-dirs:
443	#
444	# XXX The mtree commands need to be redone so that a status of 0 or
445	# 2 is okay, but a status of 1 causes the make to abort.
446	#
447	# XXX This will currently error out if you have a procfs mounted,
448	# unmount it to get past this problem until procfs is fixed.
449	#
450	mtree -deU -f ${.CURDIR}/mtree/BSD.root.dist -p ${DESTDIR}/
451	mtree -deU -f ${.CURDIR}/mtree/BSD.var.dist -p ${DESTDIR}/var
452	mtree -deU -f ${.CURDIR}/mtree/BSD.usr.dist -p ${DESTDIR}/usr
453	cd ${DESTDIR}/usr/share/locale; \
454	for l in ${LATIN1LINKS} ; do \
455		rm -f $$l.ISO8859-1; \
456		ln -s lt_LN.ISO8859-1 $$l.ISO8859-1; \
457		chown ${BINOWN}.${BINGRP} $$l.ISO8859-1; \
458		chmod 755 $$l.ISO8859-1; \
459	done
460.if defined(MAKE_LOCAL)
461	mtree -deU -f ${.CURDIR}/mtree/BSD.local.dist -p ${DESTDIR}/usr/local
462.endif
463	cd ${DESTDIR}/; rm -f ${DESTDIR}/sys; ln -s usr/src/sys sys
464
465floppies:	kcopy.flp filesyst.flp cpio.flp cdins.flp
466
467release:	release-dirs distribution crunch extract kcopy-kernels \
468		floppies bin-tarball des-tarball clean
469
470release-dirs:
471	chflags -R noschg ${RELEASEDIR}/
472	rm -rf ${RELEASEDIR}/*
473	mtree -d -U -f ${.CURDIR}/mtree/BSD.release.dist -p ${RELEASEDIR}
474
475.include <bsd.prog.mk>
476