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