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